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> '; } ?> Quote 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...
Solution trq Posted May 10, 2014 Solution 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. Quote 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 (edited) Yeah that can be done, because $row gets redefined when the while loop reloops, but its not relooping. Edited May 10, 2014 by Phaelon Quote 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? Quote 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 (edited) You were right. Thanks. Edited May 10, 2014 by Phaelon Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.