Ich bekomme es nicht hin!

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

  • Ich bekomme es nicht hin!

    Entweder ich bekomme es so hin:
    Anzeige 1
    -------------------------------
    | Link 1 | Link 1 | Link 1 |
    -------------------------------
    | Link 2 | Link 2 | Link 2 |
    -------------------------------
    | Link 3 | Link 3 | Link 3 |
    -------------------------------
    | Link 4 | Link 4 | Link 4 |
    -------------------------------
    | Link 5 | Link 5 | Link 5 |
    -------------------------------
    | Link 6 | Link 6 | Link 6 |
    -------------------------------
    | Link 7 | Link 7 | Link 7 |
    -------------------------------

    oder:
    Anzeige 2
    -------------------------------
    | Link 1 | Link 2 | Link 3 |
    -------------------------------
    | Link 1 | Link 2 | Link 3 |
    -------------------------------
    | Link 1 | Link 2 | Link 3 |
    -------------------------------
    | Link 1 | Link 2 | Link 3 |
    -------------------------------
    | Link 1 | Link 2 | Link 3 |
    -------------------------------
    | Link 1 | Link 2 | Link 3 |
    -------------------------------
    | Link 1 | Link 2 | Link 3 |
    -------------------------------

    aber nicht so:
    -------------------------------
    | Link 1 | Link 2 | Link 3 |
    -------------------------------
    | Link 4 | Link 5 | Link 6 |
    -------------------------------
    | Link 7 | Link 8 | Link 9 |
    -------------------------------
    | Link10| Link11| Link12|
    -------------------------------
    | Link13| Link14| Link15|
    -------------------------------
    | Link16| Link17| Link18|
    -------------------------------
    | Link19| Link20| Link21|
    -------------------------------
    Hier der Code:
    PHP-Code:
    $_sel mysql_query("SELECT * FROM links");
    $i=0;
    while(
    $y mysql_fetch_row($_sel))
    $x[$i++] = $y[0];
    // wieviel haben wir denn ?
    $count count($x);
    // es sollen 3 Spalten werden
    $spalten 3;
    // macht so viel Zeilen
    $zeilen = ($count $spalten)?(($count -($count $spalten))/ $spalten +1):$count $spalten;
    // Tabelle zeilenweise ausgeben
    echo "<table border=\"1\">\n";
    // Zeile für Zeile
    for( $i 0;$i $zeilen; ++$i )
        {
        echo 
    "\t<tr align=\"center\">\n";
        
    // Spalte für Spalte
        
    for( $ii 0;$ii $spalten; ++$ii )
            {
            
    $res1 mysql_query("SELECT * FROM links LIMIT $i,1");// so gibt er mir Anzeige 1 aus
             //$res1 = mysql_query("SELECT * FROM links LIMIT $ii,1");// so gibt er mir Anzeige 2 aus
            
    while($row mysql_fetch_array($res1))
                {
                
    // wenns nichts mehr gibt, ein &nbsp;
                
    echo "\t\t<td><a href=\"$row[b_link]".($z= isset($x[$i $spalten $ii])?$x[$i $spalten $ii]:"&nbsp;")."\" target=\"_blank\">$row[link]</a></td>\n";
                }
            }
        echo 
    "\t</tr>\n";
        }
    echo 
    "</table>"
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

  • #2
    Check ich nicht!

    Aber auf Pro7 läuft n super Film.

    Aber erläutere noch mal, was dein Script soll.

    Kommentar


    • #3
      Ganz einfach.

      Ich möchte eine Tabelle erstellen die so aussieht wie das hier:
      -------------------------------
      | Link 1 | Link 2 | Link 3 |
      -------------------------------
      | Link 4 | Link 5 | Link 6 |
      -------------------------------
      | Link 7 | Link 8 | Link 9 |
      -------------------------------
      | Link10| Link11| Link12|
      -------------------------------
      | Link13| Link14| Link15|
      -------------------------------
      | Link16| Link17| Link18|
      -------------------------------
      | Link19| Link20| Link21|
      -------------------------------

      Aber momentan bekomme ich es nur so hin:
      Anzeige 1
      -------------------------------
      | Link 1 | Link 1 | Link 1 |
      -------------------------------
      | Link 2 | Link 2 | Link 2 |
      -------------------------------
      | Link 3 | Link 3 | Link 3 |
      -------------------------------
      | Link 4 | Link 4 | Link 4 |
      -------------------------------
      | Link 5 | Link 5 | Link 5 |
      -------------------------------
      | Link 6 | Link 6 | Link 6 |
      -------------------------------
      | Link 7 | Link 7 | Link 7 |
      -------------------------------

      oder:
      Anzeige 2
      -------------------------------
      | Link 1 | Link 2 | Link 3 |
      -------------------------------
      | Link 1 | Link 2 | Link 3 |
      -------------------------------
      | Link 1 | Link 2 | Link 3 |
      -------------------------------
      | Link 1 | Link 2 | Link 3 |
      -------------------------------
      | Link 1 | Link 2 | Link 3 |
      -------------------------------
      | Link 1 | Link 2 | Link 3 |
      -------------------------------
      | Link 1 | Link 2 | Link 3 |
      -------------------------------

      Ich weiß nicht was an dem Script nicht richtig läuft.
      *winks*
      Gilbert
      ------------------------------------------------
      Hilfe für eine Vielzahl von Problemen!!!
      http://www.1st-rootserver.de/

      Kommentar


      • #4
        wird so nicht gehen, da du in der inneren schleife ja immer wieder von neuem die db abfragst und dir damit auch immer wieder von neuem das erste ergebnis holst.

        vorschlag (ungetestet): mach die db-abfrage außerhalb der beiden for-schleifen (bzw. lass sie weg, hast ja schon $_sel) und mach in der inneren for-schleife nur ein mysql_fetch_array ohneerneute abfrage
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          wird die breite berechnet, oder bekommts ne feste breite?

          Ich versteh nicht, warum so viele querys benötigt werden.

          Kommentar


          • #6
            Original geschrieben von mrhappiness
            wird so nicht gehen, da du in der inneren schleife ja immer wieder von neuem die db abfragst und dir damit auch immer wieder von neuem das erste ergebnis holst.

            vorschlag (ungetestet): mach die db-abfrage außerhalb der beiden for-schleifen (bzw. lass sie weg, hast ja schon $_sel) und mach in der inneren for-schleife nur ein mysql_fetch_array ohneerneute abfrage
            ???

            Wie jetzt?
            Modifiziere mal das Script was du meinst.
            Habe schon einiges probiert, bekam aber in den meisten Fällen nur eine Leere Page.
            *winks*
            Gilbert
            ------------------------------------------------
            Hilfe für eine Vielzahl von Problemen!!!
            http://www.1st-rootserver.de/

            Kommentar


            • #7
              Original geschrieben von TobiaZ
              wird die breite berechnet, oder bekommts ne feste breite?

              Ich versteh nicht, warum so viele querys benötigt werden.
              Breite wird auf % gesetzt.

              Das Script stammt aus einem anderen Thread, aber leider bekomme ich es nicht an meine Sache angepasst.

              http://www.php-resource.de/forum/sho...threadid=11532
              *winks*
              Gilbert
              ------------------------------------------------
              Hilfe für eine Vielzahl von Problemen!!!
              http://www.1st-rootserver.de/

              Kommentar


              • #8
                meinte die menge der spalten. Also 3.

                ich denke, du denkst zu kompliziert, aber vielleicht denke ich auch das falsche.

                du hast also in einer datenbank (links) sämtliche Links stehen. Und diese sollen in einer Tabelle dargestellt werden: immer drei stück pro zeile, danach eine neue mit 3 stück pro zeile und so weiter. Ist das alles? Wo ist das Problem?

                Kommentar


                • #9
                  PHP-Code:
                  echo "<table border=\"1\">\n";
                  // Zeile für Zeile
                          
                  $res1 mysql_query("SELECT * FROM links");
                  for( 
                  $i 0;$i $zeilen; ++$i )
                      {
                      echo 
                  "\t<tr align=\"center\">\n";
                      
                  // Spalte für Spalte
                      
                  for( $ii 0;$ii $spalten; ++$ii )
                          {
                                  
                  $row mysql_fetch_array($res1));
                                  echo 
                  "\t\t<td><a href=\"$row[b_link]".($z= isset($x[$i $spalten $ii])?$x[$i $spalten $ii]:"&nbsp;")."\" target=\"_blank\">$row[link]</a></td>\n";
                          }
                      echo 
                  "\t</tr>\n";
                      }
                  echo 
                  "</table>"
                  so hab ich's gemeint. aber wie gesagt: keine garantie
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    Original geschrieben von TobiaZ
                    meinte die menge der spalten. Also 3.

                    ich denke, du denkst zu kompliziert, aber vielleicht denke ich auch das falsche.

                    du hast also in einer datenbank (links) sämtliche Links stehen. Und diese sollen in einer Tabelle dargestellt werden: immer drei stück pro zeile, danach eine neue mit 3 stück pro zeile und so weiter. Ist das alles? Wo ist das Problem?
                    Das Problem ist das ich es immer noch wie Anzeige 1 oder Anzeige 2 hinbekomme aber nicht wie Anzeige 3.

                    Original geschrieben von mrhappiness
                    PHP-Code:
                    echo "<table border=\"1\">\n";
                    // Zeile für Zeile
                            
                    $res1 mysql_query("SELECT * FROM links");
                    for( 
                    $i 0;$i $zeilen; ++$i )
                        {
                        echo 
                    "\t<tr align=\"center\">\n";
                        
                    // Spalte für Spalte
                        
                    for( $ii 0;$ii $spalten; ++$ii )
                            {
                                    
                    $row mysql_fetch_array($res1));
                                    echo 
                    "\t\t<td><a href=\"$row[b_link]".($z= isset($x[$i $spalten $ii])?$x[$i $spalten $ii]:"&nbsp;")."\" target=\"_blank\">$row[link]</a></td>\n";
                            }
                        echo 
                    "\t</tr>\n";
                        }
                    echo 
                    "</table>"
                    so hab ich's gemeint. aber wie gesagt: keine garantie
                    Das ergibt nur eine leere Tabelle. Es wird nichts angezeigt. Er zeigt mir zwar die 3 x 7 Zeilen an, aber sie sind leer!!!
                    *winks*
                    Gilbert
                    ------------------------------------------------
                    Hilfe für eine Vielzahl von Problemen!!!
                    http://www.1st-rootserver.de/

                    Kommentar


                    • #11
                      @Wotan:

                      Haste mich übersehen?

                      Kommentar


                      • #12
                        Ne.
                        schau mal Seite 1 letzter Post.
                        *winks*
                        Gilbert
                        ------------------------------------------------
                        Hilfe für eine Vielzahl von Problemen!!!
                        http://www.1st-rootserver.de/

                        Kommentar


                        • #13
                          Meinst das 10 Post, oder? Hab keine Seiten (Einstellungen)

                          Seh aber auch keine Antwort auf
                          ich denke, du denkst zu kompliziert, aber vielleicht denke ich auch das falsche.

                          du hast also in einer datenbank (links) sämtliche Links stehen. Und diese sollen in einer Tabelle dargestellt werden: immer drei stück pro zeile, danach eine neue mit 3 stück pro zeile und so weiter. Ist das alles? Wo ist das Problem?
                          Was macht denn jetzt die zweite SQL-Query da drin?

                          Kommentar


                          • #14
                            komisch komisch

                            was sagt denn print_r($row) in der inneren for-schleife?

                            und was spricht dagegen, es so zu machen:
                            PHP-Code:
                            $res1 mysql_query("SELECT * FROM links");
                            $nummer=1;
                            echo 
                            "<table>";
                            while (
                            $row=mysql_fetch_array($res1))
                            {
                              if (
                            $nummer==1) echo "<tr>";
                              echo 
                            "\t\t<td><a href=\"$row[b_link]".($z= isset($x[$i $spalten $ii])?$x[$i $spalten $ii]:"&nbsp;")."\" target=\"_blank\">$row[link]</a></td>\n";
                              if (
                            $nummer==3)
                              {
                                 echo 
                            "</tr>";
                                 
                            $nummer=0;
                              }
                               
                            $nummer++;

                            is wahrscheinlich dass, was der liebe tobi meinte (oder nich?)
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              Auf diese Lösung (so ca.) wollte ich hinaus.

                              Aber mir hört ja keiner zu

                              Kommentar

                              Lädt...
                              X