I am a novice at PHP and i have encountered a problem with the following code…
<?php
// Connects to Database
mysql_connect("localhost", "root") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
$data = mysql_query("SELECT country_id, country_name FROM country, channels WHERE channels.channel_id = country.channel_id AND channels.channel_id = '1'")
or die(mysql_error());
echo "<table border=0 cellpadding=15>";
echo "<tr align = center bgcolor=white>
<td><b>Country ID</b></td><td><b>Country Name</b></td>" ;
while (mysql_fetch_row($data)) {
$cid = mysql_result($data, 1);
$cname = mysql_result($data, 2);
# inserts value into table as a hyperlink
echo "<tr align = center bgcolor=white><td>$cid</td><td><a href=view_country_detail.php?cid=$cid>$cname</td>";
}
# displays table
print '</table>';
?>
to explain the problem i am getting, i am after generated hyperlinks to drill down to the companies which share the to be clicked country’s id from the code above to then display a similar layout on the ‘view_country_detail’ page. i cant work out why the output for the table gives me a repeated row for the first two id’s for the country column in the db. any help would be greatly appreciated as i am totally lost here. Thanks
Try structuring your
whileloop as follows:Also,
mysql_*functions have started the deprecation process and should no longer be used, even the php manual pages state the use ofmysql_*is discouraged. Look into using the similar mysqli_* functions or PDO.