Brauche Hilfe

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

  • Brauche Hilfe

    Hi

    Ich habe eine Tabelle in meiner datenbank mit diesen spalten :

    zeile,spalte,id

    so ..... nun will alle Datenasätze auslesen und in am Desktop wiedergeben . das ganze in einer Tabelle

    Also so ungefähr :

    <table border=1>
    <tr><td>1</td><td>2</td><td>3</td>usw. .....


    Das schwierige dabei ist aber , dass in einer Zeile der Tabelle nur 30 datensätze kommen sollen und dann eine neue zeile angefangen wird ...

    wer könnte mir da am besten mal ein kleines Beispiel geben ?

  • #2
    Die einfachste aber sicher nicht performanteste Variante ist wohl nen simplen zähler mitlaufen zu lassen und über einen Zyklus den Wert des Zählers zu testen.
    Findet man eine durch 30 teilbare zahl vor, wird die zeile abgeschlossen und ne neue begonnen...

    Kommentar


    • #3
      ohohh .... das versteh ich gar nicht

      Kommentar


      • #4
        gesucht und gefunden in diesem Forum
        TBT

        Die zwei wichtigsten Regeln für eine berufliche Karriere:
        1. Verrate niemals alles was du weißt!


        PHP 2 AllPatrizier II Browsergame

        Kommentar


        • #5
          ok, du liest die daten als array aus der DB aus. und kannst dann mit der variante

          i=0;

          while ($row=mysql_fetch_array($array)) {
          i++;
          if ( test ob vielfaches von 30) {
          zeile beenden
          } else {
          weiter auf bisheriger zeile
          }
          }

          alle gefunden datensätze durchlaufen lassen und den test mit if ausführen...
          Falls die bedingung wahr wird beendest du die zeiel mit </tr> und fängst ne neue an.

          Kommentar


          • #6
            ja das ist mehr als ausfühlich

            danke ... kannste wohl closen ...

            Kommentar


            • #7
              Hmm ... aber wie bekomme ich die Daten aus meiner Datenbakn in den Array ?

              Die besteht jetzt nurnoch aus Zahlen von 1-900 .

              Kommentar


              • #8
                bei nur einer Spalte in der Abfrage:

                $i=0;
                while($x=mysql_fetch_row($result))
                $array[$i++]=$x[0];

                wie sieht denn deine SQL-Abfrage aus?
                TBT

                Die zwei wichtigsten Regeln für eine berufliche Karriere:
                1. Verrate niemals alles was du weißt!


                PHP 2 AllPatrizier II Browsergame

                Kommentar


                • #9
                  das sieht jetzt so aus :


                  $felder_sel=mysql_query("SELECT feldid from felder");


                  $i=0;
                  while($x=mysql_fetch_row($felder_sel))
                  $array[$i++]=$x[0];


                  Und jetzt wird nicht außer eine leere Tabelle ausgegben ....

                  Kommentar


                  • #10
                    gib mal nen bissel mehr Code ringsrum
                    TBT

                    Die zwei wichtigsten Regeln für eine berufliche Karriere:
                    1. Verrate niemals alles was du weißt!


                    PHP 2 AllPatrizier II Browsergame

                    Kommentar


                    • #11
                      PHP-Code:
                      <html><body>

                      <?
                      include("mysql_inc.php");

                      $felder_sel=mysql_query("SELECT feldid from felder");


                      $i=0;
                      while($x=mysql_fetch_row($felder_sel))
                      $array[$i++]=$x[0];





                       
                      // unser Array 
                      //$y = mysql_fetch_array($felder_sel);






                      // wieviel haben wir denn ?
                      $count = count( $x );
                      // es sollen 3 Spalten werden
                      $spalten = 30;
                      // macht so und 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>\n"; 
                          // Spalte für Spalte
                          for( $ii = 0;$ii < $spalten; ++$ii ) {
                              // wenns nichts mehr gibt, ein &nbsp;
                              echo "\t\t<td>" . ( isset( $x[$i * $spalten + $ii] )?$x[$i * $spalten + $ii]:"&nbsp;" ) . "</td>\n";
                          } 
                          echo "\t</tr>\n";

                      echo "</table>";


                      ?>

                      </body></html>
                      und die mysql_inc.php sieht so aus :

                      PHP-Code:
                      <? 
                      include("db_var.php");

                      $mysql = @mysql_connect($db_host, $db_user, $db_pass); 
                      $db = @mysql_select_db($db_name); 

                      unset($db_host); 
                      unset($db_user); 
                      unset($db_pass); 
                      unset($db_name); 

                      if(!$mysql || !$db) 

                       echo "mySQL-Verbindung nicht möglich"; 
                       exit; 


                      function db_query($query,$showerror=true) 

                       $result = mysql_query($query); 

                       if(!$result && $showerror) 
                       { 
                        echo '<pre><b>mySQL-Fehler</b><br>mySQL: ' . mysql_error() . '<br>Query: ' . $query . '</pre>'; 
                        exit; 
                       } 
                       return $result; 

                      ?>

                      Kommentar


                      • #12
                        $count = count( $x );


                        in meiner damals geposteten Routine heißt das Array
                        nicht $array, sindern $x => änder das mal !
                        TBT

                        Die zwei wichtigsten Regeln für eine berufliche Karriere:
                        1. Verrate niemals alles was du weißt!


                        PHP 2 AllPatrizier II Browsergame

                        Kommentar


                        • #13
                          jetzt schaút das so aus .


                          $i=0;
                          while($x=mysql_fetch_row($felder_sel))
                          $x[$i++]=$x[0];


                          Aber geändert hat sich wieder nichts , leider

                          Kommentar


                          • #14
                            Original geschrieben von inq39
                            jetzt schaút das so aus .


                            $i=0;
                            while($x=mysql_fetch_row($felder_sel))
                            $x[$i++]=$x[0];


                            Aber geändert hat sich wieder nichts , leider
                            damit überschreibst du $x doch ständig, wenn dann schon

                            $i=0;
                            while($y=mysql_fetch_row($felder_sel))
                            $x[$i++]=$y[0];
                            TBT

                            Die zwei wichtigsten Regeln für eine berufliche Karriere:
                            1. Verrate niemals alles was du weißt!


                            PHP 2 AllPatrizier II Browsergame

                            Kommentar


                            • #15
                              Ohh ja ... jetzt funzt das DANKE !

                              Kannst du mir auch noch verraten was ich im Code ändern muss das jede zahl die Ausgegben wird gleichzeitig ein Link zu ner anderen seite ist , wo die Zahl im Link mitübertragen wird ?

                              Kommentar

                              Lädt...
                              X