Jump to content

Whats wrong here? #2


Xyphon

Recommended Posts

<?PHP
include('Connect.php');
include('top.php');
$result = mysql_query("SELECT * FROM news_comments");

echo "<table border='1'>
<tr>
<th>Hi,<br /> It's Xyphon. I have just made the news page, I hope you like it! Please, leave comments here!</th>
</tr></table>";
echo "<table border='1' width='500'>";
echo "<tr> <td> <a href='postcomment.php'>Post Comment</a></td>";
echo "<td> <a href='viewcomments.php'>View Comments</a></td></tr></table>";

if(!$row = mysql_fetch_array($result)){
echo "There are no current comments. Layout issues may accure.";
}
else
{

echo "<table border='1' width='500' height='20'>";
echo "<br /><br />";
echo "<tr>";
echo "<td><center><b>Username: </b><br />" . $row['username'] .  "</center></td>";
echo "<td><center><b>ID: </b><br />" . $row['user_id'] .  "</center></td></tr></table>";
echo "<table border='1' width='500' height='20'><tr><td><b>Comment:</b>";
echo "<td>" . $row['comment'] . "</td>";
echo "</tr></table>";
}

include('bottom.php');
?>

 

For some reason it will only show the frist comment made, and they're all in the DB.

Link to comment
https://forums.phpfreaks.com/topic/81761-whats-wrong-here-2/
Share on other sites

You need to loop through your results. The basic syntax of a SELECT with more than one row should be...

 

<?php

  if ($result = mysql_squery("SELECT a, b c FROM foo")) {
    if (mysql_num_rows($result)) {
      while ($row = mysql_fetch_assoc($result)) {
        echo "{$row['a']} {$row['b']} {$row['c']}<br />";
      }
    } else {
      echo "No results found";
    }
  } else {
    echo mysql_error();
  }

?>

Link to comment
https://forums.phpfreaks.com/topic/81761-whats-wrong-here-2/#findComment-415327
Share on other sites

You don't appear to be looping through the records anywhere

 

Change this

 

if(!$row = mysql_fetch_array($result)){
echo "There are no current comments. Layout issues may accure.";
}
else
{

echo "<table border='1' width='500' height='20'>";
echo "<br /><br />";
echo "<tr>";
echo "<td><center><b>Username: </b><br />" . $row['username'] .  "</center></td>";
echo "<td><center><b>ID: </b><br />" . $row['user_id'] .  "</center></td></tr></table>";
echo "<table border='1' width='500' height='20'><tr><td><b>Comment:</b>";
echo "<td>" . $row['comment'] . "</td>";
echo "</tr></table>";
}

 

to

 

if(mysql_num_rows($result) > 0){
    // your table headings here
    while ($row = mysql_fetch_array($result)) {
        // your rows with database content here
    }
}
else
{
echo "There are no current comments. Layout issues may accure.";
}

Link to comment
https://forums.phpfreaks.com/topic/81761-whats-wrong-here-2/#findComment-415328
Share on other sites

if (mysql_num_rows($result) > 0) {
echo "<table border='1' width='500' height='20'>";
echo "<br /><br />";
    while ($row = mysql_fetch_array($result)) {
        echo "<tr>";
        echo "<td><center><b>Username: </b><br />" . $row['username'] .  "</center></td>"; 
        echo "<td><center><b>ID: </b><br />" . $row['user_id'] .  "</center></td></tr></table>";
        echo "<table border='1' width='500' height='20'><tr><td><b>Comment:</b>";
        echo "<td>" . $row['comment'] . "</td>";
        echo "</tr></table>";
    }
echo "</table>";
}
else
{
echo "There are no current comments. Layout issues may accure.";
}

 

That will show the username for every comment but it gives you the idea of how it works I hope!!

HTH!

Link to comment
https://forums.phpfreaks.com/topic/81761-whats-wrong-here-2/#findComment-415344
Share on other sites

<?PHP
include('Connect.php');
include('top.php');
$result = mysql_query("SELECT * FROM news_comments");

echo "<table border='1'>
<tr>
<th>Hi,<br /> It's Xyphon. I have just made the news page, I hope you like it! Please, leave comments here!</th>
</tr></table>";
echo "<table border='1' width='500'>";
echo "<tr> <td> <a href='postcomment.php'>Post Comment</a></td>";
echo "<td> <a href='viewcomments.php'>View Comments</a></td></tr></table>";

if(mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_array($result)) {
	echo "<table border='1' width='500' height='20'>";
	echo "<br /><br />";
	echo "<tr>";
	echo "<td><center><b>Username: </b><br />" . $row['cty_id'] .  "</center></td>";
	echo "<td><center><b>ID: </b><br />" . $row['cty_name'] .  "</center></td></tr></table>";
	echo "<table border='1' width='500' height='20'><tr><td><b>Comment:</b></td>";
	echo "<td>" . $row['comment'] . "</td>";
	echo "</tr>";
	echo "</table>";
}
}
else
{
echo "There are no current comments. Layout issues may accure.";
}

include('bottom.php');
?>

 

I have tried this out with my own site and this does work...

Link to comment
https://forums.phpfreaks.com/topic/81761-whats-wrong-here-2/#findComment-415372
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.