2016-04-18 18 views
-1

Momentan habe ich eine Abfrage, die mit dem folgenden Code nach 'Verfügbarkeit' gesucht hat;Suche nach Texteingabe

$status = 'available'; 
$stmt = $pdo->query('SELECT * FROM orders WHERE idorder = "' . $status . '"'); 
$results = $stmt->fetchAll(); 

Meine Frage ist; Wie kann ich die Variable von $ status von 'available' zu dem ändern, was in das Suchfeld eingegeben wurde?

+0

Verwenden Sie ein HTML-Formular ein übergeben Daten zur Abfrage? –

+0

Wenn Sie PDO verwenden möchten, dann schlau genug sein, eine vorbereitete Anweisung und Parameter für '$ status' zu verwenden, anstatt den Wert direkt einzufügen und sich selbst zu sql injection zu öffnen - http://stackoverflow.com/questions/ 60174/how-can-i-prevent-sql-injection-in-php – Sean

+0

Wo ist Ihr Suchfeld Code? ist es ein '' innerhalb eines '

'? Verwenden Sie 'method =" GET "' oder 'method =" POST "'? – Sean

Antwort

0

Index.HTML

<form action="file.php" method="get"> 
<input type="text" name="status"> 
<input type="submit" value="Submit"> 
</form> 

file.php

<?php 
    $status=$_GET['status']; 
    $stmt = $pdo->query('SELECT * FROM orders WHERE idorder = "' . $status . '"'); 
    $results = $stmt->fetchAll(); 
?> 
+0

Was ist Datei.php? – Mehmvq

+0

Das wäre die Datei, auf die Ihr Formular verweist. MySQL ist eine serverseitige Sprache, was bedeutet, dass Sie die 'Status' -Eingabe zurück an den Server senden müssen, bevor Sie die Abfrage durchführen. – stackunderflow

1

Dies ist Ihre Suchseite:

myhtml.php

<?php 

if(isset($_POST["btnsubmit"]) && !empty($_POST["btnsubmit"])) 
{ 
    $status = $_POST["status"]; 
    $stmt = $pdo->query('SELECT * FROM orders WHERE idorder = "' . $status . '"'); 
    $results = $stmt->fetchAll(); 

} 

?> 

<form action="myhtml.php" method="POST"> 
<input type="text" name="status"> 
<input type="submit" value="Submit" name="btnsubmit"> 
</form>