adamhhh Posted March 6, 2007 Share Posted March 6, 2007 bit confused here, im trying to echo out multiple results from a database and returning them in a table. Each new row in the database leads should lead to a new row in the HTML table. However I can only get it so the first row from the database goes into the html table as it should, the rest go outside it. Any ideas? $query = "SELECT * FROM 070208_new"; $result = mysql_query($query) or die ("This entry hasn't been found."); while($row = mysql_fetch_array($result)) { $log_id = $row['log_id']; $time = $row['time']; $s_ip = $row['s-ip']; $cs_method = $row['cs-method']; $cs_uri_stem = $row['cs-uri-stem']; $cs_uri_query = $row['cs-uri-query']; $port = $row['port']; $cs_username = $row['cs-username']; $c_ip = $row['c-ip']; $user_agent = $row['cs(User-Agent)']; $sc_status = $row['sc-status']; $sc_substatus = $row['sc-substatus']; $sc_win32_status = $row['sc-win32-status']; $sc_bytes = $row['sc-bytes']; $cs_bytes = $row['cs_bytes']; echo "<tr> <td>$log_id</td> <td>$time</td> <td>$s_ip</td> <td>$cs_method</td> <td>$cs_uri_stem</td> <td>$cs_uri_query</td> <td>$port</td> <td>$cs_username</td> <td>$c_ip</td> <td>$user_agent</td> <td>$sc_status</td> <td>$sc_substatus</td> <td>$sc_win32_status</td> <td>$sc_bytes</td> <td>$cs_bytes</td> </tr>"; echo "</table>"; } Quote Link to comment https://forums.phpfreaks.com/topic/41459-solved-echoing-multiple-html-tables/ Share on other sites More sharing options...
skali Posted March 6, 2007 Share Posted March 6, 2007 $query = "SELECT * FROM 070208_new"; $result = mysql_query($query) or die ("This entry hasn't been found."); echo '<table>'; while($row = mysql_fetch_array($result)) { $log_id = $row['log_id']; $time = $row['time']; $s_ip = $row['s-ip']; $cs_method = $row['cs-method']; $cs_uri_stem = $row['cs-uri-stem']; $cs_uri_query = $row['cs-uri-query']; $port = $row['port']; $cs_username = $row['cs-username']; $c_ip = $row['c-ip']; $user_agent = $row['cs(User-Agent)']; $sc_status = $row['sc-status']; $sc_substatus = $row['sc-substatus']; $sc_win32_status = $row['sc-win32-status']; $sc_bytes = $row['sc-bytes']; $cs_bytes = $row['cs_bytes']; echo "<tr> <td>$log_id</td> <td>$time</td> <td>$s_ip</td> <td>$cs_method</td> <td>$cs_uri_stem</td> <td>$cs_uri_query</td> <td>$port</td> <td>$cs_username</td> <td>$c_ip</td> <td>$user_agent</td> <td>$sc_status</td> <td>$sc_substatus</td> <td>$sc_win32_status</td> <td>$sc_bytes</td> <td>$cs_bytes</td> </tr>"; }echo "</table>"; Quote Link to comment https://forums.phpfreaks.com/topic/41459-solved-echoing-multiple-html-tables/#findComment-200853 Share on other sites More sharing options...
Psycho Posted March 6, 2007 Share Posted March 6, 2007 I don't see your opening table tag, but your closing table tag is within the loop - it needs to be after the loop. Also, there's no need to create those variables if you are only going to use them once: $query = "SELECT * FROM 070208_new"; $result = mysql_query($query) or die ("This entry hasn't been found."); if (mysql_num_rows($result)==0) { echo "There were no results."; } else { echo "<table>"; while($row = mysql_fetch_array($result)) { echo "<tr> <td>$row['log_id']</td> <td>$row['time']</td> <td>$row['s-ip']</td> <td>$row['cs-method']</td> <td>$row['cs-uri-stem']</td> <td>$row['cs-uri-query']</td> <td>$row['port']</td> <td>$row['cs-username']</td> <td>$row['c-ip']</td> <td>$row['cs(User-Agent)']</td> <td>$row['sc-status']</td> <td>$row['sc-substatus']</td> <td>$row['sc-win32-status']</td> <td>$row['sc-bytes']</td> <td>$row['cs_bytes']</td> </tr>"; } echo "</table>"; } Quote Link to comment https://forums.phpfreaks.com/topic/41459-solved-echoing-multiple-html-tables/#findComment-200855 Share on other sites More sharing options...
boo_lolly Posted March 6, 2007 Share Posted March 6, 2007 first, there's no need to rename all your variables. second, this is how you do it: <?php $sql = "SELECT * FROM your_table"; $query = mysql_query($sql); echo "<table border=\"1\">\n"; while($row = mysql_fetch_array($query)){ echo "<tr><td>". $row['col1'] ."</td><td>". $row['col2'] ."</td><td>". $row['col3'] ."</td></tr>\n"; } echo "</table>\n"; ?> and the reason why your first row is populated but the rest are not is because you've got your </table> tag INSIDE the while loop. Quote Link to comment https://forums.phpfreaks.com/topic/41459-solved-echoing-multiple-html-tables/#findComment-200856 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.