M@rk: Tabellenname als Variable übergeben - geht nicht!

Hallo Leute,

als ziemlicher Newbie habe ich ein kleines Problem.
Ich fülle mehrere Tabellen mittels eines Formulars mit Inhalt. Dieses Formular enthält ein Drop-down Menue um die Daten in die richtige Tabelle zuzuweisen.

} elseif ($_GET['mode'] == "insert") {
/* datensatz hinzufügen */
$spid = $_POST['spid'];
$Tabelle = $_POST['tabelle'];
$Datum = $_POST['datum'];
$Uhrzeit = $_POST['uhrzeit'];
$MannschaftA = $_POST['mannschafta'];
$MannschaftB = $_POST['mannschaftb'];
$Ergebnis = $_POST['ergebnis'];
$Bericht = $_POST['bericht'];
$strSQL = "INSERT INTO $Tabelle (datum, uhrzeit, mannschafta, mannschaftb, ergebnis, bericht) VALUES ('$Datum', '$Uhrzeit', '$MannschaftA', '$MannschaftB', '$Ergebnis', '$Bericht')";
mysql_query($strSQL) or die(mysql_error());
header("Location: <a href="http://mydomain/show_user.php");
}

Nach der Übergabe in die Tabelle wird in der show_user.php der Inhalt der Tabelle neu zur Anzeige ausgegeben. Bei dieser Ausgabe gebe ich ebenfalls den Tabellennamen per Variablen mit.

<?php
// SQL-Abfrage
    include("connect2db.inc.php");
    $query = mysql_query("SELECT spid, datum, uhrzeit, mannschafta, mannschaftb, ergebnis, bericht FROM '$Tabelle' ORDER BY spid");
    $result = mysql_fetch_array( $query) or die (mysql_error());

Dies geht leider nicht, da ich vermute, daß die varable $Tabelle leer ist. ich denke mal, daß die show_user.php die Varable nicht kennt.

Was mache ich falsch bzw. wie kann ich es ändern, daß es funktioniert, da ich mit meinem kleinen Wissen am Ende bin.

Gruß M@rk

  1. Hallo!

    ....
    ....
    ....
    Du machst es spannend ;-)

    Nach der Übergabe in die Tabelle wird in der show_user.php der Inhalt der Tabelle neu zur Anzeige ausgegeben.

    Bei dieser Ausgabe gebe ich ebenfalls den Tabellennamen per Variablen mit.

    Wie?

    <?php
    // SQL-Abfrage
        include("connect2db.inc.php");
        $query = mysql_query("SELECT spid, datum, uhrzeit, mannschafta, mannschaftb, ergebnis, bericht FROM '$Tabelle' ORDER BY spid");
        $result = mysql_fetch_array( $query) or die (mysql_error());

    Dies geht leider nicht, da ich vermute, daß die varable $Tabelle leer ist. ich denke mal, daß die show_user.php die Varable nicht kennt.

    Mache doch einen Abfragestring: $sql = "SELECT ...... ...
    gib ihn aus: echo $sql;
    Mache die Abfrage: $query = mysql_query($sql) ...
    Zeige etwaige Fehler an: echo mysql_error();

    Beste Grüße
    Viennamade

    1. Das mit der Abfrage hat ja bisher mit einer Tabelle funktioniert, nur seit ich es wie beschrieben mit dem pull-down dynamisch mache geht es nicht mehr. Ich müßte ja bei deiner abfrage auch angeben welche Tabelle ich ausgeben will, und das soll ja automatisch vom beschreiben der Tabelle übernommen werden. D.h. ich schreibe über mein Formular Daten in die Tabelle X und will nachdem ich sie beschrieben habe die Daten von Tabelle X wieder auslesen, um zu sehen ob ich die Daten richtig eingeben wurden...

      Gruß M@rk

      1. Hallo!

        Das mit der Abfrage hat ja bisher mit einer Tabelle funktioniert, nur seit ich es wie beschrieben mit dem pull-down dynamisch mache geht es nicht mehr. Ich müßte ja bei deiner abfrage auch angeben welche Tabelle ich ausgeben will, und das soll ja automatisch vom beschreiben der Tabelle übernommen werden. D.h. ich schreibe über mein Formular Daten in die Tabelle X und will nachdem ich sie beschrieben habe die Daten von Tabelle X wieder auslesen, um zu sehen ob ich die Daten richtig eingeben wurden...

        Also ich sehe in den Scriptschnitzeln Deines Ausgangsposting nicht, woher show_user.php für die Variable $Tabelle einen Inhalt bekommen würde.

        Hingegen erlese ich dort Deine Vermutung, daß die $Tabelle leer ist.

        Beste Grüße
        Viennamade