CodingForums.com

CodingForums.com (http://www.codingforums.com/index.php)
-   PHP (http://www.codingforums.com/forumdisplay.php?f=6)
-   -   How to display results from particular one record? (http://www.codingforums.com/showthread.php?t=282470)

donvito7 11-17-2012 10:13 PM

How to display results from particular one record?
 
I am sorry for such a basic questions but I am very fresh in it.

I have a form index.php that sends data to Mysql database.
There is another page content.php that displays most of the data but if it is too much where is a link "more...." and this goes to another file more.php

The link is fine e.g.: http://www.domain.com/more.php?id=3 (it should display data from record id=3

What is wrong with this code?
PHP Code:

<body>
<table width=90% align=center rules=none frame=box border=1 cellpadding=8 bgcolor=white>
<tr>
<td width="70%" height="20" class=header> <h1 align="left"><font face="Verdana">Company Logo</font></h1></td>
<td width="30%" height="20" align="right"><img src="images/logo.jpg"></td>
</tr>
</table>

<?
echo '<table width="90%" border="1" align="center" cellpadding="1" cellspacing="1">
 
<td style="width:5%" align=center class=strong>Ref No:</td>
<td style="width:25%" align=center class=strong>Employee`s name:</td>
<td style="width:8%" align=center class=strong>Date:</td>
<td style="width:5%" class=strong align=center>Link to a file: </td>
</table>;'

$id = (int) $_GET['id'];
$query mysql_query("SELECT * FROM entries WHERE id = $id")or die('querry error');
while(
$row mysql_fetch_assoc($query));

echo 
"
<td>"
.$rows['reference']."".$rows['id']."</td>
<td>"
.$rows['employee']."</td>
<td>"
.$rows['description01']."</td>;
<td>"
.$rows['date']."</td>
<td><u><a href='http://abc.domaain.local/uploaded/"
.$rows['file']."'><font color='#0000ff'>".$rows['file']."</font></u></a></td></tr>"
?>


Fou-Lu 11-18-2012 01:16 AM

This is wrong: while($row = mysql_fetch_assoc($query));
A semi-colon at the end of a branch is true once and only once, and with loops its the last item of the collection (you can see it in a foreach for example). In a while, the control condition is false or null, so doing that above will assign null to $row regardless of how many records you have.

Either remove the while loop (assuming id is PK you'll only have one record anyway) or remove the semi-colon.

So never use a semi-colon on a branch, it will definitely come back again in the future, but now you know to look for it. Since its true once and only once, if (false); is considered true, so if you see an obvious false condition evaluating true, check that it has no semi-colon at the end of the branch.


All times are GMT +1. The time now is 01:12 PM.

Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.