Brauche Hilfe

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

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

    Comment


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

      Comment


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

        Comment


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

          Comment


          • #6
            ja das ist mehr als ausfühlich

            danke ... kannste wohl closen ...

            Comment


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

              Die besteht jetzt nurnoch aus Zahlen von 1-900 .

              Comment


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

                Comment


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

                  Comment


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

                    Comment


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

                      ?>

                      Comment


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

                        Comment


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

                          Comment


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

                            Comment


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

                              Comment

                              Working...
                              X