MySQL Tabellenspaltenposition ermitteln?

  • Ich habe mal ne vielleicht kuriose Frage:


    Ich hab da so eine Datenbanktabelle mit 2 Spalten und einen üblichen MySQL Query:


    PHP
    $wert_A = "1"
    $wert_B = "2"
    $sql_query = "SELECT spalte_A, spalte_B 
                           FROM tabelle 
                           WHERE spalte_A = '$wert_A' 
                           AND spalte_B = '$wert_B' ";


    Mein Query wird also erstmal zu:


    PHP
    $sql_query = "SELECT spalte_A, spalte_B 
                           FROM tabelle 
                           WHERE spalte_A = '1' 
                           AND spalte_B = '2' ";


    Jetzt ändere ich:


    $wert_A = 2;
    $wert_B = 1;


    Wichtig ist nur, das mein Ergebnis mir alle Reihen auflistet in denen $wert_A UND $wert_B vorkommt... Jetzt ist es so, dass in spalte_A der Wert 2 steht und in spalte_B der Wert 1, also umgegehrt als mein Ursprungswert.
    Mein Query würde dann immer noch die korrekten Reihen ausspucken, soweit so gut....


    ...aber meine Frage ist, kann ich das zusätzlich im Nachhinein überprüfen (mit IF zum Beispiel), ob mein Wert "1" in der spalte_A (linke Spalte) vorkam oder in spalte_B (rechte Spalte) vorkam?


    Hoffe ich habe alles verständlich ausgedrückt, falls nicht bitte nachfragen.


    Gruß

  • willst du jetzt wissen wie man den code ausführt, den rückgabewert in einer variable speichert und das dann als 2dimensionales array ausliest?
    wenn ich das so richtig verstanden habe^^

  • Simpel ausgedrückt, ich möchte irgendwie prüfen können, ob mein $wert_A in Spalte_A oder Spalte_B aufgetaucht war, sprich soetwas:


    PHP
    if ($wert1 = ist in linker spalte) {
       $variable = true;
    }
    elseif ($wert1 = ist in rechter spalte) {
       $variable = false;
    }


    Die MySQL Abfrage wurde aber zuvor schon ausgeführt, ich habe also bereits ein Array (mit while) das mir alle Reihen ausgibt, falls in einer Spalte mein $wert_A ist und falls in der anderen Spalte mein $wert_B ist...


    Es kann also sein, dass mein $wert_A öfters mal in spalte_A auftaucht, und auch öfters mal in spalte_B, aber niemals gleichzeitig in beiden Spalten. Daher würde ich gerne nachdem der Query ausgeführt wurde, prüfen, falls ich eine Reihe erhalten, wo denn $wert_A in dieser Reihe genau war, also ob auf Position 1 (linke Spalte) oder Position 2 (rechte Spalte).


    Hoffe das war jetzt etwas verständlicher ausgedrückt, ansonsten versuche ich es mal mit einem "Live" Beispiel....

  • hä verstehe ich nicht ganz^^
    so sieht dein array aus:
    1|2
    2|1
    2|1
    2|1
    1|2


    und dann einfach

    PHP
    //i ist die zeile die du haben willst
    if(array[$i][0] == $wert_A){
    $variable = "in linker spalte ist wert_A";
    }
    else{
    $variable = "in rechter spalte ist wert_A";
    }
  • Hallo Roland, ich glaube wir kommen da der Sache schon näher, aber dein Code hat einen Syntax Error und ich weiß nicht was er von mir will, sagt immer er hätte gerne eine ( vor dem [ ... aber wenn ich den Code mit () umschließe, meckert er weiter...

  • Also ich weißt nicht wie, aber ich hab's hinbekommen ^^


    Ist eine etwas komplexe Anwendung, deshalb verwirrend hier den ganzen Code und Zusammenhang zu posten, aber letzendlich prüfe ich einfach nur mit IF ob der aktuelle Wert mit dem Wert in Spalte_A oder Spalte B übereinstimmt...


    So einfach kann's gehen manchmal...


    Danke für die Unterstützung!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!