2 Tabellen, nur bestimmte Sachen anzeigen & andere Bedingungen... wie ?

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

  • 2 Tabellen, nur bestimmte Sachen anzeigen & andere Bedingungen... wie ?

    Also, ich bin an dieses Problem schon von mehreren Seiten herangegangen. Also lest ech büdde ganz genau durch, wie ich das haben will :

    Dies ist in Tabelle 1:
    Rohstoff-Nr | Rohstoff | Gruppe | Menge

    Dies ist in Tabelle 2:
    Rohstoff-Nr | ID | Status | Bestand

    Dabei kann es sein, dass in Tabelle 2 nicht nur ein Eintrag in ID, Status und Bestand ist, sondern auch mal 3. Außerdem soll jede 2. Zeile Andersfarbig aussehen. Also z.B. blau/grün/blau/grün .... usw. ,hab ich auch schon hingekriegt

    Ein Ausschnitt aus der fertigen Tabelle sollte da z.B. so aussehen:

    Rohstoff | Rohstoff-Nr | Gruppe | Menge | ID | Status | Bestand
    - - - - -| - - - - - - - | - - - - -| - - - | - - | - - - | - - - - -
    [COLOR=blue]B12 . . . |167012 . . . | RS . . . . | 300 |04509|30 . | 26[/COLOR]
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    [COLOR=green]B10 . . . | 167010 . . . | RS . . . . |1000|04162| 30 . . | 20
    . . . . . . . . . . . . . . . . . . . . . . . . . . . . 04510 | 30 | 10[/COLOR]
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    [COLOR=blue]B23 . . . |117902 . . . | RS . . . . | 200 |02309|30 . | 29[/COLOR]


    Was auch noch dazu kommt, ich aber au schon selbst hingekriegt hab, ist, dass er nur die Anzeigen soll, wo Gruppe RS ist und Status 30 ist.
    Also mein Hauptproblem ist eben, dass bei manchen Sachen eben 2 Sachen bei ID stehen und die aber auch in ein Feld zusammenrein kommen. Also wie muss das dann aussehen ¿
    pls helft mir
    (wer irgendwas nicht verstanden hat, was ich meine, soll bitte nochma fragen)
    Zuletzt geändert von Mr.Bremnskerl; 20.10.2003, 13:08.

  • #2
    wie sieht denn deine aktuelle sql-abfrage aus, mit der du bis hierhin gekommen bist?
    Kissolino.com

    Kommentar


    • #3
      bis dahin bin ich ja noch nich gekommen, so will ichs nur haben (

      Ich kriegs einfach nisch hin. Hab schon so vieles ausprobiert, und nun so viele dateien, dass ich nich mehr durchblicken tu...

      Das beste, was bis jetzt korrekt war, ist ein view, den ich nur mit php billig ausgegeben habe...
      Also nicht wie ich es will, da dort dann folgendes leider ein 2 verschieden Zeilen stand:

      B100 1670100 RS 1750.00 04258 30 1544.60
      B100 1670100 RS 1750.00 04675 30 2250.00

      Es soll aber so:
      B100 1670100 RS 1750.00 04258 30 1544.60
      . . . . . . . . . . . . . . . . . . 04675 30 2250.00

      So soll das in einer Zeile Stehen...

      Kommentar


      • #4
        Wie wäre es, wenn Du mal die entsprechenden Code-Zeilen hier postest, damit wir mal sehen können, wo der Fehler liegt?

        Kommentar


        • #5
          das is eine ausgabesache, die mit sql nix zu tun hat

          das zauberwort heißt gruppenwechsel und hier findest du erste anhaltspunkte: http://php-resource.de/forum/showthr...threadid=18639
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            PHP-Code:
            <?php  /* Auf Tabelle 1 zugreifen */
                   
            $sqlOfenQuery "SELECT STOFFID,STOFFBEZ,STOFFGRPID,MINMENGE FROM STF";
                   
            $sqlOfen odbc_exec($conn$sqlOfenQuery);
                   while (
            $Ofen odbc_fetch_array($sqlOfen)) {
                   if (
            $tablecolor == "#ffffff")
                   {
            $tablecolor "#c0c0c0";} else {$tablecolor "#ffffff";}
              echo 
            "<TR BGCOLOR=\"$tablecolor\">\n";
            ?>
                <td valign="top"><?php print $Ofen['STOFFBEZ']; ?></td>
                <td valign="top"><?php print $Ofen['STOFFID']; ?></td>
                <td valign="top"><?php print $Ofen['STOFFGRPID']; ?></td>
                <td valign="top"><?php print $Ofen['MINMENGE']; ?></td>
                <td valign="top"><?php
              
            /* LOTID LADEN */

                     
            $fnrquery "SELECT STOFFID, LOTID FROM VLAG"
                     
            ." WHERE STOFFID=" $Ofen['STOFFID'] ." INNER JOIN VLAG ON STF.STOFFID = VLAG.STOFFID";
                     
            $sqlfnr odbc_exec($conn$fnrquery);
                     while (
            $fnr odbc_fetch_array($sqlfnr)) {
                     if (
            $fnr['STOFFID'])
                     echo 
            $fnr['LOTID'] . "<BR>\n"; }

                     
            ?>
            Nun... Ab Spalte LOTID, sagt er nur noch Fehler.

            ---
            außerdem kann man das mit dem
            INNER JOIN VLAG ON STF.STOFFID = VLAG.STOFFID"
            sich wegdenken. Das hatn Kerl hier nur sinnloser Weise dazugeschrieben.
            Zuletzt geändert von Mr.Bremnskerl; 20.10.2003, 14:14.

            Kommentar


            • #7
              Original geschrieben von Mr.Bremnskerl
              Nun... Ab Spalte LOTID, sagt er nur noch Fehler.
              die da wären?
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                da sagt er z.B. in einem Feld:

                Warning: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Ungültiger Spaltenname 'Z8700A'., SQL state S0022 in SQLExecDirect in c:\inetpub\wwwroot\investition\1\index.php on line 87

                Warning: odbc_fetch_array(): supplied argument is not a valid ODBC result resource in c:\inetpub\wwwroot\investition\1\index.php on line 88

                Kommentar


                • #9
                  Dabei ist Z8700A auch die StoffID...

                  [Und in den meisten Feldern in Spalte LOTID steht garnichtz]

                  Kommentar


                  • #10
                    Z8700A ist ein string und gehört daher in hochkommas

                    PHP-Code:
                    $sql.="WHERE STOFFID='" $Ofen['STOFFID'] ."' INNER JOIN ..."
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      . . . ?
                      was kommt denn nach inner join?
                      wie muss das jenau aussehn ¿

                      Kommentar


                      • #12
                        so wie jetzt, wenn du Z8700A ohne hochkomma schreibst, sucht der sql-server nach datensätzen, die in den spalten STOFFID und Z8700A die gleichen werte stehen haben, da es aber keine spalte Z8700A gibt, fliegst du auf die schnauze
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          WAs is? ich geb gar nichts ein. Ich will nur die Tabelle ausgeben. Und der sagt einfach mal Fehler. Und genau deswegen, weil ich mich wohl noch nich so gut mit sql auskenne, denke ich dass es eine besser LÖsung gibt, als so wie ich daran gegangen bin. Deshalb würd ich mich ja freuen, wenn mir wer sagen würde, mit welchem Befehl ich das am besten machen sollte. Oder wie das ganze Script aussehen müsste ;P

                          Kommentar


                          • #14
                            falsch:
                            PHP-Code:
                            "WHERE STOFFID=" $Ofen['STOFFID'] ." INNER JOIN ..."
                            richtig:
                            PHP-Code:
                            "WHERE STOFFID='" $Ofen['STOFFID'] ."' INNER JOIN ..."
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              ja was "..." ???

                              Kommentar

                              Lädt...
                              X