Безкраен цикъл

kriss

Registered
Такам... отдавна не съм пускал теми и реших да се включа :D
създавам онлайн магазин и искам да изведа пазарската количка динамично.
Дотук добре, но когато сложа този код
PHP:
<?php
include('config.php');
if($user=='guest'){echo'<center><span class="red">Трябва да си регистриран за да използваш количката</span></center>';}else{
$q="SELECT * FROM `koli4ka` WHERE `sid` = '$sid'";
if(mysql_num_rows(mysql_query($q))==0){echo'Пазарската Ви количка е празна';}else{
echo'<table width="100%" border="1">';
while($r=mysql_fetch_array(mysql_query($q))){
$type=$r['type'];
$id=$r['itemid'];
$kolko=$r['kolko'];
$query=dbQuery("SELECT * FROM `$type` WHERE `id`='$id'");
$raw=mysql_fetch_assoc($query);
echo'<tr><td>'.$raw[title].'</td><td>'.$kolko.'</td><td>'. ($kolko*$raw[cena]) .'</td></tr>';
}
echo'</table>';
}
}
?>
се получава един безкраен цикъл. как да го оправя че нещо зациклих :?
 
Силно ме съмнява от това да е проблема, но защо не пробваш заявката да я запазиш в една променлива (например $result). Така хем няма да ти се налага два пъти да повтаряш една и съща заявка два пъти, хем може и да се оправи.

PHP:
<?php
include('config.php');
if($user=='guest'){echo'<center><span class="red">Трябва да си регистриран за да използваш количката</span></center>';}else{
$q="SELECT * FROM `koli4ka` WHERE `sid` = '$sid'";
$result = mysql_query($q) or die("Could not complete a query");
if(mysql_num_rows($result)==0){echo'Пазарската Ви количка е празна';}else{
echo'<table width="100%" border="1">';
while($r=mysql_fetch_array($result)){
$type=$r['type'];
$id=$r['itemid'];
$kolko=$r['kolko'];
$query=dbQuery("SELECT * FROM `$type` WHERE `id`='$id'");
$raw=mysql_fetch_assoc($query);
echo'<tr><td>'.$raw[title].'</td><td>'.$kolko.'</td><td>'. ($kolko*$raw[cena]) .'</td></tr>';
}
echo'</table>';
}
}
?>
 
Ми така, както го беше написал изпълнява заявката всеки път
while($r=mysql_fetch_array(mysql_query($q)))
Много ясно, че ще е безкраен цикъл.
 

Back
Горе