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

Reply via email to