Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

[PHP] Hmm peki bu neden?


Öne çıkan mesajlar

Mesaj tarihi:
[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]
Mesaj tarihi:
çü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!
Mesaj tarihi:
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.
Mesaj tarihi:
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
Mesaj tarihi:
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
Mesaj tarihi:
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
×
×
  • Yeni Oluştur...