Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Fehler bei Array-Ausgabe

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Fehler bei Array-Ausgabe

    HTML-Teil -> suche.html
    Code:
    <form action="result.php" method="POST">
    <select name="autos[]" multiple>
     <option value="mercedes">Mercedes</option>
     <option value="toyota">Toyota</option>
     <option value="renault">Renault</option>
     <option value="vw">Volkswagen</option>
     <option value="bmw">BMW</option>
    </select>
    </form>
    PHP-Teil -> result.php
    Code:
    include ("db.php");
    
    $sql = "SELECT * FROM kunden WHERE $autos LIKE 'true' ORDER BY 'firma'";
    					
    $result = mysql_query($sql);
    $resultsnumber = mysql_numrows($result);
    while ($row = mysql_fetch_array($result)) {
    
    echo = "$row["name"]";
    
    }				
    mysql_close();
    Fehlermeldungen
    Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

    Frage
    Ich habe 5 verschiedene Spalten mit den Automarken. Nun soll man über die ComboBox mehrere gleichzeitig auswählen können. Die Variablen werden dann an die result.php geschickt, wo dann alle Automarken ausgegeben werden, die den Wert TRUE haben. Leider kommt, wie oben bereits angeben, Fehler.

    Weiß jemand, woran das liegen könnte ?
    Vielen Dank im Voraus und euch allen noch eine gute Nacht.

    --Chandler

  • #2
    also erstmal werden Variablen in SQL Statements nicht automatisch ersetzt, außerdem solltest du sowas machen wie
    Code:
    WHERE autos = '".$_POST['autos']."'

    Kommentar


    • #3
      du kannst nicht einfach in die where bedingung ein array element einfügen
      dies wär ein möglichkeit:
      Code:
      $end="WHERE"; 
      foreach($_POST['autos'] as $value){
      $end.=" " . $value . " LIKE 'true' AND";
      }
      $end=substr($end,0,strlen($end)-3);
      $end.="ORDER BY 'firma'";
      $sql="SELECT * FROM kunden . $where;

      Kommentar


      • #4
        Hallo, bist du dir sicher, dass das so richtig ist:
        Code:
        $sql="SELECT * FROM kunden . $where;
        Weil da auch wieder Fehler kommen. Woher nimmt er denn die Variable $where ?

        Kommentar

        Lädt...
        X