[php] Zufallsbild

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

  • [php] Zufallsbild

    Guten Tag folgendes Problem hab ich und zwar habe ich ein Table der so aussieht:
    PHP-Code:
    id  pic             thumb       bname      beschreibung        contact  visits  catid 
    43 pool1
    .jpg    pool_1.jpg Mein Pool    [U]Mein[/UPool                  4        5 
    44 pool2
    .jpg    pool_2.jpg Mein Pool    [U]Mein[/UPool                  4        5 
    45 ich_1
    .jpg    ich_1.jpg       thats me  das bin ich                     4        6 
    46 ich_2
    .jpg    ich_2.jpg       thats me  das bin ich                     4        6 
    .... 
    Nun habe ich vor das ich eine Datei aufrufe die z.b. heisst random.php und ihr durch ?catid=5 den wert 5 übergebe der dann bewirken soll das aus dem bereich der Bilder mit der Catid 5 ein zufallsbild ausgegeben wird. Ich hatte dazu folgende syntax:

    PHP-Code:
    if ($_GET['catid'] == ""
        { 
            
    $query "SELECT * FROM $btable ORDER BY RAND() LIMIT 1"
            
    $result mysql_query($query) or die (mysql_error()); 
            
    $array=mysql_fetch_array($result); 
            
    $verzeichnis dirname($_SERVER['PHP_SELF']); 
        } 
        else 
        {    echo 
    $_GET["catid"]; 
            
    $zufall=rand(0,$max); 
            
    $catid=$_GET['catid']; 
            
    $query "SELECT * FROM $btable where catid='" $_GET["catid"] . "' ORDER BY RAND() LIMIT 1"
            
    $result mysql_query($query) or die (mysql_error()); 
            
    $array=mysql_fetch_array($result); 
            
    $verzeichnis dirname($_SERVER['PHP_SELF']); 
        } 
    So das problem ist das er zwar ein bild zufällig ausgibt aber leider nicht "gefiltert" nach der Kategorie. Ich möchte halt das wenn ich z.b. catid=5 mache das dann nur das bild mit der id 43 oder 44 und wenn ich catid=6 mache das dann nur das bild mit der id 45 oder 46 ausgegeben wird.

    Danke für eure Hilfe

  • #2
    und wie sieht dann hiermit aus:
    PHP-Code:
    $query "SELECT * FROM $btable where catid=" $_GET["catid"] . " ORDER BY RAND() LIMIT 1"

    Kommentar


    • #3
      Kommt das selbe "problem" wie oben schon erwähnt. Er macht zwar random aber ohne beachtung von der cat id

      ich habe noch ein echo $query; gemacht und das kam dabei raus:

      SELECT * FROM bilder where catid=6 ORDER BY RAND() LIMIT 1
      Zuletzt geändert von quicksilver; 10.11.2004, 14:21.

      Kommentar


      • #4
        kann mir da keiner helfen ?

        Kommentar


        • #5
          Nö, denn es funz ja z.B. bei mir . Andererseits poste mal einen Dump der Tabelle, mal schauen

          Kommentar


          • #6
            Oben ist doch ein auszug der tabelle

            Kommentar


            • #7
              SELECT *, (cat_id=6) dummy FROM bilder where catid=6 ORDER BY RAND() LIMIT 1

              probier das mal in deinem phpmyadmin

              was kommt raus?


              SELECT *, (cat_id=6) dummy FROM bilder

              das bitte auch
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                Original geschrieben von quicksilver
                Oben ist doch ein auszug der tabelle
                und ich soll manuell die Tabelle erstellen und die Daten eintippen, nur weil ich dir helfen möchte? Möchtest du auch Kaffe und Kuchen dazu haben, während ich die Sachen in meiner Datenbank einrichte?

                Kommentar


                • #9
                  also das geht soweit. aber was macht das dummy da ?

                  und wenn ich das hier mache

                  SELECT *, (catid=6) dummy FROM bilder

                  gibt er wieder alle bilder aus.. also auch catid 5



                  PHP-Code:
                  CREATE TABLE `bilder` (
                    `
                  idint(11NOT NULL auto_increment,
                    `
                  picvarchar(150NOT NULL default '',
                    `
                  thumbvarchar(150NOT NULL default '',
                    `
                  bnamevarchar(75NOT NULL default '',
                    `
                  beschreibungtext NOT NULL,
                    `
                  contacttext NOT NULL,
                    `
                  visitsint(10NOT NULL default '0',
                    `
                  catidint(10NOT NULL default '0',
                    
                  PRIMARY KEY  (`id`)
                  TYPE=MyISAM AUTO_INCREMENT=46 ;

                  -- 
                  -- 
                  Dumping data for table `bilder`
                  -- 

                  INSERT INTO `bilderVALUES (39'melissa1.jpg''melissa1_1.jpg''melissa1''melissa1 bild'''16);
                  INSERT INTO `bilderVALUES (40'melissa2.jpg''melissa2_1.jpg''melissa2''melissa2 bild'''76);
                  INSERT INTO `bilderVALUES (37'cimg0023.jpg''cimg0023_1.jpg''Andreas''Andreas'''45);
                  INSERT INTO `bilderVALUES (35'cimg0021.jpg''cimg0021_1.jpg''Andreas''Andreas'''55);
                  INSERT INTO `bilderVALUES (36'cimg0022.jpg''cimg0022_1.jpg''Steffi''Steffi'''95);
                  INSERT INTO `bilderVALUES (34'cimg0020.jpg''cimg0020_1.jpg''Andreas''Andreas'''95);
                  INSERT INTO `bilderVALUES (42'melissa4.jpg''melissa4_1.jpg''melissa4''melissa4 bild'''36);
                  INSERT INTO `bilderVALUES (41'melissa3.jpg''melissa3_1.jpg''melissa3''melissa3 bild'''36);
                  INSERT INTO `bilderVALUES (38'cimg0025.jpg''cimg0025_1.jpg''Steffi''Steffi'''65); 

                  Kommentar


                  • #10
                    ich wollte wissen was rauskommt. in form von datensätzen. wäre toll.
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      also mit dem

                      SELECT *, (catid=6) dummy FROM bilder where catid=6 ORDER BY RAND() LIMIT 1

                      scheint es super zu klappen es kommt immer nur ein bild mit der id 6 heraus

                      PHP-Code:
                      id  pic  thumb  bname  beschreibung  contact  visits  catid  dummy  
                      42 melissa4
                      .jpg melissa4_1.jpg melissa4 melissa4 bild   3 6 1 
                      Aber wenn ich das in meinem script mache geht es nicht so wirklich .. wodran liegt das denn verflixt
                      Zuletzt geändert von quicksilver; 11.11.2004, 10:33.

                      Kommentar

                      Lädt...
                      X