|
|
#1 (permalink) |
|
Üyelik Tarihi: 02.01.2005
Yer: PRS
Yaş: 27
Mesaj: 48
|
adet<%=rs("id")%> peki if adet="" then nasıl olacak
2 yıl aradan sonra tekrar ASP kodlamaya başlamakla beraber, bırakıp unutarak nasıl bir delilik yaptığımın ancak yeni farkına vardım. Bırakmakla beraberinde gelen "unutmak" kavramı yüzünden dolayısıyla bir yerlerde takılmaya başlıyorum. form ismi; <input name="adet<%=rs("id")%>" type="text" value="<%=rs("adet")%>" size="5"> olan bir ifadeyi if adet="" then burada nasıl belirleyeceğim ? Yapmak istediğim alt alta sıralanan sipariş adetlerini değiştirmek istiyorum. Doğrudan "adet" olarak belirlediğimde sadece bir siparişin adedi değişiyor.. 45 dk. dır uğraşıyorum. Yardımcı olur musunuz ? |
|
|
|
|
|
#3 (permalink) |
|
Üyelik Tarihi: 02.01.2005
Yer: PRS
Yaş: 27
Mesaj: 48
|
Re: adet<%=rs("id")%> peki if adet="" then nasıl olacak
Ekteki resimde sepete eklenen siparişler görünüyor. Bu kısımda bir de Adet bölümü var. Ziyaretçi ürün adedinde değişiklik yapmak istiyor mesela. Burada adetin bulunduğu kutucuğun adına "adet" verip bu şekilde işleme devam edildiğinde [Adedi değiştir düğmesine tıklandığında] ;
Kod:
default.ASP, line 1529 Tarayıcı Tipi: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) Sayfa: POST 41 bytes to default.ASP POST Data: degistir=67&tur=adet&adet=6&adet=3&adet=1 Kod:
rs("adet")=adet
rs.update
Buraya kadar herşey normal. Ama bu kutuyu yani "adetID" kutusunu boş bırakınca hata vermesini istiyorum. Bunun için; if ?????????="" then ifadesini kullanmam gerekiyor. Peki burada "adet<%=rs("id")%>" adını verdiğim kutunun boş bırakılması durumunda hata vermesini istediğimden ????????? kısmına ne/nasıl yazmalıyım ? Umarım yeterince açık yazmışımdır/anlatabilmişimdir.. Saygılarımla |
|
|
|
|
|
#4 (permalink) |
|
Üyelik Tarihi: 16.02.2005
Yer: İstanbul
Yaş: 23
Mesaj: 25
|
Re: adet<%=rs("id")%> peki if adet="" then nasıl olacak
sepetin içeriği olarak gönderilen bilginin kontrolü açısından gelen tüm verileri işlemden geçirmek problem çıkarabilir. şunu demek istiyorum: zaten sepetin içeriği veritabanında kayıtlı, önce veritabanından bu kayıtları okuyun, sonra mesela
//// adet=request.form("adet" & rs("urunid")); if not adet="" then rs("adet")=adet else response.write ("Hata: Adet alanını boş bırakmayınız!") end if ////// gibi bir mantıkla alan kontrolü yapın ve update edin vs... Eğer post data içerisindeki tüm veriyi mesela ///// foreach request.form as adet if (left(adet,4))="adet" then 'burada elimizdeki verinin adının adet ile başladığını tespit ediyoruz ....işlemler 'tekrar ismi parçala, id değerini oku, dolu mu boş mu kontrol et vs.. else 'bu zaten bir adet bilgisi değil end if next ///// gibi bir işlemle kontrol ederseniz hem kasmış olursunuz, hem istemediğiniz verileri de işlemden geçirmiş olursunuz. kolay gelsin. Mesaj oj.c tarafından 27.05.2005 (22:04) yeniden düzenlendi. |
|
|
|
|
|
#5 (permalink) | |
|
Mesaj: n/a
|
Re: adet<%=rs("id")%> peki if adet="" then nasıl olacak
adım adım anlatayım:
1. sepetteki ürünleri listelerken do until oKayitdizisi.eof vb. kullanma, for sSira = 1 to oKayitdizisi.recordcount olayını kullan (bilmiyorsan özelden mesaj atabilirsin anlatırım, konuyu dağıtmak istemem), 2. inputlardaki name ve id leri ise name="Adet<%= sSira %>" olarak değiştir. böylece sepetteki ürünlerini 1 den ürün sayısına kadar numaralandırmış olacaksın, 3. sepeti güncelleme butonuna tıklanıp form gönderildikten sonra formu işleyen kısımda ise yine aynı mantıktan hareketle for sSiraGuncelle = 1 to oKayitdizisi.recordcount ile tüm sepeti sıralayacaksın, fakat for next arasına bu sefer güncelleme kriterlerini gireceğiz. şöyleki; Alıntı:
olay budur yani... ürünleri silmek içinde ortadaki kodu bir SQL komutu ile değiştirirsin olur biter.... |
|
|
|
|
#7 (permalink) | ||
|
Üyelik Tarihi: 29.07.2004
Yer: İstanbul
Yaş: 23
Mesaj: 156
|
Re: adet<%=rs("id")%> peki if adet="" then nasıl olacak
Sorunun çözüldüğüne sevindim, ancak ek bir not olarak, her ne kadar pratikte bu çözüm yolu bir sorun çıkarmayacaksa da; biraz mükemmeliyetçilik (daha doğrusu paranoyaklık
) varsa oj.c'nin söylediği yöntem hem buna benzer hem de daha uygun olacaktır.Şu anki durumda diyelim ki sepette dört ürün var ve bunlar 1,2,3,4 şeklinde sıra no'larıyla adlandırıldılar. Şimdi bu uygulamanın çalışması için form gönderildiğinde bu 4 ürün ve sırası bozulmamış olmalı. Bu çok ekstra bir durum ancak diyelim adam başka bi pencerede sepete girdi bir işlem yaptı bu sırayı değiştirdi veya admin tarafında bir değişim oldu bu ürünlerin sıralamaları değişti, 1. sırada ki ürün form gönderilene kadar 3. sıraya gelmiş oldu vs vs. ; bu durumda sıralama bozulduğu için sistem çalışmayacaktır, adetler yanlış ürünlere yazılacaktır. Çok küçük bi ihtimal olsa da bunu önlemek için bu form alanların isimlerini sıra no değil doğrudan rs("id") numarası olarak koyabilirsin (tabi ki id'ler db'de unique id olmalı). Yani input'lar şu şekilde olacak: Alıntı:
Alıntı:
Not: sSiraGuncelle'ye artık gerek kalmadığı için de loop'lar tekrar do while ile yapılabilir. |
||
|
|
|
|
|
#8 (permalink) | |||
|
Mesaj: n/a
|
Re: adet<%=rs("id")%> peki if adet="" then nasıl olacak
@maestro gayet güzel söylemiş, yalnız şu
Alıntı:
Alıntı:
Alıntı:
|
|||
|
|
|
#9 (permalink) | |||
|
Mesaj: n/a
|
Re: adet<%=rs("id")%> peki if adet="" then nasıl olacak
birde şöyle bir şey var ;
mesela her satıra checkbox koyduk ve sepetteki ürünlerden silinmesi gerekenleri toplu olarak sildireceğiz; burası sepetteki sil checkbox ı, Alıntı:
Alıntı:
not: openObj kendi yazdığım basit bi obje yaratma aparatı, aşağıya çıkardım (daha önce başka biyerlerde de yazmıştım forumda); Alıntı:
|
|||
|
| Sponsorlu Bağlantılar | |
|
Zoque.Forum
Reklam
|
|
![]() |
| Etiketler |
|
olacak , nasil , then , adetquotquot , peki , adetltrsquotidquotgt |
|
|
Zoque'a hoşgeldiniz!