Displaying database contents on a html webpage
I am trying to display all of the records from a database in phpMyAdmin. This database is located on my computer which is currently a server because of the Uniform Server software installed on it recently. I am new to building php and html code. I used the last compete documenet code from this link http://www.siteground.com/tutorials/php-mysql/display_table_data.htm and this is the output on my web page.
<HTML>
<HEAD>
<TITLE> LOG INFORMATION FOR ALL customers </TITLE>
</HEAD>
<BODY>
<H1> LOG INFORMATION FOR ENTIRE DATABASE </H1>
<?php
$database="mobile_app_tracking_log";
mysql_connect(localhost);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM tablename";
$result=mysql_query($query);
mysql_close();
?>
<table border="2" cellspacing="7" cellpadding="7">
<tr>
<th><font face="Arial, Helvetica, sans-serif">Index</font></th>
<th><font face="Arial, Helvetica, sans-serif">Identification Number</font></th>
<th><font face="Arial, Helvetica, sans-serif">Date</font></th>
<th><font face="Arial, Helvetica, sans-serif">Time</font></th>
<th><font face="Arial, Helvetica, sans-serif">Application</font></th>
<th><font face="Arial, Helvetica, sans-serif">Usage</font></th>
<th><font face="Arial, Helvetica, sans-serif">Latitude</font></th>
<th><font face="Arial, Helvetica, sans-serif">Longitude</font></th>
<th><font face="Arial, Helvetica, sans-serif">Address</font></th>
</tr>
<?php
$i=0;
while ($i < $num) {
$f1=mysql_result($result,$i,"Index");
$f2-name=mysql_result($result,$i,"Identification Number");
$f3-name=mysql_result($result,$i,"Date");
$f4-name=mysql_result($result,$i,"Time");
$f5-name=mysql_result($result,$i,"Application");
$f6-name=mysql_result($result,$i,"Usage");
$f7-name=mysql_result($result,$i,"Latitude");
$f8-name=mysql_result($result,$i,"Longitude");
$f9-name=mysql_result($result,$i,"Address");
?>
<tr>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f1; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f2; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f4; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f5; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f6; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f7; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f8; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f9; ?></font></td>
</tr>
<?php
$i++;
}
?>
Can somebody please tell me why the r开发者_如何学编程ecords from the database aren't showing? Any help would be much appreciated.
It looks like you are saving the variable $f2-name
however you are echo'ing $f2
, same with $f3
, $f4
etc.
If you want to keep your naming schema, you have do do:
echo $f2-name;
echo $f3-name;
// etc
check this code.. This may help you..
<HTML>
<HEAD>
<TITLE> LOG INFORMATION FOR ALL customers </TITLE>
</HEAD>
<BODY>
<H1> LOG INFORMATION FOR ENTIRE DATABASE </H1>
<?php
$user = 'root';
$password = '';
$database="test";
mysql_connect(localhost,$user, $password);
@mysql_select_db($database) or die( "Unable to select database");
echo $query = "SELECT * FROM customer";
$result = mysql_query($query);
mysql_close();
?>
<table border="2" cellspacing="7" cellpadding="7">
<tr>
<th><font face="Arial, Helvetica, sans-serif">Index</font></th>
<th><font face="Arial, Helvetica, sans-serif">Customer Name</font></th>
<th><font face="Arial, Helvetica, sans-serif">Sex</font></th>
</tr>
<?php
while ($row = mysql_fetch_assoc($result)) {
?>
<tr>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $row[id]; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $row[customer_name]; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $row[sex]; ?></font></td>
</tr>
<?php
}
?>
Looking at your code compare to the links you've provided. Your missing the $num variable initialization
This one: $num=mysql_numrows($result);
So I guess your loop will not iterate, adding this may resolve your problem. Better look more on the code you referred some might be missing on your code.
I've tested this code and I found it was necessary to put quotes around localhost
in the mysql_connect
line
mysql_connect('localhost',$user, $password);
as well as the $row
result lines to avoid getting "Notice: Use of undefined constant" errors.
<td><font face="Arial, Helvetica, sans-serif"><?php echo $row['id']; ?></font></td>
精彩评论