2017-12-03 1 views
1

ich relativ neu bin in PHP mit MySQL-Codierung. Hier ist das Problem: Ich möchte einen Radio-Button ausgewählt basierend auf dem Ergebnis, das ich von meiner Abfrage bekomme. Aus Gründen der Einfachheit wähle ich nur das Feld aus, das ich für die Aufgabe benötige. Insgesamt ist die gesamte Website ein Reparatursystem für einen lokalen Computerladen, in dem ich arbeite, und es ist mein Senior-Projekt für eine Klasse, die ich an meiner Hochschule absolviere. In der Datenbank unter anderen Bereichen gibt es einen adapter, die den Wert von „cust“ oder „csc“ denn wenn Kunden bringen in ihrem Computer hat (vor allem eines Laptop), und wenn wir ihren Netzteil oder bei uns verwenden.PHP richtiges Optionsfeld basierend auf dem Ergebnis einer Abfrage

Die Abfrage ist

$query = "SELECT adapterType FROM repair WHERE repairID = '$repairID'"; 
    $result = mysqli_query($mysqli, $query); 
    list($adapter) = mysqli_fetch_row($result); 

Wenn ich den Wert des Adapters Echo aus, bekomme ich den Wert, den ich will.

Auf einer anderen Seite habe ich eine Liste von Reparaturen und neben jedem ist eine Update-Taste, die die Reparatur aus der repairID basierend lädt. Auf der RepairUpate-Seite habe ich verschiedene Textfelder, die bestimmte Werte enthalten, die zu diesem Feld in der Reparaturtabelle gehören. Ich habe auch die Radioknöpfe für den Adaptertyp. Ich habe

<input type=\"radio\" name=\"adapter\" value=\"csc\"> CSC A/C 
    <input type=\"radio\" name=\"adapter\" value=\"cust\"> Cust A/C 

Wie kann ich das richtige Optionsfeld ausgewählt werden muß oder „geprüft“ basierend auf dem Wert von $ Adapter, die ich aus der Abfrage erhalten?

Ich weiß, dass dies ein sehr langer Pfosten ist, aber ich hatte alles zu erklären. Vielen Dank für Ihre Geduld.

+0

> CSC A/C > Cust A/C – jeff

+0

Ihr Code ist anfällig für SQL-Injektionen. Bitte lerne stattdessen, [vorbereitete Aussagen] (https://www.youtube.com/watch?v=nLinqtCfhKY) zu verwenden. –

+0

@ tereško während vorbereitete Anweisungen Aktualisierung ist am besten, sagen die OP zu SQL-Injection offen ist derzeit Spekulation, wie sie 'mysqli_real_escape_string()' oder andere zu entkommen, auf '$ repairID' verwenden werden können. – Sean

Antwort

1

wird eine einfache ternäre erlauben Sie checked="checked"

$checked = ($adapter == 'csc') ? 'checked="checked"' : ''; 

Wo Sie mehrere Tasten haben zu setzen, können Sie diese in einer Schleife erstellt, um die ausgewählte Prüfung -

$array = array("csc"=> "CSC A/C", "cust" => "Cust A/C"); 
foreach($array as $value => $name) { 
    $checked = ($adapter == $value) ? 'checked="checked"' : ''; 
    echo "<input type=\"radio\" name=\"adapter\" value=\"{$value}\" {$checked}> {$name}"; 
} 
+0

Vielen Dank! Bevor ich meinen Beitrag schrieb, sah ich andere Antworten, die denen ähnelten, die Sie gepostet hatten, aber sie haben nicht funktioniert. Mit freundlichen Grüßen, danke! –

Verwandte Themen