Hi! I'm pretty new to PHP and MySQL. I have a simple contact database, which I'm able to query using the following to produce a list of selected records:
<?
$user="username";
$password="password";
$database="your_database";
$searchfirst=$POST['first'];
$searchlast=$POST['last'];
mysql_connect(localhost,$user,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM contacts WHERE (last='$searchlast') or (first='$searchfirst') ORDER BY last ASC";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
echo "<h1>Amir's Contacts Database</h1>";
echo "<h2>Search Results</h2>";
if ($num==0) {
echo '<b>Sorry! There are no records which match your criteria.</b><br><br>';
} else {
echo '
<table border=0 class="display" summary="line-up table">
<tr class="heading">
<th>View</th>
<th>Name</th>
<th>Phone</th>
<th>Mobile</th>
<th>Fax</th>
<th>E-mail</th>
<th>Website</th>
</tr>';
$i=0;
while ($i < $num) {
$id=mysql_result($result,$i,"id");
$first=mysql_result($result,$i,"first");
$last=mysql_result($result,$i,"last");
$phone=mysql_result($result,$i,"phone");
$mobile=mysql_result($result,$i,"mobile");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");
?>
<tr>
<td><a href="pageview.php?id=$id"><? echo $id; ?></a></td>
<td><? echo $first.' '.$last; ?></td>
<td><? echo $phone; ?></td>
<td><? echo $mobile; ?></td>
<td><? echo $fax; ?></td>
<td><a href="mailto:<? echo $email; ?>"><? echo $email; ?></a></td>
<td><a href="<? echo $web; ?>" target="_blank"><? echo $web; ?></a></td>
</tr>
<?
$i++;
}
}
echo "</table>";
?>
but when I try to click on the id field in the list, to update the record, the code I got from the tutorial I was doing doesn't work:
<?
$id=$_GET['id'];
$user="username";
$password="password";
$database="your_database";
mysql_connect(localhost,$user,$password);
$query=" SELECT * FROM contacts WHERE id='$id'";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
$i=0;
while ($i < $num) {
$first=mysql_result($result,$i,"first");
$last=mysql_result($result,$i,"last");
$phone=mysql_result($result,$i,"phone");
$mobile=mysql_result($result,$i,"mobile");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");
<form action="updated.php" method="post">
<input type="hidden" name="ud_id" value="<? echo $id; ?>">
First Name: <input type="text" name="ud_first" value="<? echo $first; ?>"><br>
Last Name: <input type="text" name="ud_last" value="<? echo $last; ?>"><br>
Phone Number: <input type="text" name="ud_phone" value="<? echo $phone; ?>"><br>
Mobile Number: <input type="text" name="ud_mobile" value="<? echo $mobile; ?>"><br>
Fax Number: <input type="text" name="ud_fax" value="<? echo $fax; ?>"><br>
E-mail Address: <input type="text" name="ud_email" value="<? echo $email; ?>"><br>
Web Address: <input type="text" name="ud_web" value="<? echo $web; ?>"><br>
<input type="Submit" value="Update">
</form>
++$i;
}
?>
What happens is I get the following error:
"Parse error: parse error, unexpected '<' in /home/lunacy/public_html/fwmh/pageview.php on line 18"
As I'm only selecting one record (id is primary key), I don't understand what the loop's for.
All advice gratefully received.