[MySQL 4.1] Abfrage in mehrere Tabellenfelder

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [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
    Last edited by djpitti; 24-09-2004, 09: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.

    Comment


    • #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
      Last edited by djpitti; 24-09-2004, 19:32.

      Comment


      • #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

        Comment


        • #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

          Comment


          • #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

            Comment


            • #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

              Comment


              • #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

                Comment


                • #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

                  Comment


                  • #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?

                    Comment


                    • #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.
                      Last edited by djpitti; 24-09-2004, 15:30.

                      Comment


                      • #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,

                        Comment


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

                          Comment


                          • #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...

                            Comment


                            • #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

                              Comment

                              Working...
                              X