2016-07-28 2 views
0

Also ich versuche, einen Wert basierend auf Benutzereingaben aufzurufen. Ich habe den Code für das Formular geschrieben, aber ich muss den Wert vom Server basierend darauf, was der Benutzer auf dem Formular eingibt, aufrufen.Gibt es eine Möglichkeit, Datenbankwerte anhand von Benutzereingabewerten mithilfe des HTML-Formulars anzuzeigen? Wenn ja, wie kann ich das tun?

Dies ist, was ich bisher geschrieben haben:

@$conn = new mysqli($host, $user, $pass, $db_name); 
$resault = $conn->query("SELECT * FROM field_data_field_paint_efficeincy_"); 
$rows=$resault->fetch_all(MYSQLI_ASSOC); 
echo '<pre>',print_r($rows),'</pre>';foreach($rows as $row){ 
echo $row['field_paint_efficeincy__value'], '<br>'; 
} 
?> 
<form action="" method="post"> 
    Variable: <input type="number" name="P" value="0" /> <br/> 
+0

Dies funktioniert nur, wenn Sie * Ihren Code richtig einrücken. Auch eine 'WHERE'-Klausel vielleicht. – mario

+0

Das hat mich gestört, ich weiß nicht, wie ich das WHERE schreiben soll, also kann ich es aus dem Formular aufrufen, und das ist, weil ich nicht mit mysql von innerhalb von PHP vertraut bin. Wie kann ich diesen Wert nennen? –

+0

'WHERE p =?' Mit gebundenen Parametern; nicht wie die rohen Antworten raten. Sehen Sie sich das Handbuch oder http://stackoverflow.com/documentation/php/275/using-a-database/2685/preventing-sql-injection-with-parametrized-queries#t=201607281502298987126 – mario

Antwort

-1

Etwas wie folgt aus:

<?php 
if(isset($_GET["P"])) { 
    $conn = new mysqli($host, $user, $pass, $db_name); 
    $resault = $conn->query("SELECT * FROM field_data_field_paint_efficeincy_ WHERE field_paint_efficeincy__value = '" . $_GET["P"] . "'"); 

    //Assuming field_paint_efficeincy__value is the column that should match the input value 

    if ($resault->num_rows > 0) { 
     while($row = $resault->fetch_assoc()) { 
       echo $row['field_paint_efficeincy__value'] . "<br />"; 
     } 
    } 
    $conn->close(); 
} 
?> 

<form action="<?php echo $_SERVER['PHP_SELF']?>" method="get"> 
    Variable: <input type="number" name="P" value="0" /> <br/> 
    <input type="submit" value="Submit" name="submitButton" /> 
</form> 
+0

an. Was wäre wenn ich müsste tun Sie es mit Text? Ich meine ja, ich muss die Eingabe von "Nummer" in "Text" ändern, aber die if-Anweisung würde nicht funktionieren, weil ich versuche, eine Nummer anzurufen. Nein? –

-1

Sind Sie versuchen, ein Formular Vorlage als eine dynamische Variable in der Abfrage zu benutzen? Wenn dies der Fall ist, müssen Sie den gebuchten Wert abrufen und als Variable zuweisen, die in der Abfrage verwendet werden soll. Bitte denken Sie daran, Ihre Posteinreichungen zu bereinigen und zu schützen. Dies ist kein sicheres Beispiel.

<?php 
$p = $_POST['P']; 
$resault = $conn->query("SELECT * FROM field_data_field_paint_efficeincy_ where p='$p'"); 
?> 

Angenommen p ist der Name der Datenbankspalte.

Verwandte Themen