2013-06-20 3 views
-1

код, который я написал работы, но я до сих пор продолжаю получать:Примечание: Undefined индекс: идентификатор в

Примечание: Undefined индекс: ид в C: \ XAMPP \ HTDOCS \ портфель \ periode4 \ Граден \ массива. php по строке 35.

Кто-нибудь знает, что мне нужно сделать, чтобы увезти уведомление?

<?php 
function connect() 
    { 
    // Make a MySQL Connection 
    $link = mysqli_connect("localhost", "root", "", "school") or die(mysqli_error()); 
    return $link; 
    } 


if($_GET) { 
    $id = $_GET["id"]; 
} 

// select query 
$query = "SELECT * FROM graden" ; 


$result = mysqli_query(connect(),$query); 


// tabel maken 
$table = "<table border='1'>"; 

$table .= "<tr> 
      <th> ID </th> 
      <th>Graden Celcius</th> 
      <th>Aanduiding</th> 
      <th>Image</th> 
     </tr>"; 


// keeps getting the next row until there are no more to get 
    while($row = mysqli_fetch_assoc($result)) { 

    $table .="<tr ".($_GET['id'] == $row['id']?" style='background-color:yellow'":"").">"; 

    // Print out the contents of each row into a table 
    foreach ($row as $key => $value) 
     { 
      if ($key == "Image") 
      { 
       $table .="<td><img src='$value' /></td>"; 
      } 
       elseif ($key == "id") 
       { 
        $table .="<td><a href='array.php?id=$value'>$value</a></td>"; 
       } 
        else 
        { 
         $table .="<td>$value</td>";   
        } 

     } 
     $table .= "</tr>"; 
     } 
     $table .="</table>"; 

     echo $table; 
    // optie lijst 

//maken select query 

$query = "SELECT id, temp FROM graden "; 


//uitvoeren select query 
$result = mysqli_query(connect(), $query) ; 


    //tonen alle gegevens 
    $select = " 
     <form action=\"array.php\" method=\"get\">\n 
      <select name=\"id\">\n 
       <option value='id'>---all---</option>\n 
    "; 
    while($row = mysqli_fetch_assoc($result)) 
     { 
      $select .= "<option value='".$row['id']."'>".$row["temp"]."</option>\n"; 
     } 
      $select .= "</select>\n"; 
      $select .= "<input type=\"submit\">\n"; 
      $select .= "</form>\n"; 

    echo $select; 
+0

Не могли бы вы сосчитать строки и отметить 35-й? Благодарю. –

+0

Кажется, что вы должны использовать '$ id' (а не' $ _GET ['id'] ') в вашем цикле while. – landons

+0

Вы можете начать с чтения этой части документации PHP: http://php.net/manual/en/language.types.array.php В ней содержится объяснение этой ошибки. – Boldewyn

ответ

1

Если нет id параметра на URL, то это будет не в состоянии, конечно:

$table .="<tr ". ($_GET['id'] == $row['id']?" style='background-color:yellow'":"").">"; 

Попробуйте

$table .="<tr ". (isset($_GET['id']) && $_GET['id'] == $row['id']?" style='background-color:yellow'":"").">"; 

но это, вероятно, разорвать логика немного, вам нужно проверьте ..

+0

отлично, что сработало. большое спасибо –