Ankündigung

Einklappen
Keine Ankündigung bisher.

Variable Tabelle einer MySQL ansteuern?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Akkulader
    hat ein Thema erstellt Variable Tabelle einer MySQL ansteuern?.

    Variable Tabelle einer MySQL ansteuern?

    Moin!

    Ich programmiere momentan ne App für Android, für die es nötig ist, verschiedene Tabellen meiner MySQL Datenbank anzusteuern.
    Ich will dafür aber nicht viele verschiedene .php Dateien erstellen, sondern alles in einer Regeln.

    Erstmal die .php Datei:
    PHP-Code:
    <?php

    //hier wird die Verbindung zur Datenbankhergestellt
    include("connect.php");

    // SQL Query abschicken
    $result mysql_query("SELECT * FROM spieltag");
        
    //Schleife bis alle Eintragungen in Array gespeichert
        
    $listenArray["Liste"] = array();
        while(
    $row mysql_fetch_array($result)) {
            
    $listeneintrag = array();
            
    $listeneintrag["manA"] = $row["manA"];
            
    $listeneintrag["torManA"] = $row["torManA"];
            
    $listeneintrag["rotManA"] = $row["rotManA"];
            
    $listeneintrag["manB"] = $row["manB"];
            
    $listeneintrag["torManB"] = $row["torManB"];
            
    $listeneintrag["rotManB"] = $row["rotManB"];
    Es geht um folgende Zeile:
    Code:
    mysql_query("SELECT * FROM spieltag");
    Wie kann ich hier die Tabelle spieltag2 , spieltag3 usw anwählen?
    Ich möchte, dass die App bei der Abfrage den Wert mitliefert.

    Hier mal der Code der App:
    ArrayList<Spiel> spiele = new ArrayList<Spiel>();
    [...]
    JSONArray datenArray = jsonErgebnis.getJSONArray("Liste");

    for (int i = 0; i<datenArray.length(); i++)
    {
    JSONObject einzelsatz = datenArray.getJSONObject(i);



    spiele.add
    (new Spiel
    (einzelsatz.getString("manA"),

    einzelsatz.getString("torManA"),
    einzelsatz.getString("rotManA"),

    einzelsatz.getString("manB"),
    einzelsatz.getString("torManB"),
    einzelsatz.getString("rotManB")
    )
    );

  • Tropi
    antwortet
    Ja, aber dann könnte man eben auch einfach anmerken, dass das ganze Unternehmen keine gute Idee ist. Denn mit einem falschen Ansatz kommen in der Regel ein Haufen Folgefehler mit, die man gleich am Anfang vermeiden kann.

    Einen Kommentar schreiben:


  • nameless97
    antwortet
    Zitat von nikosch Beitrag anzeigen
    Ich nich. Man muss den TE doch nicht noch im falschen Weg bestärken.
    Du meinst die Tabellen überhaupt so zu strukturieren? Das finde ich auch nicht gut. Ich meinte im Bezug auf die Vorgabe.

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Die Tabellen waren vom TE doch schon so vorgegeben, oder verstehe ich da was falsch? Ich finde die Lösung durchaus sinnhaft.
    Ich nich. Man muss den TE doch nicht noch im falschen Weg bestärken.

    Einen Kommentar schreiben:


  • monolith
    antwortet
    Ja. Es wurde dazu keine aussagekräftige Abgabe gemacht. Insofern kann der Lösungsvorschlag auch daneben sein. Steht aber extra auch als Kommentar dabei.

    Einen Kommentar schreiben:


  • nameless97
    antwortet
    Zitat von ChristianK Beitrag anzeigen
    Au ja, durchnummerierte Tabellen
    Die Tabellen waren vom TE doch schon so vorgegeben, oder verstehe ich da was falsch? Ich finde die Lösung durchaus sinnhaft.

    Einen Kommentar schreiben:


  • monolith
    antwortet
    Dafür gibt's einen Button.

    Einen Kommentar schreiben:


  • ChristianK
    antwortet
    Au ja, durchnummerierte Tabellen

    Solche Hilfestellung würde ich gerne negativ bewerten.

    Einen Kommentar schreiben:


  • monolith
    antwortet
    So:
    - Aufruf der Datei mit Parameter (Annahme: Datei heißt index.php): "index.php?tabelle=spieltag2"
    - PHP:
    PHP-Code:
    $tabelle null;
    if (isset(
    $_GET['tabelle'])) {
        
    $tabelle $_GET['tabelle'];
    }

    // Idee: Ein Array mit den Namen aller erlaubten Tabellen.
    // Das dient zur Validierung der Eingabe und zur Verhinderung von MySQL-Injections.
    // (Nur eine Moeglichkeit, vielleicht ist sie fuer dein Vorhaben nicht geeignet.)
    $tabellen = array('spieltag1''spieltag2''spieltag3');

    if (! 
    in_array($tabelle$tabellen)) {
        die(
    'Ungültige Tabelle!');


    ...

    $result mysql_query("SELECT * FROM $tabelle"); 
    ... 

    Einen Kommentar schreiben:

Lädt...
X