Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] PHP: Zwei oci_parse Ergebnisse Verbinden

Einklappen

Neue Werbung 2019

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

  • [Erledigt] PHP: Zwei oci_parse Ergebnisse Verbinden

    Hallo ich habe folgendes Prob:
    Ich benötige zwei SQL Abfragebn um Werte aus einer Oracle DB zu holen. Diese sollen dann aber in einer PHP Tabelle in den selben Zellen angezeigt werden. Verwendet man zwei oci_execute wird jeweils eine eigene Spalte aufgebaut. Das soll auf keinen Fall passieren. Anbei ein Beispiel:

    <?php
    $anz = oci_parse($conn,"select x, y, z .... ");
    oci_execute($anz111);

    $durch = oci_parse($conn,"select a, b, c ...");
    oci_execute($durch111);

    Zusammen Führen der Ergebnisse als eine Ausgabemöglichkeit!!!!

    while ($ausga_1 = oci_fetch_array($ausgab)){
    printf("%s",$ausga_1['X']);
    printf("%s",$ausga_1['A']);
    printf("%s",$ausga_1['Y']);
    printf("%s",$ausga_1['B']);
    printf("%s",$ausga_1['........']);}?
    ?>

    Hat einer von Euch da eine Lösung, Idee oder wie kann man es geschickter Lösen???

    Vielen dank im Voraus!!!
    Gruß Wo

  • #2
    Join
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      JOIN???

      Wie kann ich dann die einzelnen Variablen dann noch ansprechen? Es soll ja z.Bsp. so aufgerufen werden:

      <tr>
      <td class="SeitennummerLay"><?php printf("%s",$ausga_1['X'])?></td>
      <td class="InhaltLay"><b><u>
      <?php printf("%s",$ausga_1['Y']);?>&nbsp;/&nbsp;
      <?php printf("%s",$ausga_1['B']);?></u></b><br>
      <?php printf("%s",$ausga_1['Z']);?>&nbsp;<br>&nbsp;
      <?php printf("%s",$ausga_1['A']);}?></td>
      </tr>


      Ist es beim Join dann nicht eine kpl. Zeile?

      Thanks

      Kommentar


      • #4
        Ja - ist doch richtig so, oder? Ich mein, du schreibst, du hast 2 SQL Abfragen, die aber nachher in einer HTML-Tabelle stehen sollen. Also gehst du VORHER hin und verbindest die beiden Tabellen per JOIN miteinander, dann liegen die Daten so vor, wie du sie nachher auch ausgeben willst.

        Oder hab ich was falsch verstanden?
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          Im Prinzip ist das schon ganz richtig gedacht nur sind die SQL's so Komplex und das erste SQL vom zweiten SQL abhängig usw. das ein Join der Beiden SQL's leider nicht möglich ist
          So das eine getrennte Abfrage nötig ist.

          Gibt es den wirklich keine Möglichkeit die Einzelnen Variablen in eine Datei zu schreiben? So das ich sie einzeln in den gewünschten bereichen Plazieren kann.

          Wie würde das ganze den Aussehen wenn ich einzelne Variablen anlege? Wie kann man diese dann Abrufen bzw. als printf ausgeben.
          Kenn mich halt nicht so gut mit PHP aus.

          Schon mal 1000 thx

          Kommentar


          • #6
            Möglichkeiten gibt es immer, aber die naheliegenste schliesst du grade kategorisch aus.

            Natürlich kannst du 2 Abfragen machen, beide Ergebnisse erstmal zwischenspeichern und dann nachträglich mit PHP "irgendwie" miteinander in Relation setzen.

            Das ist aber alles zu unspezifisch, um weiter zu diskutieren. Werd mal konkret, vielleicht kann man dann auch konkret antworten.
            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

            Kommentar


            • #7
              Das Prob. ist zum Bsp. das eine ID sich auf eine andere spalte in der selben Tabelle bezieht. Damit wird eine Vererbung der ersten Seite mit einer anderen Seite verankert. Somit kann im ersten SQL nicht die kpl. Information gewonnen werden. Anbei mal beide SQL's als Muster:

              select seitnr,
              dlayressort,
              dlayname ,
              wm_concat(danzeigekunde) AS anzeigekunde ,
              wm_concat(danzeigenr) as anzeigenr
              from(SELECT l.seitnr,
              l.dlayressort,
              l.dlayname,
              a.danzeigekunde,
              a.danzeigenr,
              max(to_char(a.cgd,'DD.MM.YYYY / HH24:MI:SS')) as CGD_
              FROM bp_layout l left outer join bp_anzeige a
              ON l.dlayausgabe = a.dlayausgabe
              AND l.dlayerscham = a.termin
              AND l.seitnr = a.seitnr
              AND l.ausgabenr = a.ausgabenr
              WHERE l.dlayausgabe = '111'
              AND l.dlayerscham = '".$_POST['PPERSCHAM']."'
              GROUP BY l.seitnr,
              l.dlayressort,
              l.dlayname,
              a.danzeigekunde,
              a.danzeigenr)
              GROUP BY seitnr, dlayressort, dlayname
              ORDER BY seitnr;



              select dlayausgabe AS D_A,
              seitnr AS S_A
              from bp_layout, (SELECT l.cid as c_a,
              l.destid as d_a,
              l.seitnr as s_a
              FROM bp_layout l left outer join bp_anzeige a
              ON l.dlayausgabe = a.dlayausgabe
              AND l.dlayerscham = a.termin
              AND l.seitnr = a.seitnr
              AND l.ausgabenr = a.ausgabenr
              WHERE l.dlayausgabe = '113'
              AND l.dlayerscham = '".$_POST['PPERSCHAM']."'
              GROUP BY l.cid,
              l.destid,
              l.seitnr)
              where cid = d_a
              and seitnr = s_a;


              bin mir nicht sicher ob das mit einem JOIN so einfach zu lösen ist. Wobei ich auch die Laufzeiten im Auge habe.

              Kommentar


              • #8
                OK habe ers mal mit einem JOIN versucht.
                Leider hat er aber nicht alle Spalten des einen select mit denen des anderen Übergeben.
                Will heissen in SQL1 sind es 20 spalten und in SQL2 sind es nur 19.
                Wenn ich beide Verbinde kommen nur 19 raus.

                Ich glaube ich habe da noch einen Denkfehler drinn

                Hat jemand eine grobe konzept Idee???

                Gruß F.ake

                Kommentar

                Lädt...
                X