Bloodless Mesaj tarihi: Ağustos 30, 2005 Mesaj tarihi: Ağustos 30, 2005 [code=php] while( $sira = mysql_fetch_array($sql) ) { echo $sira['NO'] ." "; echo $sira['AD'] ." "; echo $sira['SOYAD'] ." "; echo ""; } [/code] şimdi bu sorgu alma işleminde hiç bir sorun yok. fakat aşağıdaki gibi yapınca sonsuz bir döngüye giriyor neden? [code=php] $sira = mysql_fetch_array($sql) while( $sira ) { echo $sira['NO'] ." "; echo $sira['AD'] ." "; echo $sira['SOYAD'] ." "; echo ""; } [/code] [Bu mesaj Bloodless tarafından 30 Ağustos 2005 12:39 tarihinde değiştirilmiştir]
OTuRaNBoGHa Mesaj tarihi: Ağustos 30, 2005 Mesaj tarihi: Ağustos 30, 2005 çünkü $sira while'dan önce tanımlanmıştır. onun değeri döngü boyunca ve döngü sonunda değişmeyecektir. while'da her döngüde değeri aynı kalacaktır; dolayısıyla da NULL değerini almayacaktır!
Bloodless Mesaj tarihi: Ağustos 30, 2005 Konuyu açan Mesaj tarihi: Ağustos 30, 2005 hmm anladım sağol! mysql_fetch_array'in her seferde yeni bir satır çektiğini unutmuştum teşekkür ederim[signature][hline]
sharky Mesaj tarihi: Ağustos 30, 2005 Mesaj tarihi: Ağustos 30, 2005 Bir tanesinde $sira varolduğu her an için diyorsun, bir tanesinde ise $sira 'ya mysql_fetch_array değer atayabildiği her an diyorsun.[signature][hline]Those who don't understand Linux are doomed to reinvent it, poorly.
Mum_Chamber Mesaj tarihi: Ağustos 30, 2005 Mesaj tarihi: Ağustos 30, 2005 ikinci döngünün sonuna yine bir fetch koyarak sorunu çözebilirsin. çünkü sona gelindiğinde siraya empty fetch edilecektir ve tekrar döngü başına dönüldüğünde döngü sonlanacaktır.[signature][hline]en ince yerim bileğim..!?! BandRoLL
vampirhuma Mesaj tarihi: Ağustos 30, 2005 Mesaj tarihi: Ağustos 30, 2005 said: Bloodless, 30 Ağustos 2005 12:26 tarihinde demiş ki: [code=php] while( $sira = mysql_fetch_array($sql) ) { echo $sira['NO'] ." "; echo $sira['AD'] ." "; echo $sira['SOYAD'] ." "; echo ""; } [/code] şimdi bu sorgu alma işleminde hiç bir sorun yok. fakat aşağıdaki gibi yapınca sonsuz bir döngüye giriyor neden? [code=php] $sira = mysql_fetch_array($sql) while( $sira ) { echo $sira['NO'] ." "; echo $sira['AD'] ." "; echo $sira['SOYAD'] ." "; echo ""; } [/code] [Bu mesaj Bloodless tarafından 30 Ağustos 2005 12:39 tarihinde değiştirilmiştir] iki dongu arasinda kullanilabilirlik bakimindan hic bi fark yok ve sira degiskeni daha onceden tanimlanmadiysa ikiside calisir hatta ilk yontem daha cok kullanilan bi yontemdir soyle yaparsan sorunun duzelicegini saniyorum while( $sira = mysql_fetch_array($sql,MYSQL_ASSOC) ) { echo $sira[NO]; echo $sira[AD] ; echo $sira[SOYAD]; echo ""; }[signature][hline]Liars do not fear the truth if there are enough liars
Sailor Mesaj tarihi: Ağustos 30, 2005 Mesaj tarihi: Ağustos 30, 2005 ikisi aynı olmuyor işte, ya ilki gibi yapması gerek ya da said: while( $sira = mysql_fetch_array($sql,MYSQL_ASSOC) ) { echo $sira[NO]; echo $sira[AD] ; echo $sira[SOYAD]; echo ""; $sira = mysql_fetch_array($sql,MYSQL_ASSOC) } olmalı. ilkinde while her döndüğünde sira değişkenine tekrardan değer atanıyor. ikincisinde bir kere başta değer atıyor o değer true ise sonsuz döngüye giriyor, false ise hiç girmiyor. whilenin sonunda sira değişkenine atama yaparsak bu sorundan kurtuluruz.[signature][hline]oasis.gen.tr Mail/MSN: [email protected] , ICQ:6254196
Öne çıkan mesajlar