Zuffalsbild nur aus bestimmter Kategorie anzeigen

ASD20054

Mitglied
Hallo,

ich habe hier eine Script mit dem ich auf meiner Homepage Zufallsbilder aus meiner Galerie anzeige. Wenn ich in der Galerie Kategorien erstelle kann ich auswählen ob die Kategorie bei Zufallsbilder gelistet wird oder nicht.


Hier die Tabelle in der ich die Kategorien speicher:
Code:
CREATE TABLE `comm_galerie_kats` (
  `kat_id` int(10) NOT NULL auto_increment,
  `kat_title` varchar(120) NOT NULL default '',
  `pom` int(1) NOT NULL,
  PRIMARY KEY  (`gal_id`)
) ENGINE=MyISAM DEFAULT CHARSET=armscii8 AUTO_INCREMENT=0;

Hier bei pom handel es sich um Pic of the Moment wenn dieses auf 1 ist soll diese Kategorie auch bei Zufallsbilder angezeigt werden. Sollte pom den wert 0 haben dann soll diese Kategorie nicht in Zufallsbilder gelistet werden.


Und hier werden die Bilder reingespeichert:
Code:
CREATE TABLE `comm_galerie_items` (
  `id` int(10) NOT NULL auto_increment,
  `title` varchar(120) NOT NULL default '',
  `img` varchar(120) NOT NULL default '',
  `from` varchar(20) NOT NULL default '',
  `kat_id` int(10) NOT NULL default '0',
  PRIMARY KEY  (`gal_id`)
) ENGINE=MyISAM DEFAULT CHARSET=armscii8 AUTO_INCREMENT=0;

Mit diesem Script lasse ich alle Bilder anzeigen, wie kann ich jetzt aber nur Bilder anzeigen bei denen pom den wert 1 hat?

PHP:
    $result = mysql_query("SELECT count(*) FROM comm_galerie_items"); 
    $gesamt = mysql_result($result,0); 

    mt_srand(time()); 

    $zeile = mt_rand(0,$gesamt-1);

    $result = mysql_query("SELECT * FROM comm_galerie_items");
    mysql_data_seek($result,$zeile);

    $row = mysql_fetch_row($result);

    $ausgabe .= "<img border='0' width='130' height='120' src='".$row[2]."'>";
    echo $ausgabe;

Hoffe das es verständlich ist.

MFG ASD
 
Zuletzt bearbeitet:
Hallo,

nein nicht so, hier ein Beispiel:

Die tabelle comm_galerie_kats enthält 2 Einträge:
Code:
kat_id | kat_title | pom
-------------------------
   1   |   Natur   |  1  // Hier ist pom auf 1 und diese Kategorie soll in den Zufallsbilder  landen
-------------------------
   2   |   Meer    |  0  // Hier ist pom auf 0 und diese Kategorie soll nicht in den Zufallsbilder landen

Hier die Tabelle comm_galerie_items enthält 4 Einträge:

Code:
id | title |   img   | from | kat_id
--------------------------------------
 1 | test  |  t.jpg  | Teo  |   1
-------------------------------------
 2 | test  |  e.jpg  | asd  |   1
--------------------------------------
 3 | test  |  s.jpg  | Teo  |   2  // Hier ist kat_id auf 2 das heisst dieses Bild darf nicht in die Zufallsanzeige weil es in kat_id 2 liegt von comm_galerie_kats und da pom auf 0 ist
-------------------------------------
 4 | test  |  i.jpg  | asd  |   1

Kann mir den keiner weiterhelfen?
 
Code:
SELECT comm_galerie_items.* FROM comm_galerie_kats, comm_galerie_items WHERE comm_galerie_kats.kat_id = comm_galerie_items.kat_id AND comm_galerie_kats.pom = 1
:confused:
Wenn ich das jetzt richtig verstanden habe...
 
PHP:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /srv/www/vhosts/host.net/httpdocs/community/zufall.php on line 5

Warning: mysql_data_seek(): supplied argument is not a valid MySQL result resource in /srv/www/vhosts/host.net/httpdocs/community/zufall.php on line 12

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /srv/www/vhosts/host.net/httpdocs/community/zufall.php on line 14

Notice: Undefined variable: ausgabe in /srv/www/vhosts/host.net/httpdocs/community/zufall.php on line 16

PHP:
<?
  error_reporting(E_ALL); 
  ini_set('display_errors', TRUE);
  $result = mysql_query("SELECT count(*) FROM comm_galerie_kats, comm_galerie_items WHERE comm_galerie_kats.kat_id = comm_galerie_items.kat_id AND comm_galerie_kats.pom = 1"); 
  $gesamt = mysql_result($result,0); 

  mt_srand(time()); 

  $zeile = mt_rand(0,$gesamt-1);

  $result = mysql_query("SELECT comm_galerie_items.* FROM comm_galerie_kats, comm_galerie_items WHERE comm_galerie_kats.kat_id = comm_galerie_items.kat_id AND comm_galerie_kats.pom = 1");
  mysql_data_seek($result,$zeile);

  $row = mysql_fetch_row($result);

  $ausgabe .= "<img border='0' width='130' height='120' src='".$row[2]."'>";
  echo $ausgabe;  
?>

Ich habe hier jetzt grad selbst keinen überblick mehr, es soll ja nur in der abfrage verglichen werden ob das Bild angezeigt werden darf oder nicht.
 
Zuletzt bearbeitet:
Zurück