Popup Reloadsperre

MichaSBK

Mitglied
Hey Leutz,

bin z.Z dabei mir eine Popup Reloadsperre zu bauen und zwar sieht das so aus,
dass ich in einer Tabelle die ganzen Daten mit den ganzen Einträgen zu den Popup's zu liegen habe und in einer zweiten Tabelle werden die IP-Adressen geloggt, wenn zu den entsprechenden Popup eine Reloadsperrzeit vorhanden ist.

Hab mir auch schon die entsprechende SQL-Query String zusammen gebaut, der wie folgt lautet:
SELECT Table1.* FROM paid4link_Links_Popup as Table1, paid4link_IP_Log as Table2 WHERE (Table1.AnbieterID != Table2.AnbieterID AND Table2.ip != ".$Besucher_IP.") AND (Table1.PopupView < Table1.PopupMaxView || Table1.PopupMaxView = '0') AND Table1.PopupType = 5 AND Table1.aktiv = 1 ORDER BY rand() LIMIT 1

wenn ich dieses QUERY direkt in der SQL ausführe, dann bekomme ich auch nen entsprechenden Ausgabe zurück, aber komischerweise wenn ich den über PHP Ausführe und den Rückgabewert mit mysql_fetch_row ins Array legen will, wird mir danach die folgende Meldung:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource

Darum hätte ich gerne mal gewußt, ob von euch jemand weiß wo der Fehler liegen könnte ?:rolleyes:

MfG Micha
 
Versuch' mal folgenden Ausdruck:
Code:
SELECT
        COUNT( Table1.*) AS `anzahl`
  FROM
        `paid4link_Links_Popup` `Table1`,
        `paid4link_IP_Log` `Table2`
  WHERE
        (Table1.AnbieterID != Table2.AnbieterID AND Table2.ip != ".$Besucher_IP.")
    AND (Table1.PopupView < Table1.PopupMaxView OR Table1.PopupMaxView = '0')
    AND Table1.PopupType = 5
    AND Table1.aktiv = 1
  ORDER BY
        RAND()
  LIMIT
        1
 
Hallo Gumbo,

habe das ebend auch mal ausprobiert ist aber das gleiche Problem geblieben :/.
Wenn ich diese Anweisung nun auch in der DB Ausführe bringt der mir auch gleich nen Fehler, dass der Syntax nicht stimmt.
Den Syntax den ich schon am Anfang geschrieben hatte, hatte mir ja schon nen gültige Ausgabe gebracht in der DB aber komischerweise kann ich die Daten weder mit mysql_fetch_row oder mysql_fetch_array in ein Array legen, damit ich die Daten dann halt später weiterverarbeiten kann :(.

MfG Micha
 
also zum testen hab ich das erstmal so gemacht:
PHP:
$Popupquery = mysql_query("
	SELECT
		Tabelle1.*
	FROM
		paid4link_Links_Popup as Tabelle1,
		paid4link_IP_Log as Tabelle2
	WHERE
		(Tabelle1.AnbieterID != Tabelle2.AnbieterID AND Tabelle2.ip != ".$Besucher_IP.")
	AND (Tabelle1.PopupView < Tabelle1.PopupMaxView || Tabelle1.PopupMaxView = '0')
	AND Tabelle1.PopupType = 5
	AND Tabelle1.aktiv = 1
	ORDER BY
		rand()
	LIMIT 1");

$Popup_Array = mysql_fetch_array($Popupquery);

die IP und die Verbindung zur Datenbank werden am Anfang gleich Verarbeitet...

Komisch ist ja nur, dass die Ausgabe erscheint, dass anscheind kein gültiges geliefertes Argument vorliegt, obwohl wenn ich das über PhpMyadmin aufrufe ne Ausgabe erhalte. Weiß ja nicht ob das eventuell mit den def. Werten Tabelle1 und Tabelle2 zu tun hat ?
 
Folgendes sollte funktionieren:
PHP:
<?php
  [...]
  $query = "
	SELECT
	        COUNT( Table1.*) AS `anzahl`
	  FROM
	        `paid4link_Links_Popup` `Table1`,
	        `paid4link_IP_Log` `Table2`
	  WHERE
	        (Table1.AnbieterID != Table2.AnbieterID AND Table2.ip != '".$Besucher_IP."')
	    AND (Table1.PopupView < Table1.PopupMaxView OR Table1.PopupMaxView = '0')
	    AND Table1.PopupType = 5
	    AND Table1.aktiv = 1
	  ORDER BY
	        RAND()
	  LIMIT
	        1
	";
  list($anzahl) = mysql_fetch_array(mysql_query($query), MYSLQ_ASSOC);
  echo($anzahl);
  [...]
?>
Zur Erklärung:
MySQL erwartet zum Vergleich der IP-Adressen eine Zeichenkette.
 
hmm also habe das ebend auch mal ausgetestet und der bringt mir immer noch den gleichen fehler, weiß wirklich nicht, woran das noch liegen kann.
hätte nur ne vermutung, dass es irgentwie an den tabellen definition liegen kann aber dann hätte der mir ja in phpmyadmin auch schon nen fehler bringen müssen :(
 
Zurück