Tabelle mittels Variable auswählen

knallbernd

Erfahrenes Mitglied
Hi,

habe folgendes (Anfänger-) Problem.
Und zwar habe ich ein Formular mit Radiobuttons aus denen ich die jeweiligen values von "kurs" in eine Variable speichere. Funktioniert wunderbar.
Nun würde ich allerdings gerne mittels dieser Variable einen Tabelleneintrag auslesen.

PHP:
$x = $HTTP_POST_VARS["kurs"];

$abfrage = "SELECT '".mysql_real_escape_string($x)."' FROM lehrende";

$ergebnis = mysql_query($abfrage);

echo "$ergebnis";

Komm allerdings nicht auf den richtigen Lösungsweg und wäre für jede Hilfe dankbar. Zeigt mir immer Resource id #3 an.

In weiterer Folge sollen dann zu dem jeweiligen Eintrag dynamisch Formulare erstellt werden, aber zuerst müsste ich hier mal weiterkommen ;-).
 
Zuletzt bearbeitet:
Gib am besten eine Liste mit gültigen Werten vor (so viele wird es ja wohl nicht geben). So kann es nicht aufgrund von Fehleingaben zu Problemen kommen.
PHP:
$allowedColumns = array(
	'foo',
	'bar',
	// …
);
if( isset($_POST['kurs']) && !in_array($_POST['kurs'], $allowedColumns) ) {
	// Ungültiger Eingabewert!
}
 
Danke schon mal für die prompte Antwort.
Mögliche Falscheingaben sind noch nicht wirklich das Problem (trotzdem danke, werde
ich einsetzen).
Die Fehlermeldung ist noch immer dieselbe - auch bei korrekter Eingabe. Bin mir nicht ganz sicher ob $abfrage in der form korrekt ist (wegen der Variable).
 
Zuletzt bearbeitet:
PHP:
 $abfrage = "SELECT `".mysql_real_escape_string($x)."` FROM `lehrende`";
hab mal die Hochkommas verändert. geht es nun?
 
PHP:
$abfrage = "SELECT `".$HTTP_POST_VARS["kurs"]."` FROM `lehrende`";
vielleicht so. wenn nicht schau mal über PHPMyAdmin, wie der die Abfrage gestalltet zu dem genauen wert, den du haben willst.
 
Das Problem ist ja wenn ich den genauen Wert (also sagen wie mal "test") eingebe dann findet er's ja. Dürft ein Problem mit der Variablenweitergabe sein. Die Variable selbst gibt er mir ja auch ohne Probleme aus. Hmm...
 
dann schau doch einfach mal, was in deiner weitergegebenen Variable überhaupt steht. vielleicht bringt dich das ja schon weiter...
 
Da steht der korrekte Wert drinnen.
Hab's auch so probiert:

PHP:
$x = $HTTP_POST_VARS["kurs"];

$abfrage = "SELECT * FROM lehrende";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
   {
   echo "$row->...";

   }

Nur wie setze ich die Variable korrekt ein (bei echo) - steh gerade auf der Leitung (ist auch insgesamt wohl nicht die eleganteste Lösung aber egal...).
 
So, mittlerweile geschafft. Nun bräuchte ich noch einen Denkanstoß :).
Nun werden die Werte schön mittels echo "$row[0]" ausgegeben.
Ich würde nun gerne dynamisch ein Formular erstellen in dem zum jeweiligen Eintrag aus der Datenbank eine gewisse Anzahl an Radiobuttons erzeugt wird. Das Problem ist nur dass ich es nicht hinbekomme
den jeweiligen Einträgen einen spezifischen Namen zuzuweisen und das Formular dann "insgesamt" abzuschicken. Vielleicht hat ja jemand eine Idee...

PHP:
while($row = mysql_fetch_array($ergebnis)) 
{ 
   echo "$row[0]<br>
   <form method=\"post\" action=\"formular.php\">
   Deine Bewertung? 
   <input type=\"radio\" name=\"auswahl[]\" value=\"1\">
   <input type=\"radio\" name=\"auswahl[]\" value=\"2\"><br>
   <input value=\" Beurteilung absenden\" type=\"submit\">
   </form>
   "; 
}

So wird's klarerweise immer einzeln abgeschickt.
 
Zurück