[MySQL 4.1] Abfrage in mehrere Tabellenfelder

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

  • [MySQL 4.1] Abfrage in mehrere Tabellenfelder

    Hallo,

    folgendes Problem:

    Ich lese aus einer DB die Daten aus. Jetzt will ich Sie per HTML Tabellen
    auf der Seite ausgeben. Es sollten genau 4 Stück sein.

    Ich will aber, dass zwei Tabellen nebeneinander und 2 untereinader sind!

    Also so:


    |--Tabelle1-| |---Tabelle 2---|

    |--Tabelle3--| |---Tabelle4-- |

    Wenn ich es in die Ausgabe schreibe, also die Variablen in ein Gerüst setze,
    dann schreibt er mir in alle das gleiche!

    Wie könnte ich das lösen??

    Vielen Dank djpitti
    Zuletzt geändert von djpitti; 24.09.2004, 10:05.

  • #2
    entweder geschachtelte Tabelle nehmen (schlecht) oder <div> geeignet um die Tabelle drum herum packen (schon besser) oder komplett mit <div> aufbauen (am besten)

    Ohne Code kann man nicht sagen, was falsch läuft.

    Kommentar


    • #3
      Hallo,

      Also dies ist der Code mit dem er mir alles normal ausgibt, aber halt untereinander!

      PHP-Code:
      print("<center>");
       print(
      "<table border=\"0\" width=\"100%\" id=\"table1\" bordercolor=\"#FF0000\">");
       print(
      "<tr>");
         print(
      "<td style=\"border-left-style: solid; border-left-width: 1 px; 
      border-right-style: none; border-right-width: 1px; border-top-style: solid; 
      border-top-width: 1px; border-bottom-style: solid; border-bottom-width: 
      1px\""
      );
          print(
      "<td><a href=\"ergebnis2.php?id=$line[ID]\"><img border=\"0\"
       src=\"
      $line[Bild3]\"width=\"80\" height=\"80\">");
          print(
      "<td style=\"border-left-style: none; border-left-width: medium; 
      border-right-style: solid; border-right-width: 1px; border-top-style: solid; 
      border-top-width: 1px; border-bottom-style: solid; border-bottom-width: 
      1px\" valign=\"top\" width=\"150\">"
      );
          print(
      "<b><font face=\"Verdana\" size=\"2\">$line[Name]</b><p> $line[Ort]</td>");   
          print(
      "</tr>");
           print(
      "<tr>");
          print(
      "<td style=\"border-left-style: solid; border-left-width: 1 px; 
      border-right-style: none; border-right-width: 1px; border-top-style: solid; 
      border-top-width: 1px; border-bottom-style: solid; border-bottom-width: 1px\""
      );
          print(
      "<td><a href=\"ergebnis2.php?id=$line[ID]\"><img border=\"0\"
       src=\"
      $line[Bild3]\"width=\"80\" height=\"80\">");
          print(
      "<td style=\"border-left-style: none; border-left-width: medium;
       border-right-style: solid; border-right-width: 1px; border-top-style: solid; 
      border-top-width: 1px; border-bottom-style: solid; border-bottom-width: 
      1px\" valign=\"top\" width=\"150\">"
      );
          print(
      "<b><font face=\"Verdana\" size=\"2\">$line[Name]</b><p> $line[Ort]</td>");   
       print(
      "</tr>");
      print(
      "</table>"); 
      Und so hab ich es später probiert, und da setzt er mir immer das gleiche rein

      PHP-Code:
      print("<table border=\"1\" width=\"100%\" id=\"table1\">");
      print(
      "<tr>");
      print(
      "<td>$line[Ort]</td>");
      print(
      "<td>$line[xx]</td>");
      print(
      "<td>$line[xx]</td>");
      print(
      "</tr>");
          print(
      "<tr>");
              print(
      "<td>$line[Bild3]</td>");
              print(
      "<td>$line[xx]</td>");
              print(
      "<td>$line[xx]</td>");
              print(
      "</tr>");
      print(
      "</table>"); 
      Wie jetzt weiter??
      EDIT:
      line break sponsored by asp2php. Bitte zukünftig selbst dafür sorgen, dass man beim lesen nicht scrollen muss
      Zuletzt geändert von djpitti; 24.09.2004, 20:32.

      Kommentar


      • #4
        du willst also nur mit Tabellen arbeiten! OK. Grundkonstruk:
        Code:
        <table>
          <tr>
           <td>
              <table>
                 ...
              </table>
            </td>
           <td>
              <table>
                 ...
              </table>
            </td>
           </tr>
          <tr>
           <td>
              <table>
                 ...
              </table>
            </td>
           <td>
              <table>
                 ...
              </table>
            </td>
           </tr>
        </table>
        boah ist das schwer

        Kommentar


        • #5
          Danke erstmal.

          Die Tabellenkonstruktion iss nicht das Problem.

          Wie bringe ich aber PHP dazu mir in jede einzelne Tabelle EINEN Datensatz zu schreiben??

          Wenn ich in jede Tabelle zum Beispiel

          Code:
          $line[Name]
          schreiben steht in jeder Tabelle der gleiche Name.

          Iss natürlich klar, denn er arbeitet ja nur ab.

          Also wie krieg ich das hin, dass wenn er den ersten Datensatz in die erste Tabelle geschrieben hat, den zweiten in die Tabelle daneben schreibt ... usw??

          Ein Codebeispiel wäre nicht schlecht, denn ich kriegs einfach nicht hin

          Danke

          Kommentar


          • #6
            Dann liste doch in der "Tabelle1" die gewünschten Daten aus der DB und in der Tabelle2 andere. Entweder durch einen neuen SELECT-Query oder indem du die Ausgabe in einer bestimmten Weise gruppierst (GROUP BY) und dann schaust, wann eine neue Gruppe beginnt.

            P.S.Ich hoffe ich hab das Problem erkannt

            Kommentar


            • #7
              Wollte ich auch schon. Aber ist mir zu aufwändig.

              Für den kurzen Überblick:

              DB mit 7 Datensätzen

              -Name
              -Alter
              -Ort
              -PLZ
              -Bild1
              -Bild2
              -Bild3

              Ich will auf der Startseite 4 Einträge anzeigen (die nächsten werden mit Blätterfunktion über weitere Seiten verteilt)

              Es sollen halt 2 nebeneinander und 2 untereinander - wie vier Boxen halt.

              Nur wie??

              Ich hab schon vieles probiert - untereinander ist es absolut kein Problem, doch wie schaff ich zwei nebeneinander?

              Denn ich kann nur die Tabellenstruktur angeben und nur einmal die Variablen einsetzen - ansonsten steht wieder einmal in den zwei nebeneinander das gleiche drin!

              djpitti

              Kommentar


              • #8
                Naja, dann zähle die Schleifen-Durchläufe mit und schau dann, ob du eine neue Zeile anfangen musst oder nicht.

                Falls ($i%2 == 0) -> neue Zeile
                ansonsten nicht

                Kommentar


                • #9
                  Huups,

                  komm grad nicht mit.

                  Meinst du ich soll nach abarbeitung des ersten datensatzes eine neue tabelle anfangen???

                  Ich brauch auch einen kleinen Code-Lösungsansatz, da ich noch nicht DER Profi bin :-))

                  Thanks

                  Kommentar


                  • #10
                    Hör mal, ich habe dir ja schon die Lösung dafür gegeben http://www.php-resource.de/forum/sho...740#post296740 ist es denn so schwer, das Codestück umzubauen?

                    Kommentar


                    • #11
                      Aber bitte nicht böse werden

                      ICh bin djpitti - nicht djdjuke!!

                      Ich probiere es jetzt mal aus und hoffe das es funzt.

                      Vielen Dank erstmal an alle.
                      Zuletzt geändert von djpitti; 24.09.2004, 16:30.

                      Kommentar


                      • #12
                        Also nach der kleinen Verwechslung habe ich mich des Posting-Codes angenommen - und es geht wieder nicht!!

                        Ich habe jetzt zwar vier Zellen horizontal aber es steht nur in der ersten was drin.

                        Er gibt den zweiten Satz auch wieder nur im nächsten an - und auch nur das erste Zellenfeld.

                        Ich weis nicht mehr weiter- bitte helftet mir einer!

                        Und mit dem profimässigen coden isses auch noch nicht so weit, also bitte Newbie Tipps!

                        Thanks,

                        Kommentar


                        • #13
                          dann poste doch nochmal Deinen Quelltext, also die aktuelle Version davon.
                          [Test] MySQL cli Emulator

                          Kommentar


                          • #14
                            Code:
                            // test array
                            for ($i=0;$i<21;$i++) $arr[] = $i;
                            
                            echo "<table>\n\t<tr>\n";
                            $i = 0;
                            while ($i<count($arr) )
                            {
                                echo "\t\t<td>".$arr[$line[Stadt]]."".$arr[$line[ID]]."</td>\n";
                                $i++;
                                if ($i%4==0) echo "\t</tr>\n\t<tr>\n";
                            }
                            echo str_repeat("\t\t<td>&nbsp;</td>\n",4-$i%4);
                            echo "\t</tr>\n</table>\n";
                            //ende test
                            Es erscheinen im ersten Satz 21 mal die ID1
                            im zweiten dann 42 mal die ID2
                            usw

                            also iss nicht gut so...

                            Kommentar


                            • #15
                              PHP-Code:
                               echo "\t\t<td>".$arr[$line[Stadt]]."".$arr[$line[ID]]."</td>\n"
                              ???
                              sieht sowieso sehr unlogisch aus aber $line existiert ja nicht in deinem Codebeispiel.
                              Poste mal das komplette Ding, bzw. alle relevanten Stellen
                              [Test] MySQL cli Emulator

                              Kommentar

                              Lädt...
                              X