2016-11-07 5 views
0

Ich schrieb diesen Code und nach dem Klicken auf "Senden" -Schaltfläche wird keine Tabelle mit Daten angezeigt. Ich habe überprüft, ob nazwa1 eine Zeichenfolge enthält, aber es wird nichts anzeigen. Ich bin neu in PHP und HTML, also habe ich keine Gewissheit, dass das ein guter Code ist. Ich lese einige Webseiten und ich denke mein Code sieht gut aus. Ich habe überall nach Antworten gesucht und nichts gefunden. Danke für die Hilfe.PHP-Tabelle zeigt keine Daten

 <?php 

       $link=mysqli_connect(connect_data); 

        if(mysqli_connect_errno()){ 
        printf("Nie udało się połączyć: %s", mysqli_connect_error()); 
        exit();}; 

     echo "<div class=\"row\">"; 
      $query = "SELECT Distinct Nazwa FROM vDane "; 
      $result = mysqli_query($link, $query); 
       echo "<div class=\"col-xl-12 marginesy\">"; 
       echo "<div class=\"row\">"; 
        echo "<div class=\"col-xl-3\">"; 
         echo "<select name=\"nazwa1\" class=\"form-control form-control-sm\" placeholder=\"nazwa1\">"; 
         echo "<option value=\"Pracownik\">Pracownik</option>"; 
         while($row = mysqli_fetch_array($result)){ 
          echo "<option value=".$row['Nazwa'].">" .$row['Nazwa']. "</option>"; 

         } 
         echo "</select>"; 
        echo "</div>"; 
      $query = "SELECT Distinct Date FROM vDane "; 
      $result = mysqli_query($link, $query); 
        echo "<div class=\"col-xl-3\">"; 
         echo "<select class=\"form-control form-control-sm\" name=\"Date\" placeholder=\"Date\">"; 
         echo "<option value=\"Data\">Data</option>"; 
         while($row = mysqli_fetch_array($result)){ 
          echo "<option value=".$row['Date'].">" .$row['Date']. "</option>"; 

         }      
         echo "</select>"; 
         //$first_option = $_POST(['Date']); 

        echo "</div>"; 
        echo "<div class=\"col-xl-3\">"; 
         echo "<select class=\"form-control form-control-sm\" name=\"data\" placeholder=\"Data\">"; 
         echo "</select>"; 
        echo "</div>"; 
        echo "<div class=\"col-xl-3\">"; 
         echo "<form action=\"\" method=\"POST\">"; 
         echo "<input class=\"btn btn-primary btn-sm \" type=\"submit\" name=\"find\" value=\"Submit\">"; 

         echo "</select>"; 
        echo "</div>"; 


       echo "</div>"; 
       echo "<div class=\"row tabela\" style=\"overflow: scroll !important\">";   
       echo "<table class=\"table table-bordered table-md\">"; 
       echo "<thead>"; 
        echo "<tr>"; 
         echo "<th>Imię Nazwisko</th>"; 
         echo "<th>Data</th>"; 
         echo "<th>Godzina</th>"; 
         echo "<th>Wej/wyj</th>";    
        echo "</tr>"; 
       echo "</thead>"; 
       echo "<tbody>"; 
       if(isset($_POST['find'])){ 

        $second_option = $_POST['nazwa1']; 
        echo "<div class=\"alert alert-success\" role=\"alert\">"; 
         echo "<a href=\"#\" class=\"alert-link\">".$second_option."</a>"; 
         echo "</div>"; 
        if($second_option == "Pracownik"){ 
         $query = "SELECT * FROM vDane "; 
         $result = mysqli_query($link, $query); 
         $row = mysqli_fetch_array($result); 

        } 
        if($second_option != "Pracownik"){ 
         $query = "SELECT * FROM vDane WHERE Nazwa = $second_option"; 
         $result = mysqli_query($link, $query); 
         $row = mysqli_fetch_array($result);   
        } 

         foreach($row as $row){ 
          echo "<tr>"; 
          echo "<th scope=\"row\">".$row['Nazwa']."</th>"; 
          echo "<td>".$row['Date']."</td>"; 
          echo "<td>".$row['Time']."</td>"; 
          echo "<td>".$row['Scan_ID']."</td>"; 
          echo "</tr>";  
         } 
        echo "</tbody>"; 
        echo "</table>"; 
        echo "</form>"; 



        } 
       mysqli_close($link); 

       ?> 

Antwort

0

Versuchen Sie, eckige Klammern oder Backticks um Ihren Tabellennamen zu setzen.

$query = "SELECT [Distinct Nazwa] FROM vDane "; 
    $query = "SELECT `Distinct Nazwa` FROM vDane "; 

Es scheint mir, wie es versucht, „Distinct“ als Tabelle auswählen, statt „Distinct Nazwa“. Laut einigen Stack Overflow-Fragen sollte einer der oben genannten Fehler beheben, wenn das der Fall ist.

+0

Aber es ist nicht mein Problem in droplist Ich habe Daten aus der Datenbank, aber wenn ich eine auswählen, wird es nicht in einer Tabelle angezeigt. – Komin

+0

Es sieht so aus, als würde es nicht zur zweiten gehen, wenn es $ second_option überprüft, aber ich weiß jetzt nicht, warum es gut für mich aussieht. – Komin

+0

Versuchen Sie, dies zu nehmen und es über die select-Anweisung (rechts unter div class = 'col-xl-3 ') echo "

"; Es sieht für mich so aus, als würde die select-Anweisung nicht als Teil des Formulars gezählt, also wird sie nicht für $ second_option gesetzt. – Rhea