Hallo Leute!
Ich habe da mal ein Problem. Ich habe ein Formular erstellt, dass mir in einem Radio-Button-Feld eine ID speichert, die ich benötige, um mir einen bestimmten Datensatz anzeigen zu lassen. Das ganze habe ich freilich in PHP gelöst. Hier ist dazu mal der Ausschnitt aus dem Quellcode, der das Formular anzeigt. Dieses Formular ist eigentlich eine Tabelle, die alle Datensätze der DB anzeigt. Den Button zum Weitersenden habe ich mal weggelassen.
Von diesem Formular aus wird es zur Ergebnisseite weitergesendet. Dort habe ich aber das Problem, dass die ID ja eine Zahl ist, ich aber bei $_POST["radio_auswahl"] nur einen String zurückbekomme, den ich also in der Where-Klausel nicht so ohne Weiteres verwenden kann.
Mein Code sieht in der Ergebnisdatei folgendermaßen aus:
Doch leider bringt er mir bei dieser Version schon in der SQL-Anweisung einen Fehler.
Hier nochmal die SQL-Anweisung:
Kann mir da jemand weiterhelfen?
Ich habe da mal ein Problem. Ich habe ein Formular erstellt, dass mir in einem Radio-Button-Feld eine ID speichert, die ich benötige, um mir einen bestimmten Datensatz anzeigen zu lassen. Das ganze habe ich freilich in PHP gelöst. Hier ist dazu mal der Ausschnitt aus dem Quellcode, der das Formular anzeigt. Dieses Formular ist eigentlich eine Tabelle, die alle Datensätze der DB anzeigt. Den Button zum Weitersenden habe ich mal weggelassen.
Code:
while($ar = mysql_fetch_array($res,MYSQL_ASSOC))
{
echo "<tr>";
echo "<td><input type='radio' name='radio_auswahl' value='",$ar["id"],"'/>";
// 1. Spalte Datum
echo "<td>",$ar["system_timestamp"],"</td>";
// 2. Spalte Name
echo "<td>",$ar["rueckruf_name"],"</td>";
// 3. Spalte Rückrufnummer
echo "<td>",$ar["rueckruf_telefon"],"</td>";
echo "</tr>";
}
Mein Code sieht in der Ergebnisdatei folgendermaßen aus:
Code:
if (isset($radio_auswahl))
{
$sql = "SELECT * FROM new_telefon WHERE new_telefon.id =".$_POST["radio_auswahl"]." ORDER BY system_timestamp DESC";
// Speichern der Abfrage in $res
$res = mysql_query($sql);
echo mysql_error();
// Speichern des Datensatzes in das Array $datensatz
while($datensatz = mysql_fetch_array($res,MYSQL_ASSOC))
{
echo "<form action ='ds_ergebnis.php' method ='POST'>";
// Aufbau des Formulars zur Änderung des gewünschten Datensatzes
echo "<table border='0'cellpadding='2' cellspacing='1' width='450' >";
echo "<tr>";
echo "<td>ID</td>";
echo "<td><input type='text' name='id' value='",$datensatz["id"],"' readonly/></td>";
echo "</tr>";
echo "<tr>";
echo "<td>Datum</td>";
echo "<td>",$datensatz["system_timestamp"],"</td>";
echo "</tr>";
echo "<tr>";
echo "<td>Rückrufnummer</td>";
echo "<td><input type='text' name='nummer' tabindex='1' value='",$datensatz["rueckruf_telefon"],"'</td>";
echo "</tr>";
echo "<td>Name</td>";
echo "<td><input type='text' name='name' tabindex='2' value='",$datensatz["rueckruf_name"],"'/></td>";
echo "</tr>";
echo "</table>";
echo "<input type='hidden' name='original_id' value='",$_POST["radio_auswahl"]."'/>";
echo "</form>";
}
// Ende if-Anweisung
}
Hier nochmal die SQL-Anweisung:
Code:
$sql = "SELECT * FROM new_telefon WHERE new_telefon.id =".$_POST["radio_auswahl"]." ORDER BY system_timestamp DESC";