Anfänger - Richtige Darstellung

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

  • Anfänger - Richtige Darstellung

    Hallo Leute,

    bin noch recht neu hier (auch was php/mySQL betrifft) habe ein kleines Problem mit der richtigen Darstellung komme leider den ganzen Tag nicht - habe hier schon das Forum durchsucht aber ausnahmsweise nichts gefunden!! – und meine Bücher helfen mir auch leider nicht weiter.

    Also ich hole mir aus einer Datenbank einige Daten (Bildbeschreibung, Bildname, usw.) und möchte diese Bilder (ca. 30-40St.) Reihenweise dargestellt bekomme – so 4 Bilder je Reihe. Die Bilder selbst sind in einem Verzeichnis gespeichert.

    Ich habe es mit Div und nicht mit Tabellen versucht um Quelltext zu sparen - leider werden alle Bilder nur in einer Reihe dargestellt.

    Was muss ich nun ändern um z.B. nur 4 Bilder je Reihe anzeigen zu lassen??? – falls mein Ansatz mit den Div falsch ist kann ich auch gerne darauf verzichten und das ganze mit Tabellen machen.

    Hier mein Quelltext:
    PHP-Code:


    <?php
       
    /* Verbindung aufnehmen */
      
    mysql_connect("localhost""root""");

       
    /* Datenbank auswählen */
       
    mysql_select_db("daten");
       
       
    /* Datenbankabfrage */
        
    $sqlab =  'SELECT * FROM `bilder` WHERE `verein` = CONVERT(_utf8
     \'verein0815\' USING latin1) COLLATE     latin1_general_ci AND `bild` = 
    CONVERT(_utf8 \'1\' USING latin1) COLLATE latin1_general_ci'

               
       
    /* SQL-Abfrage ausführen */
       
    $res mysql_query($sqlab);

       
    /* Anzahl Datensätze ermitteln und ausgeben */
       
    $num mysql_num_rows($res);
       echo 
    "$num Fronten gefunden<br>";

       
    /* Datensätze aus Ergebnis ermitteln, */
       /* in Array speichern und ausgeben    */
       
    while ($dsatz mysql_fetch_assoc($res))
       {
         echo 
    "<div class='bilder1'>";
         echo 
    $dsatz["datei"] . "<br>";
         echo 
    "<td><img src='../images/verein/100/100/" $dsatz["bild_nr"] . ".jpg'</td><br>";
         echo 
    "<a href='#'>Infos</a><br>";
         echo 
    "</div>";    
        }
    ?>

    Danke für eure Hilfe!
    Zuletzt geändert von Dino113; 21.01.2007, 23:22.

  • #2
    Das wurde hier schon desöfteren gepostet. Modulo ist dein Freund:
    PHP-Code:
    $cnt 0;
    while ( 
    /*... */ )
    {
        if (
    $cnt != && ($cnt == 0))
        {
            echo 
    '<br />';
        }
        
    $cnt++;

    Nieder mit der Camel Case-Konvention

    Kommentar


    • #3
      Erst mal Danke für diene schnelle Hilfe

      ich glaube ich habe deine Lösung nicht richtig eingebaut...

      PHP-Code:

      $cnt 
      0;
      while (
      $dsatz mysql_fetch_assoc($res))

       echo 
      "<div class='bilder1'>";
           echo 
      $dsatz["datei"] . "<br>";
           echo 
      "<td><img src='../images/verein/100/100/" $dsatz["bild_nr"] . ".jpg'</td><br>";
           echo 
      "<a href='#'>Infos</a><br>";
           echo 
      "</div>";    

      {
          if (
      $cnt != && ($cnt == 0))
          {
              echo 
      '<br />';
          }
          
      $cnt++;

      im moment zeigt er mir leider nichts an .. auch keine Fehlermeldung.

      Kommentar


      • #4
        Da hast du die öffnende geschweifte Klammer des while-Konstrukts aber auch ziemlich besch...eiden platziert...
        Nieder mit der Camel Case-Konvention

        Kommentar


        • #5
          Da du ja sicherlich unsere Regeln gelesen hast, wäre es nett, wenn du auch deinen Code umbrechen musst, damit ich den Firefox nicht über 2 Monitore ziehen muss, nur um dein Post lesen zu können.

          Danke
          Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
          var_dump(), print_r(), debug_backtrace und echo.
          Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
          Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
          Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

          Kommentar


          • #6
            also ich glaube ich habe Tomaten auf den Augen...



            PHP-Code:
            $cnt 0;
            while (
            $dsatz mysql_fetch_assoc($res))
            {
             echo 
            "<div class='bilder1'>";
                 echo 
            $dsatz["datei"] . "<br>";
                 echo 
            "<td><img src='../images/verein/100/100/" $dsatz["bild_nr"] . ".jpg'</td><br>";
                 echo 
            "<a href='#'>Infos</a><br>";
                 echo 
            "</div>";    


                if (
            $cnt != && ($cnt == 0))
                {
                    echo 
            '<br />';
                }
                
            $cnt++;

            es ist wahrscheinlich die Unwissenheit eines Anfängers aber ich kriege es nicht hin

            Es wir immr noch alles in einer Zeile angezeigt....
            Zuletzt geändert von Dino113; 21.01.2007, 21:00.

            Kommentar


            • #7
              Du hast da auch ein ziemlich erschreckendes Konstrukt aus einem div und einem total zusammenhangslosem td-Teil einer scheinbar nicht existierenden Tabelle zusammen geklebt...
              PHP-Code:
              while ($dsatz mysql_fetch_assoc($res))
              {
                  if (
              $cnt != && ($cnt == 0))
                  {
                      echo 
              '<br />';
                  }

                  echo 
              $dsatz['datei'];

              ... wird definitiv nach jedem vierten Datensatz einen Zeilenumbruch ausspucken. Sobald du das durchschaut hast, kannst du dir nochmal überlegen, wie genau du die Datensätze ausgeben möchtest und was sich als "Trenner" eignen würde. Ein Zeilenumbruch tut's nämlich nicht immer.
              Nieder mit der Camel Case-Konvention

              Kommentar


              • #8
                Die td-Teile sind auch falsch .... ich habe es schon gelöscht .. es sollte nur aus einem Div bestehen.

                Wasmachst du jetz aber mit dem $cnt++; ?? - es taucht in dem letztem Vorschlag nicht mehr auf.... ????
                Zuletzt geändert von Dino113; 21.01.2007, 21:22.

                Kommentar


                • #9
                  Es vergessen haben... Mein Fehler. Das kommt am besten nach dem echo. Und? Hast du die simplere Variante schon ausprobiert?
                  Nieder mit der Camel Case-Konvention

                  Kommentar


                  • #10
                    also es wir alles nur ein einer Spalte angezeigt:

                    Bild
                    Bild
                    Bild
                    Bild

                    Bild
                    Bild
                    Bild
                    Bild

                    Bild
                    Bild
                    Bild
                    Bild

                    usw.

                    aber alle 4 Bilder wird die Spalte für eine Zeile getrennt !

                    Sollte ich besser auf Tabellen umstellen?

                    Kommentar


                    • #11
                      Na du müsstest das Prinzip doch jetzt verstanden haben, oder? Insofern dürfte es nicht mehr so schwer sein, das so anzupassen, wie du es haben möchtest. Eine Tabelle würde ich dafür nur bedingt nehmen.
                      Nieder mit der Camel Case-Konvention

                      Kommentar


                      • #12
                        ..also ich verstehe es immer noch nicht warum die Daten Spaltenweise und
                        und nicht Zeilenweise ausgegebenwerden.

                        Das <br\> wird doch alle 4 Div´s ausgeführ es sollten doch also 4 Bilder je Zeile angezeigt werden oder vertausche ich da etwas ????
                        Zuletzt geändert von Dino113; 21.01.2007, 21:40.

                        Kommentar


                        • #13
                          1. Frage: Haste mal im Quelltext geguckt ob du wirklich alle 4 Bilder ein <br /> ausgibst?

                          2. Frage: Sind deine Divs richtig gefloatet?
                          Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                          Kommentar


                          • #14
                            Problem gelöst - ein dickes DANKE an alle!!

                            Kommentar

                            Lädt...
                            X