AgentSandsLady
Grünschnabel
Hallo,
ich hoffe, ihr könnt mir helfen.
Ich code zur Zeit an einem Banner Rotations Skript (für fanlistings).
In der display.php, die man per iframe - oder valid xhtml 1.1 mit object - in seine Seite einfügt mit einem <object data="http://fansfansfans.net/display.php?id=52" type="text/html" style="height: 60px">, kommt es nun zu einem Fehler.
Ich sende die ID mit, um danach nur Mitglieder der Kategorien, der das fanlisting angehört, anzeigen zu lassen und diese ID auszuschließen.
Außerdem sollen nur fanlistings angezeigt werden, die schon freigeschaltet, also approved sind.
Mein Problem ist nun:
es werden zwar die richtigen Kategorien ausgewählt,
jedoch wird auch das fanlisting mit der ID selbst angezeigt obwohl es 1. ja die ID hat und 2. noch garnicht freigeschaltet ist.
So sieht die Tabelle aus (wegen der Feld-Namen)
und so ist mein code der display.php:
(ich weiß, die ID müsste ich noch vor ungebetenem Input säubern...das baue ich danach noch ein).
Die Kategorien werden per multiple select vorher in Form von -1-3-6- in das cat Feld eingegeben. Daher das Drama mit dem ob_get_contents und das dann in die mysql query gebracht...wenn es da eine besser Lösung gibt, immer her damit!
Das echo $rot_id habe ich nur dazu geschrieben, damit man sehen kann, ob an der Stelle die ID noch korrekt übergeben wird. Und ja, sie wird.
Das Problem ist nun aber, dass trotz dem where approved=1 und dem id!=$rot_id auch approved=0 und id=$rot_id angezeigt wird. Irgendeine idee
ich hoffe, ihr könnt mir helfen.
Ich code zur Zeit an einem Banner Rotations Skript (für fanlistings).
In der display.php, die man per iframe - oder valid xhtml 1.1 mit object - in seine Seite einfügt mit einem <object data="http://fansfansfans.net/display.php?id=52" type="text/html" style="height: 60px">, kommt es nun zu einem Fehler.
Ich sende die ID mit, um danach nur Mitglieder der Kategorien, der das fanlisting angehört, anzeigen zu lassen und diese ID auszuschließen.
Außerdem sollen nur fanlistings angezeigt werden, die schon freigeschaltet, also approved sind.
Mein Problem ist nun:
es werden zwar die richtigen Kategorien ausgewählt,
jedoch wird auch das fanlisting mit der ID selbst angezeigt obwohl es 1. ja die ID hat und 2. noch garnicht freigeschaltet ist.
So sieht die Tabelle aus (wegen der Feld-Namen)
Code:
// create table for exchange
$rot_query = "CREATE TABLE `".$rot_tablename."` (" .
' `title` varchar(255) default \'\',' .
' `memberemail` varchar(255) default \'\',' .
' `memberurl` varchar(255) default \'\',' .
' `memberbanner` varchar(255) default \'\',' .
' `approved` tinyint(1) NOT NULL default \'0\',' .
' `id` int(10) NOT NULL auto_increment,' .
' `cat` int(10) varchar(255) default \'\',' .
' `password` varchar(255) default \'\',' .
'PRIMARY KEY (`id`)' .
') TYPE=MyISAM AUTO_INCREMENT=1';
und so ist mein code der display.php:
Code:
php include('rotationally/config.php');
$rot_id=$_GET['id'];
$rot_result=mysql_query("SELECT cat FROM ".$rot_tablename." WHERE id='$rot_id'");
$rot_num=mysql_num_rows($rot_result);
$rot_j=0;
while ($rot_j < $rot_num) {
$rot_cat=mysql_result($rot_result,$rot_j,"cat");
ob_start();
$rot_categories = explode( '-', trim($rot_cat, '-') );
foreach ($rot_categories as $value) {
$rot_onecat = "$value";
echo "OR cat LIKE '%-". $rot_onecat. "-%' ";
}
$getcats = ob_get_contents();
ob_end_clean();
echo $rot_id;
$rot_sql="SELECT * FROM ".$rot_tablename." WHERE approved=1 AND id!='". $rot_id ."' AND cat LIKE '%-0-%' $getcats ORDER BY RAND() LIMIT 1";
$rot_result = mysql_query($rot_sql) OR die(mysql_error());
while($rot_row = mysql_fetch_assoc($rot_result)) {
echo "<div id=\"bottom\"><a href=\"".$rot_row['memberurl']."\"><img src=\"rotationally/images/" .$rot_row['memberbanner']. "\" alt=\"".$rot_row['memberurl']."\" /></a></div>";
}
$rot_j++;
}
(ich weiß, die ID müsste ich noch vor ungebetenem Input säubern...das baue ich danach noch ein).
Die Kategorien werden per multiple select vorher in Form von -1-3-6- in das cat Feld eingegeben. Daher das Drama mit dem ob_get_contents und das dann in die mysql query gebracht...wenn es da eine besser Lösung gibt, immer her damit!
Das echo $rot_id habe ich nur dazu geschrieben, damit man sehen kann, ob an der Stelle die ID noch korrekt übergeben wird. Und ja, sie wird.
Das Problem ist nun aber, dass trotz dem where approved=1 und dem id!=$rot_id auch approved=0 und id=$rot_id angezeigt wird. Irgendeine idee