On 7/23/09 9:24 AM, "Kyle Smith" <kyle.sm...@inforonics.com> wrote:
Miller, Terion wrote:
I keep getting this error while trying to use the field 'ID' to pass in a url..
And it's odd because the query is pulling everything BUT the ID which is the
first field...
code:
<a href="view.php?ID=<?php echo $_SESSION['fullRestaurantList']['ID']?>"><?php
echo
htmlspecialchars(stripslashes($_SESSION['fullRestaurantList'][$i]['name'])); ?>
We're going to need to know how the $_SESSION['fullRestaurantList'] gets
populated. Also, where do you define $i? Is $i the ID? Seemed like you've
built an array of arrays and you may want
$_SESSION['fullRestaurantList'][$i]['ID'], or just $i. This is all speculation
from the 2 lines of code I've seen though.
- Kyle
The full script is (I have my Entourage email settings on html so I hope this
displays ok for you all---seems I've been told it turns into a mess in some
views) :
<?php
// Check
if page is set to show all
if(isset($_GET['show']) && $_GET['show'] == 'all')
{ unset($_SESSION['results']);
unset($_SESSION['searchname']);
unset($_SESSION['address']);
} //
Check if there was an empty search sent
if(isset($_SESSION['noVarsSent'])) {
echo "<p><b>No values were submitted for the
search.</b></p>"; // Unset it so a reload
of page doesn't redisplay the error
unset($_SESSION['noVarsSent']); //
unset($_SESSION['results']); }
// Check if full list of restaurants has been created and stored
yet // Store full results in $_SESSION to
limit database hits
if(!isset($_SESSION['fullRestaurantList']))
{ // List not grabbed yet, so run query
and store in $_SESSION
//check for range if
(!(isset($rangenum))) {
$rangenum = 1; }
// Grab all restaurants in alphabetical order
$sql = "SELECT restaurants.ID, name, address,
inDate, inType, notes, critical, cviolations, noncritical FROM restaurants,
inspections WHERE restaurants.name != '' AND restaurants.ID = inspections.ID
ORDER BY name;"; $result =
mysql_query($sql) or die(mysql_error());
//trying to grab it by ranges from the db?
$rows = mysql_num_rows($result);
$page_rows = 100;
$last_row = ceil($rows/$page_rows);
if ($rangenum < 1)
{ $rangenum = 1;
} elseif ($rangenum >
$last_row) {
$rangenum = $last_row; }
//This sets the
range to display in our query $max =
'limit ' .($rangenum - 1) * $page_rows .',' .$page_rows;
// Process all results into
$_SESSION array
$position = 1;
while ($row = mysql_fetch_array($result))
{
$_SESSION['fullRestaurantList'][$position] = $row;
$position++; }
$_SESSION['totalNumberOfRestaurants'] = $position;
}
?> </td>
<td rowspan="5"
width="400" height="180" valign="top"> <div
style="vertical-align:text-top" <h3></h3>
<img
src="http://www.news-leader.com/graphics/pixelclear.gif" width="400" height="1"
/> </div>
</td>
</tr>
<tr> <td width="20%" align="right"
height="30"><div class="admin_Caption">Name:</div></td>
<td width="80%" height="30"><input name="searchname" type="text"
size="30" <?php
if(isset($_SESSION['searchname'])) {
echo " value='" . $_SESSION['searchname'] . "'";
} ?>
> </td>
</tr>
<tr> <td width="20%" align="right"
height="30"><div class="admin_Caption">Address:</div></td>
<td width="80%"><input name="address" type="text" size="30"
<?php
if(isset($_SESSION['address'])) {
echo " value='" . $_SESSION['address'] . "'";
} ?>
></td> </tr>
<tr>
<td colspan="2" align="left"><input name="Submit" type="submit"
value="Search"> <br /><br />
<a href="restaurants.php?show=all">Show all Restaurants</a>
<br /><br /> </td>
</tr> <tr>
<td colspan="3"><HR></td> </tr>
</table> </form>
<?php
if(isset($_GET['Page']))
$Page = $_GET['Page'];
else $Page = 1;
$PerPage = 30;
if(isset($_SESSION['numResults']))
{ $TotalPages =
ceil($_SESSION['numResults']/$PerPage); }
else {
$TotalPages = 1; }
$StartPage = ($Page - 1) * $PerPage;
// Output table header
?> <TABLE
WIDTH="100%" cellspacing="3" cellpadding="4">
<TR> <TD ALIGN="CENTER" width="50"
VALIGN="TOP" BGCOLOR="#000000"><FONT size="-2"
COLOR="#FFFFFF"><B>Name</B></FONT></TD> <TD
ALIGN="CENTER" width="50" VALIGN="TOP" BGCOLOR="#000000"><FONT size="-2"
COLOR="#FFFFFF"><B>Address</B></FONT></TD> <TD
ALIGN="CENTER" width="20" VALIGN="TOP" BGCOLOR="#000000"><FONT size="-2"
COLOR="#FFFFFF"><B>Inspection Date</B></FONT></TD>
<TD ALIGN="CENTER" width="20" VALIGN="TOP" BGCOLOR="#000000"><FONT
size="-2" COLOR="#FFFFFF"><B>Type</B></FONT></TD>
<TD ALIGN="CENTER" width="120" VALIGN="TOP" BGCOLOR="#000000"><FONT
size="-2" COLOR="#FFFFFF"><B>Notes</B></FONT></TD>
<TD ALIGN="CENTER" width="15" VALIGN="TOP" BGCOLOR="#000000"><FONT
size="-2" COLOR="#FFFFFF"><B># Critical Violations</B></FONT></TD>
<TD ALIGN="CENTER" width="140" VALIGN="TOP"
BGCOLOR="#000000"><FONT size="-2" COLOR="#FFFFFF"><B>Violations</B></FONT></TD>
<TD ALIGN="CENTER" width="15" VALIGN="TOP"
BGCOLOR="#000000"><FONT size="-2" COLOR="#FFFFFF"><B>#
Non-Critical</B></FONT></TD> </TR>
<?php //
Control logic to determine if displaying results or not
if(isset($_SESSION['results'])) {
// Output results
if($_SESSION['results'] == "No results found")
{ // Query came back with nothing
?> <TR bgcolor="<?php echo
$row_color ?>"> <td>
<p>No results where found matching your criteria.</p>
</td> </tr>
<?php }
else {
// There are results $ID=
$_SESSION['results'][$i]['ID'];
for($i = $StartPage + 1;
$i < ($PerPage*$Page) && $i < $_SESSION['numResults']; $i++)
{
$color1 = "#FFFFFF"; $color2 = "#EAEAEA";
$row_color = ($i % 2)
? $color1 : $color2; ?>
<TR bgcolor="<?php echo $row_color ?>">
<TD><FONT SIZE="-2"><a href="view.php?ID=<?php echo
($_SESSION['results'][$i]['ID']); ?>"><?php echo
htmlspecialchars(stripslashes($_SESSION['results'][$i]['name']));
?></a></FONT></TD> <TD><FONT SIZE="-2"><?php
echo stripslashes($_SESSION['results'][$i]['address']); ?></FONT></TD>
<TD><FONT SIZE="-2"><?php echo
stripslashes($_SESSION['results'][$i]['inDate']); ?></FONT></TD>
<TD><FONT SIZE="-2"><?php echo
stripslashes($_SESSION['results'][$i]['inType']); ?></FONT></TD>
<TD><FONT SIZE="-2"><?php echo
stripslashes($_SESSION['results'][$i]['notes']); ?></FONT></TD>
<TD><FONT SIZE="-2"><?php echo
stripslashes($_SESSION['results'][$i]['critical']); ?></FONT></TD>
<TD><FONT SIZE="-2"><?php echo
stripslashes($_SESSION['results'][$i]['cviolations']); ?></FONT></TD>
<TD><FONT SIZE="-2"><?php echo
stripslashes($_SESSION['results'][$i]['noncritical']); ?></FONT></TD>
</TR>
<?php } ?>
</TABLE> <?php
}
} else
{ // No results, so output all
restaurants sorted alphabetically
//
Else, list is already built.
for($i = $StartPage +
1; $i < ($PerPage*$Page) && $i < $_SESSION['totalNumberOfRestaurants']; $i++)
{
$color1 = "#FFFFFF"; $color2 =
"#EAEAEA";
$row_color = ($i % 2) ? $color1 : $color2; ?>
<TR bgcolor="<?php echo $row_color ?>">
<TD><FONT SIZE="-2"><a href="view.php?ID=<?php echo
$_SESSION['fullRestaurantList']['ID']?>"><?php echo
htmlspecialchars(stripslashes($_SESSION['fullRestaurantList'][$i]['name']));
?></a></FONT></TD> <TD><FONT SIZE="-2"><?php
echo stripslashes($_SESSION['fullRestaurantList'][$i]['address']);
?></FONT></TD> <TD><FONT SIZE="-2"><?php echo
stripslashes($_SESSION['fullRestaurantList'][$i]['inDate']); ?></FONT></TD>
<TD><FONT SIZE="-2"><?php echo
stripslashes($_SESSION['fullRestaurantList'][$i]['inType']); ?></FONT></TD>
<TD><FONT SIZE="-2"><?php echo
stripslashes($_SESSION['fullRestaurantList'][$i]['notes']); ?></FONT></TD>
<TD align="center"><FONT SIZE="-2"><?php echo
stripslashes($_SESSION['fullRestaurantList'][$i]['critical']); ?></FONT></TD>
<TD><FONT SIZE="-2"><?php echo
stripslashes($_SESSION['fullRestaurantList'][$i]['cviolations']);
?></FONT></TD> <TD align="center"><FONT
SIZE="-2"><?php echo
stripslashes($_SESSION['fullRestaurantList'][$i]['noncritical']);
?></FONT></TD> </TR>
<?php }
?> </TABLE> <?php
// Calculate total
number of pages $TotalPages =
ceil($_SESSION['totalNumberOfRestaurants']/$PerPage);
}
// Output paging control
// Only need to output this if there is more than 1 page of results
if ($TotalPages > 1) {
echo "<hr /> \n <p>Click on
the following links for more pages of results</p> \n <p>";
if ($Page != 1)
{ // If on first page, no need for Previous
Page button echo "<a
href='restaurants.php?Page="; echo $Page-1;
echo "'><< Previous</a> ";
} for($i = 1; $i
<= $TotalPages; $i++) {
if($i == $Page)
{ // Outputting link for current page -
doesn't need to be a link echo "$i ";
} else
{ // Outputting link for other
pages - needs to be a link echo "<a
href='restaurants.php?Page=$i'>$i</a> "; }
}
if ($Page != $TotalPages)
{ // If on last page, no need for
Next Page button echo "<a
href='restaurants.php?Page="; echo $Page+1;
echo "'>Next >></a> "; }
}
?>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php