zahlen mit zeilenumbruch nach x-ter zahl ausgeben

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

  • zahlen mit zeilenumbruch nach x-ter zahl ausgeben

    Hallo Forum,

    ich möchte gerne zahlen von z.b. 1-100 ausgeben, wobei nach jeder zwanzigsten zahl ein zeilenumbruch folgen soll.

    z.B.

    1 2 3 4 5 6 7 8 9 10 .. 20
    21 22 23 24 25 .... 40
    41 42 43 44 45 .... 60
    usw.

    Einen Ansatz habe ich schon, allerdings erzeugt der folgende code lediglich nach der Zahl 20 einen einzigen umbruch.
    Ich möchte aber gerne, dass ich nach jeder zwanzigsten Zahl einen Umbruch erhalte.

    for ($i=0; $i<150; $i++) {
    echo " ".$i;
    if ($i>20) {
    echo " <br>";
    }
    }

    Ich würde mich freuen, wenn mir jemand einen tipp oder die lösung geben könnte.

    Besten Dank für alles.

    Viele Grüße aus köln.

  • #2
    Tausch mal dein

    PHP-Code:
    if ($i>20) { 
    gegen

    PHP-Code:
    if (($i 20 == 0) && ($i != 0)) { 
    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      RE: zahlen mit zeilenumbruch nach x-ter zahl ausgeben

      Vielen Dank!

      Das hat geklappt.

      Eine Frage noch:

      Ich mache zudem noch einen Select auf meine Datenbanktabelle und habe zwei Felder, die ich selectiere.

      Feld 1: feldnummer
      Feld 2: Pfad zu einem Bild

      Mein Ziel:

      Die Bilder aus "Feld 2" sollen immer in den Feldern angezeigt werden, bei denen der Wert aus dem Tabellenfeld ($i) = dem Feld "feldnummer" aus meiner Datenbank ist.

      Da ich mehrere Treffer z.B. im Tabellenfeld 1, 4, 22, 68 und 73 haben könnte, sollen diese Treffer dementsprechend auch angezeigt werden.

      Beispiel:

      Meine Felder sind in der Tabelle nun durchnummeriert.
      Das sieht jetzt so aus:

      1 2 3 4 5 ... 20
      21 22 23 24 25 ... 40
      usw.

      Wenn also mein Datensatz die Feldnummer 1 und 4 und 22 und 68 und 73 hat, dann sollen die Bilder in den entsprechenden Tabellenfelder erscheinen, jedoch sollen alle anderen Tabellenfelder die noch leer sind dennoch angezeigt werden.

      Mein Ansatz:

      <?php

      for ($i=0; $i<150; $i++) {

      echo "<td>";
      if ($datensatz['sternchen']=$i) {
      echo $i;
      while ($datensatz = mysql_fetch_array($ergebnis)) {
      echo '<img border="0" alt="Jara" name="stern_img1" id="stern_img1" src="';
      echo $img2; // <--Der Pfad zu dem Bild
      echo '"></a>';
      break;
      }

      }
      echo "</td>";

      // if ($i>9) {
      if (($i % 20 == 0) && ($i != 0)) {
      echo $tr;
      }

      }

      ?>

      Leider werden hier die Treffer in den Feldern 1-5 angezeigt. Das ist aber leider falsch.

      Kann mir hier bitte jemand nen Tipp oder die Lösung anbieten?

      Besten Dank und viele Grüße aus Köln!

      Kommentar


      • #4
        1) Benutz mal die PHP Tags vom Forum.
        2)

        PHP-Code:
         if ($datensatz['sternchen']=$i) {
        echo 
        $i;
        while (
        $datensatz mysql_fetch_array($ergebnis)) { 
        Meinst du nicht das ist irgendwie falsch herum?
        gruss Chris

        [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

        Kommentar


        • #5
          RE: zahlen mit zeilenumbruch nach x-ter zahl ausgeben

          Doch, du hast natürlich Recht.
          Aber ich sehe leider nicht, warum meine Abfrage nichts ausgibt, wenn ich es richtig herum mache, also so rum:

          PHP-Code:
                while ($datensatz mysql_fetch_array($ergebnis)) {
                if (
          $datensatz['sternchen']==$i) { 

          Wenn ich es wie oben beschrieben mache, dann erhalte ich leider nichts. Die Seite bleibt also leer.

          Irgendwie habe ich was übersehen. Bin eben noch nicht so gut darin. Ich gebe mir aber Mühe und lese auch die Doku. Nur manchmal hilft mir diese auch nicht weiter.

          Du kannst dir das Ergebnis gerne mal anschauen.

          [URL=http://84.44.194.234/sternenhimmel/tbl.php]

          Viele Grüße aus Köln!

          Kommentar


          • #6
            zählste das $i in der while-Schleife auch hoch? oder vergisst du das da

            ich seh schon, das machst du vorher in der for-schleife, aber warum durchläufst du dann die ganze Tabelle nochmal und SELECTs dann nicht einfach nur WHERE sternchen = $i oder so?

            mysql_query(SELECT was, auch, immer FROM tabelle WHERE sternchen = ".$i)
            Zuletzt geändert von stekoe2000; 09.02.2008, 14:48.
            Liebe Grüße,
            SteKoe!

            PHP Tutorials
            Peter Kropff | Quakenet | Schattenbaum.net

            Kommentar


            • #7
              MMh das is alles fürn A**** :P

              1)
              PHP-Code:
              // Gerade erst gesehen ... = ist falsch wenn dann == oder ===
              if ($datensatz['sternchen']=$i) { 
              Denkansatz
              PHP-Code:
              // Hol hier die Daten die du brauchst und speicher die in einem Array
              // $array[$sternchen][$wert]


              for ($i=0$i<150$i++) 
              {
                
              // Dein Tabellencode
                
              if (array_key_exists($i$array))
                echo 
              $array[$i];

              gruss Chris

              [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

              Kommentar


              • #8
                Aber so wie du beschrieben hast, bekomme ich doch nur den ersten Treffer, oder nicht?

                Kommentar


                • #9
                  Zudem bekomme ich immer die Meldung:

                  Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in D:\Webserver\htdocs\sternenhimmel\test\tbl1.php on line 61

                  Kommentar


                  • #10
                    Dann prüf doch mal, warum $array eben kein Array ist.

                    Kommentar


                    • #11
                      außerdem sollte man code nicht einfach blind übernehmen. wahrscheinlich wollte hhcm nur auf etwas aufmerksam machen. daher solltest du das $array mal durch dein(!) array austauschen.

                      gruß
                      peter
                      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                      Meine Seite

                      Kommentar

                      Lädt...
                      X