Bilderrotation

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

  • #16
    wie in meine lösung oben schon gepostet:

    PHP-Code:
    shuffle($banner); // das banner-array wird frisch gemischt....

    for($x=0;$x<=2;$x++){
        echo 
    "<td align=center>";
        echo 
    $banner[$x][Banner];
        echo 
    "</td>\n";

    hierbei gibt es definitiv keine doppelung!!!

    shuffle sortiert das array in eine zufällige reihenfolge und die schleife nimmt sich die ersten drei einträge des "gemischten" arrays.... zack, fertig
    **********
    arkos
    **********

    Kommentar


    • #17
      keine fehlermeldung keine anzeige.

      habe jetzt mal etwas getestet, leider erscheint keine anzeige aber auch keine fehlermeldung.

      im ordner image/ sind die fotos im chema 1.jpg, 2.jg, 3.jpg vorhanden

      in der datenbank sind nun zu jedem foto eine id vorhanden
      ds 1 mit ID 1
      ds 2 mit ID 2
      ds 3 mit ID 3

      soo nun mein script

      PHP-Code:
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
      <html>
      <head>
      <title>Bilder-/Bannerrotation</title>
      </head>
      <body>

      <table align=center width="95%">
      <tr>
      <?php
          define
      ('MYSQL_HOST''***');
          
      define('MYSQL_USER''***'); 
          
      define('MYSQL_PASS''***'); 
          
      define('MYSQL_DATABASE''***');  
         
      mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR
              die(
      "Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
          
      mysql_select_db(MYSQL_DATABASE) OR
              die(
      "Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());
      $sql "SELECT
                            ID
                         FROM 
                            foto
                         ORDER BY
                           ID DESC
                         LIMIT
                            1"
      ;
      $result mysql_query($sql) OR die(mysql_error());
      while(
      $row mysql_fetch_assoc($result)) { 
      $zahl $row['ID'];
      }
      $banner = array('
        while($count < $zahl)
          {
          array("Banner" => "<img src=\"image/".$count.".jpg\" />"),
          $count++;
          }
      '
      );



      shuffle($banner); 

      for(
      $x=0;$x<=2;$x++){
          echo 
      "<td align=center>";
          echo 
      $banner[$x][Banner];
          echo 
      "</td>\n";
      }
      ?>
      </tr>
      </table>


      </body>
      </html>
      wenn ich mich nicht irre sollte nun $zahl 3 ergeben
      in der while schleife sollten nun array für image/1.jpg usw. erstellt werden.,

      leider ergab es keinen fehler und auch keine anzeige
      Webdesign und Webentwicklung - Plunix.de

      Kommentar


      • #18
        sorry kann keine fehlermeldung geben. habe auch vergessen error_reporting einzubauen. sorry sorry sorry
        Webdesign und Webentwicklung - Plunix.de

        Kommentar


        • #19
          du hast das banner-array ja auch anders gestaltet...

          PHP-Code:
          array("Banner" => "<img src=\"image/".$count.".jpg\" />"), 

          somit musst du die ausgabe von

          PHP-Code:
          echo $banner[$x][Banner]; 
          in

          PHP-Code:
          echo $banner[Banner][$x]; 
          ändern...

          edit: habe dein statment falsch gelesen also anmerkung über limit gelöscht...

          (verstehe den sinn deiner db nicht ganz....)


          edit: wird wohl auch mit error_reporting keine meldung kommen dein $banner[$x][Banner] ist einfach leer...
          Zuletzt geändert von arkos; 07.10.2006, 16:06.
          **********
          arkos
          **********

          Kommentar


          • #20
            denn sinn meiner db brauchst du auch nicht zu verstehen.
            habe versucht eine möglichst einfache bildergallerie in php zu konzepieren.
            dies klappt auch.

            www.plunix.de <--- da siehst du beispiele...
            Webdesign und Webentwicklung - Plunix.de

            Kommentar


            • #21
              klappts denn jetzt mit den änderungen???

              was ich mit der db meine: solange du bilder einspielst ist alles gut,

              aber was macht dein script wenn du bild 2.jpg und den eintrag id 2 mal löschen solltest, und du nur noch bil 1.jpg, 3.jpg, 4.jpg etc. hast??? es kann zu einem broken image führen darauch dass du nur die anzahl der db einträge zählst!!!
              **********
              arkos
              **********

              Kommentar


              • #22
                doch shuffeln brauch ich es. mit der while schleife war es mein ziel alle bilder von 1 - LAST ID in das arrray zu stecken. dann wäre nämlich das shuffle nötig.
                Webdesign und Webentwicklung - Plunix.de

                Kommentar


                • #23
                  ahhh das habe ich verstenden. habe meinen query demgehend umgeändert. eher gesagt die speisung der array daten.
                  PHP-Code:
                  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
                  <html>
                  <head>
                  <title>Bilder-/Bannerrotation</title>
                  </head>
                  <body>

                  <table align=center width="95%">
                  <tr>
                  <?php
                       error_reporting
                  (E_ALL);
                       
                  define('MYSQL_HOST''pdb1.pretago.de');
                      
                  define('MYSQL_USER''p1340'); 
                      
                  define('MYSQL_PASS''lalelu1'); 
                      
                  define('MYSQL_DATABASE''usr_p1340_1');   
                     
                  mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR
                          die(
                  "Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
                      
                  mysql_select_db(MYSQL_DATABASE) OR
                          die(
                  "Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());


                  $banner = array('
                  $sql = "SELECT
                                        ID
                                     FROM 
                                        foto";
                  $result = mysql_query($sql) OR die(mysql_error());
                  while($row = mysql_fetch_assoc($result)) { 
                  array("Banner" => "<img src=\"image/".$row['
                  ID'].".jpg\" />"),

                  }
                  '
                  );



                  shuffle($banner); 

                  for(
                  $x=0;$x<=2;$x++){
                      echo 
                  "<td align=center>";
                      echo 
                  $banner[Banner][$x];
                      echo 
                  "</td>\n";
                  }
                  ?>
                  </tr>
                  </table>


                  </body>
                  </html>

                  Parse error: syntax error, unexpected T_STRING, expecting ')' in /home/www/p1340/html/plunix/inc/newfoto.php on line 65
                  Zuletzt geändert von Lennie; 07.10.2006, 16:18.
                  Webdesign und Webentwicklung - Plunix.de

                  Kommentar


                  • #24
                    kommentier die schleife mal aus und setzt dort mal n print_r($banner) hin...
                    **********
                    arkos
                    **********

                    Kommentar


                    • #25
                      einen momment
                      Webdesign und Webentwicklung - Plunix.de

                      Kommentar


                      • #26
                        while($row = mysql_fetch_assoc($result)) {
                        array("Banner" => "<img src=\"image/".$row['ID'].".jpg\" />")

                        }

                        hier ist nen unexpecting T_STRING

                        finde aber keinen fehler.
                        (zeile 2)
                        Webdesign und Webentwicklung - Plunix.de

                        Kommentar


                        • #27
                          parse error:



                          PHP-Code:
                          $banner = array('  
                          $result = mysql_query($sql) OR die(mysql_error());
                          while($row = mysql_fetch_assoc($result)) { 
                          array("Banner" => "<img src=\"image/".$row['
                          ID'].".jpg\" />"),

                          }
                          '
                          ); 
                          da darf steht im letzten durchlauf der while-schleife kein komma stehen!!! die musst du ein wenig schlauer bauen!!

                          und die hochkommata (anfang und ende / vor und nach der schleife) sind meines erachtens überflüssig

                          denk dran, du willst mit der schleife sowas hinbekommen:

                          PHP-Code:
                          $banner = array( 
                          array(
                          "Banner" => "<img src='1.jpg'"), 
                          array(
                          "Banner" => "<img src='2.jpg'"), 
                          array(
                          "Banner" => "<img src='3.jpg'"), 
                          array(
                          "Banner" => "<img src='4.jpg'"), 
                          array(
                          "Banner" => "<img src='etc.jpg'")
                          ); 
                          **********
                          arkos
                          **********

                          Kommentar


                          • #28
                            die hochkommatas sind von nöten.
                            habe meinen code jetzt so umgebaut, dass bei der letzten id das ',' fehlt.
                            allerdings ist immernoch ein unexpectet T_STRING vorhanden
                            PHP-Code:
                            $sql "SELECT
                                                  ID
                                               FROM 
                                                  foto
                                               ORDER BY
                                                 ID DESC
                                               LIMIT
                                                  1"
                            ;
                            $result mysql_query($sql) OR die(mysql_error());
                            while(
                            $row mysql_fetch_assoc($result)) { 
                            $lastid $row['ID'];
                            }
                            $banner = array(
                            $sql = "SELECT
                                                  ID
                                               FROM 
                                                  foto";

                            $result = mysql_query($sql) OR die(mysql_error());
                            while($row = mysql_fetch_assoc($result)) { 
                            if($row['
                            ID'] != $lastid){
                            array("Banner" => "<img src=\"image/".$row['
                            ID'].".jpg\" />"), // Hier der Fehler
                            }else{
                            array("Banner" => "<img src=\"image/".$row['
                            ID'].".jpg\" />")
                            }
                            }
                            '
                            ); 
                            Webdesign und Webentwicklung - Plunix.de

                            Kommentar


                            • #29
                              darf steht im letzten durchlauf der while-schleife kein komma stehen!!!
                              im 1., 2., 3., ... auch nicht!

                              Das ding heißt nicht umsonst parse-error. Da wird noch gar keine Schleife ausgeführt.

                              Kommentar


                              • #30
                                Original geschrieben von TobiaZ
                                im 1., 2., 3., ... auch nicht!

                                Das ding heißt nicht umsonst parse-error. Da wird noch gar keine Schleife ausgeführt.

                                ????

                                und wie will er ohne komma folgendes hinbekommen????



                                PHP-Code:
                                $banner = array( 
                                array(
                                "Banner" => "<img src='1.jpg'"), 
                                array(
                                "Banner" => "<img src='2.jpg'"), 
                                array(
                                "Banner" => "<img src='3.jpg'"), 
                                array(
                                "Banner" => "<img src='4.jpg'"), 
                                array(
                                "Banner" => "<img src='etc.jpg'")
                                ); 
                                **********
                                arkos
                                **********

                                Kommentar

                                Lädt...
                                X