|
|
#1 (permalink) |
|
Üyelik Tarihi: 27.01.2007
Yer: -
Mesaj: 112
|
Çoklu veri kaydı sorunu (ASP, MySql)
Merhabalar, Aşağıdaki kod ile çoklu seçimle gelen sayfadan verileri girdiriyorum. Ancak soru işareti ile belirttiğim opsiyonID'ye karşılık gelen değeri bir türlü yazdıramıyorum. Yaptığım şey kısaca şu: daha önce tanımladığım opsiyon başlıkları ( opsiyon tablosu ) ve alt seçeneklerini (kalem tablosu) başka bir tabloya aktarmak (urun_opsiyon) ve ürün eklerken bu urun_opsiyon tablosundan verileri çoklu seçimle çekmek. Ancak kalem tablosundan kalemID yi çoklu seçimle çekerken kalemID lerin bağlı oldukları ana başlıkların opsiyonID'lerini urun_opsiyon tablosuna yazdıramıyorum. Ya ilk id yazıyor ya son id. Bu sorunu nasıl aşabilirim? opsiyon tablosu: opsiyonID baslik kalem tablosu (opsiyonların basliklarının altına eklenen seceneklerin tutulduğu tablo) kalemID opsiyonID (bu değeri çektirmek istiyorum ancak kalem ID yi çektiğim halde bu değeri çekemiyorum) ad urun_opsiyon tablosu: (urun tablosuna çağrılmak için opsiyon ve kalemlerin birlestiği tablo ) opsiyon_bagID kalemID urunID opsiyonID Kod:
oX = split(Request.form("oKalem"),",")
for each ekle in oX
kayit=("INSERT into urun_opsiyon " &_
"( " &_
"urunID, " &_
"opsiyonID, " &_
"kalemID " &_
") VALUES (" &_
"'"& session("uID") &"', " &_
"'"& ?? &"', " &_
"'"& ekle &"' " &_
");")
set rs= bag.execute(kayit)
Next
|
|
|
|
|
|
#2 (permalink) |
|
Üyelik Tarihi: 30.11.2000
Yer: Bursa
Yaş: 20
Mesaj: 809
|
Re: Çoklu veri kaydı sorunu (ASP, MySql)
ASP bilgim olmadığı için kodları yazamayacağım lakin mantık şu şekilde:
INSERT sorgusundan önce kalem için sorgulama yapmak lazım, şöyle ki: Kod:
sorgu = SELECT opsiyonID FROM kalemler WHERE kalemID = kalem
__________________
muarifer » ruby, rails, postgresql, yazılım geliştirimi falan... |
|
|
|
|
|
#3 (permalink) |
|
Üyelik Tarihi: 27.01.2007
Yer: -
Mesaj: 112
|
Re: Çoklu veri kaydı sorunu (ASP, MySql)
Bunları denedim daha önce ya ilk kayıt ya da son kayıt ekleniyor, kalem tablosundaki opsiyonID karşılığı eklenmiyor
Normalde farklı tablolardan kayıt yaptırıyorum orada sorunum yok, ancak for each döngüsüne soktuğumda urun_opsiyon tablosuna ekleme yaparken opsiyon ve kalem tablolarından veri çekiyorum, bu opsiyon ve kalem tabloları birbirine bağlantılı olduğu için sorun burada çıkıyor. Mesaj divemaster tarafından 07.08.2007 (19:59) yeniden düzenlendi.. |
|
|
|
|
|
#4 (permalink) |
|
Üyelik Tarihi: 27.01.2007
Yer: -
Mesaj: 112
|
Re: Çoklu veri kaydı sorunu (ASP, MySql)
Bu konuyu pek bilen yok sanırım. Neyse, input değerinde ID leri l-l ile ayırıp kayıt esnasında ayrıca bir splitten geçirdikten sonra sorun çözüldü.
Bu tür bir uygulamada takılabilecekler için yapılışını aşağıya ekliyorum Kullanıcı tarafı: Kod:
<input type="checkbox" name="oKalem" value="<%=rs("opsiyonID")%>l-l<%=rs("kalemID")%>" />
Kod:
oX = split(Request.form("oKalem"),",")
for each ekle in oX
verigir = split(ekle,"l-l")
kayit=("INSERT into urun_opsiyon " &_
"( " &_
"urunID, " &_
"opsiyonID, " &_
"kalemID " &_
") VALUES (" &_
"'"& session("uID") &"', " &_
"'"& verigir(0) &"', " &_
"'"& verigir(1) &"' " &_
");")
set rs= bag.execute(kayit)
Next
Mesaj divemaster tarafından 08.08.2007 (16:59) yeniden düzenlendi.. Açıklama: örnek ekledim |
|
|
|
|
|
#5 (permalink) |
|
Üyelik Tarihi: 09.12.2000
Yer: istanbul
Yaş: 30
Mesaj: 1,947
|
Re: Çoklu veri kaydı sorunu (ASP, MySql)
öncelikle kodunuz bu şekilde daha kolay olur
Kod:
for each ekle in Request.form("oKalem")
verigir = split(ekle,"l-l")
kayit=("INSERT into urun_opsiyon " &_
"( " &_
"urunID, " &_
"opsiyonID, " &_
"kalemID " &_
") VALUES (" &_
"'"& session("uID") &"', " &_
"'"& verigir(0) &"', " &_
"'"& verigir(1) &"' " &_
");")
bag.execute(kayit)
Next
bu şekilde , | # gibi karakterlerle verilerinizi taşıma ihtiyacı duyuyorsanız bir yerlerde (algoritma, veritabanı dizaynı vb.) hata yaptığınıza dair burnunuza kötü kokular gelmelidir. olmaz diye birşey yok tabi, ancak çok ta doğru bir yöntem değil. aşağıdaki kod muhtemelen çalışacaktır. Kod:
<input type="checkbox" name="oKalem" value="<%=rs("opsiyonID")%>" />
Kod:
for each ekle in Request.form("oKalem")
kayit=("INSERT into urun_opsiyon " &_
"( " &_
"urunID, " &_
"opsiyonID, " &_
"kalemID " &_
") SELECT "& session("uID") &", opsiyonID, kalemID FROM kalem WHERE kalemID = "& ekle &";")
bag.execute(kayit)
Next
__________________
"oturduğum mahallenin yolları çamurluydu, boyalı ayakkabı giysem bile, o yollardan geçtikten sonra çamurlanmamaları mümkün değildi. hayatım da böyle." yılmaz güney http://www.sipidik.com |
|
|
|
|
|
#6 (permalink) |
|
Üyelik Tarihi: 27.01.2007
Yer: -
Mesaj: 112
|
Re: Çoklu veri kaydı sorunu (ASP, MySql)
Aslında durum biraz karışık, doğaldır anlatamam veya senin anlaman
![]() Benim bahsettiğim; farklı farklı verileri ayrı tablolalara girip bu verileri daha sonradan bir ürün haline getirmekti tabi bu takıldığım nokta bunlardan opsiyon tablosu bir alt tabloya daha bölününce veriyi çekerken ana tablonun ID sini çekemekti sorunum. forum üzerinde zor oluyor bu tür sorunları dile getirmek. Böyle bir sorgu kullanımını ilk defa gördüm ve onca kod oyunlarına hiç gerek kalmadan sorunu çözdüm. Yeni şeyler öğrenmek güzel, teşekkürler absconder |
|
|
|
| Sponsorlu Bağlantılar | |
|
Zoque.Forum
Reklam
|
|
Zoque'a hoşgeldiniz!