2016-12-22 1 views
0

Ich habe ein HTML-Suchformular mit PHP erstellt, das mit einer MySQL-Datenbank verbindet, findet eine Tabelle mit Spalten und Zeilen und zeigt diese Daten dann mit einem Echo unter der Tabelle an.Wie gebe ich mehr Suchergebnisse aus Mysql-Datenbank aus?

Die Spalten sind ID, Name, Short, Short_withtag und URL, die jeweils spezifische Daten enthalten. Das Problem ist, wenn ich ein Keyword wie pie eingeben (ein solcher Begriff ist in allen Zeilen vorhanden), wird nur ein Suchergebnis angezeigt. Wie kann ich mehr als einen anzeigen lassen? Hier

ist die Abfrage, die ich verwenden:

mysql_query("SELECT * FROM env 
WHERE (`id` LIKE '%".$query."%') OR (`name` LIKE '%".$query."%') OR (`short` LIKE '%".$query."%') OR (`short_withtag` LIKE '%".$query."%') OR (`url` LIKE '%".$query."%')") or die(mysql_error()); 
+0

Veröffentlichen Sie die MySQL-Abfrage, die Sie verwenden. – TheValyreanGroup

+0

Okay, ich habe meinen Post bearbeitet. – Cd5ssmffan

+0

Sie müssen die Ergebnisse der Abfrage in ein Array abrufen und dann jedes Mal das Hinzufügen zu Ihrer $ output-Variablen wiederholen. Sie speichern gerade die erste Zeile der Ergebnismenge. – TheValyreanGroup

Antwort

1

Nehmen Sie einfach alle Zeilen in ein Array und dann geben sie mit einer foreach-Schleife.

Sie können das tun, wie folgt:

$result = mysql_query("SELECT * FROM env 
WHERE (`id` LIKE '%".$query."%') OR (`name` LIKE '%".$query."%') OR (`short` LIKE '%".$query."%') OR (`short_withtag` LIKE '%".$query."%') OR (`url` LIKE '%".$query."%')") or die(mysql_error()); 

// If query is successful 
if ($result) { 

    // Create an empty array to which we're going to put rows 
    $dataForTheOutput = array(); 

    // Now push each row into the array 
    while ($row = mysql_fetch_assoc($result)) { 

     array_push($dataForTheOutput, $row); 

    } 

    // Now you can output data 

    if (empty($dataForTheOutput)) { 

     echo 'No results found'; 

    } else { 

     // Using foreach loop display each row 
     foreach ($dataForTheOutput as $component) { 

      echo "Document ID: ".$component['id']."<br><a href='".$component['url']."'>".$component['name']."</a> (".$component['short_withtag'].")<br><span style='font-size: 12px;'>Bad search result? Try a different keyword</span> 

     } 

    } 

} 

Beachten Sie, dass dies eine ziemlich veraltet ist und nicht sehr sicher oder wartbar Art und Weise, Dinge zu tun.

Verwandte Themen