Phaelon Posted May 10, 2014 Share Posted May 10, 2014 I have a table with 2 rows in it, yet PHP is only acting on 1. Does anyone know why?Basically, it should be generating two items on a cart list page (the DIV's), but only the first is present. <?php $query = "SELECT * FROM cart WHERE cartholder = 1"; $result = mysql_query($query); while ($row = mysql_fetch_assoc($result)) { $sizexs = $row['sizexs']; $sizes = $row['sizes']; $sizem = $row['sizem']; $sizel = $row['sizel']; $sizexl = $row['sizexl']; $query = "SELECT * FROM products WHERE number = ".$row['number'].""; $result = mysql_query($query); $row = mysql_fetch_assoc($result); if ($row['gender'] == 'Mens') {$gender = 'mens';} else {$gender = 'womens';} if ($row['type'] == 'T-Shirt') {$type = 't-shirts';} $number = $row['number']; $brand = $row['brand']; $name = $row['name']; $price = $row['price']; echo ' <DIV class="content"> <A href="/products/'.$gender.'/'.$type.'/product/?productnumber='.$number.'"><IMG alt="" src="/products/'.$gender.'/'.$type.'/'.$number.'/thumb.png"></A> <BR> '.$brand.' <BR> '.$name.' <BR> <BR> $'.$price.' </DIV> '; } ?> Link to comment https://forums.phpfreaks.com/topic/288383-php-only-using-1-row-when-there-are-2/ Share on other sites More sharing options...
trq Posted May 10, 2014 Share Posted May 10, 2014 You are redefining $row within your while loop. Seriously, you need to look into how to query using joins, the way your going about things currently is wrong. Link to comment https://forums.phpfreaks.com/topic/288383-php-only-using-1-row-when-there-are-2/#findComment-1478964 Share on other sites More sharing options...
Phaelon Posted May 10, 2014 Author Share Posted May 10, 2014 Yeah that can be done, because $row gets redefined when the while loop reloops, but its not relooping. Link to comment https://forums.phpfreaks.com/topic/288383-php-only-using-1-row-when-there-are-2/#findComment-1478965 Share on other sites More sharing options...
Phaelon Posted May 10, 2014 Author Share Posted May 10, 2014 I just put in echo mysql_fetch_assoc($result); before the while and it only returned a single array. That sounds wrong, right? Link to comment https://forums.phpfreaks.com/topic/288383-php-only-using-1-row-when-there-are-2/#findComment-1478966 Share on other sites More sharing options...
Phaelon Posted May 10, 2014 Author Share Posted May 10, 2014 You were right. Thanks. Link to comment https://forums.phpfreaks.com/topic/288383-php-only-using-1-row-when-there-are-2/#findComment-1478967 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.