array im query

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

  • array im query

    ich versuche ein array element in einem query zu verwenden, wobei der key eine andere tabellen spalte sein soll. zb:

    Code:
    ....
    FROM tabelle1
    LEFT JOIN tabelle2 ON tabelle2.datum = ' ".$datum[."tabelle1.id".]." '
    ...
    dass es wie oben nicht geht ist mir klar, aber wie müsste man das schreiben?
    mir geht es nicht um den sinn des obigen querys sondern nur um die schreibweise in solchen fällen.


    vielen dank im voraus.

  • #2
    Geht so nicht. PHP baut einen String zusammen, wobei $variable selbstverständlich ersetzt wird, auch $array['index'], aber wenn 'index' selbst erst zur "Laufzeit der Query" feststeht, kann PHP es nicht kennen.
    Der DB kannst du die Ersetzungen ebenfalls nicht überlassen, denn sie kennt wiederum den Inhalt von $array nicht.
    Mußt also erst eine Query absetzen, um tabelle1.id in eine PHP-Variable zu holen und diese dann für die Konstruktion der eigentlichen Query zu benutzen.

    Eine theoretische Alternative wäre, einfach alle Elemente des Arrays in die Query einzubauen und diese so zu schreiben, dass sie sich das entsprechende Element selbst greift, sobald tabelle1.id feststeht. Ich wüßte aber nicht wie das gehen sollte, außer mit einer temporary table, was sicherlich weniger performant wäre, als eine separate Query vorab.

    Kommentar


    • #3
      hmm... so gesehen total einleuchtend. hab es jetzt mit ner tmp tabelle gelöst.

      vielen dank nochmal.

      Kommentar

      Lädt...
      X