2016-04-07 14 views
1

Ich habe ein Problem mit dem folgenden Code, es zeigt den HTML-Teil, aber nicht die Daten aus meiner Datenbank. Ich versuche nur, die Daten aus der Datenbank in der Dropdown-Liste zu haben, und wenn ich auf find klicke, um es in der Tabelle unten anzuzeigen. Können Sie bitte helfen?PHP Dropdown-Datenbankcode funktioniert nicht?

<?php 
    include 'config.php'; 
?> 
<html> 
    <head> 
     <meta charset="UTF-8"> 
     <title></title> 
    </head> 
    <body> 
     <select name="manufacturer"> 
      <option value="">----ALL----</option> 
     <?php 
      $sql = "SELECT id, manufacturer FROM coop"; 
      $result = $conn->query($sql); 
      while ($r = mysqli_fetch_assoc($result)) 
      { 
       echo "<option value='$r[id]'> $r[manufacturer]</option>"; 
      } 
     ?> 
     </select> 
     <input type="submit" name="find" value="find"/> 
     <br><br> 

     <table border="1"> 
      <tr align="center"> 
       <th>ID</th> <th>Manufacturer</th> 
      </tr> 

      <?php 
      if($_SERVER['REQUEST_METHOD'] == "POST") 
       { 
        $des=$_POST["manufacturer"]; 
        if($des=="") 
        { 
         $result= mysqli_query("SELECT id, manufacturer FROM coop"); 
        } 
        else 
        { 
         $result= mysqli_query($sql); 
        } 
        echo "<tr><td colspan='5'></td></tr>"; 
        while($r= mysqli_fetch_assoc($result)) 
        { 
         echo "<tr>"; 
         echo "<td align='center'>$r[0]</td>"; 
         echo "<td width='200'>$r[1]" . " $r[2]</td>"; 
         echo "<td alig='center' width='40'> $r[3]</td>"; 
         echo "<td align='center' width='200'>$r[4]</td>"; 
         echo "<td width='100' align='center'>$r[5]</td>"; 
         echo "</tr>"; 
        } 
       } 
      ?> 
     </table> 
    </body> 
</html> 
+0

Machen Sie in Ihrem Webbrowser alles, was Sie tun müssen, um den Quellcode der Seite anzuzeigen. Ist das PHP im Quellcode im Webbrowser sichtbar? Wenn es ist, ist das das Problem. Ist dies nicht der Fall, müssen Sie als nächsten Schritt die Fehlerprotokolle prüfen. – kainaw

+0

Sie gehen auch nur davon aus, dass die Abfragen erfolgreich sind. Ganz zu schweigen davon, dass Ihr Code anfällig für SQL-Injection ist, und da Sie mysqli_ verwenden, sollten Sie vorbereitete Anweisungen verwenden, bei denen Benutzereingaben beteiligt sind. – Qirel

+0

Ich sehe keine Fehler, es zeigt die Tabelle und die Dropdown-Liste, und das ist alles, was ich sehen kann – TheShadow

Antwort

0

Ihre queries sind hier falsch

<?php 
     $sql = "SELECT id, manufacturer FROM coop"; 
     $result = $conn->query($sql); 
     while ($r = mysqli_fetch_assoc($sql)) 
     { 
      echo "<option value='$r[0]'> $r[0]</option>"; 
     } 
    ?> 

diese while ($r = mysqli_fetch_assoc($sql))while ($r = mysqli_fetch_assoc($result))

sollten Sie Ihre Assoc mit $result nicht mit $sql

noch holen sollten Sie einige Fehler brüllen Teil haben