Man sollte schon wissen, was der Code, den man einbaut bewirkt.....und nicht Blind irgendwas einbauen
Auf die art bin ich vom Code (Version 1) :
Code:
$sql1=mysql_query("SELECT
ba.kampagnen_id,
ba.kampagnen_werbemittel_id,
ba.kampagnen_name,
ba.kampagnen_reload,
ba.kampagnen_aufenthalt,
ba.kampagnen_url,
ba.kampagnen_url_bild,
ba.kampagnen_art,
ba.kampagnen_sponsor
FROM ".$prefix."_pwc_banner_ads AS ba
LEFT JOIN ".$prefix."_pwc_banner_ads_reload AS re
ON ba.kampagnen_id=re.kampagnen_id
AND ba.kampagnen_sponsor=re.kampagnen_sponsor
AND ba.kampagnen_art=re.kampagnen_art
AND re.kampagnen_klick<='".intval($time)."'
ORDER BY RAND() LIMIT 1
") or die (mysql_error());
nach :
Code:
$sql1=mysql_query("SELECT
kampagnen_id,
kampagnen_werbemittel_id,
kampagnen_name,
kampagnen_reload,
kampagnen_aufenthalt,
kampagnen_url,
kampagnen_url_bild,
kampagnen_art,
kampagnen_sponsor
FROM ".$prefix."_pwc_banner_ads
WHERE ".$prefix."_pwc_banner_ads.kampagnen_id
NOT IN (SELECT ".$prefix."_pwc_banner_ads_reload.kampagnen_id FROM ".$prefix."_pwc_banner_ads_reload)
AND kampagnen_art = '1'
AND kampagnen_status = '1'
ORDER BY RAND() LIMIT 1
") or die (mysql_error());
gekommen, bis mir der Kragen geplatz ist und ich die komplette DB neu angelegt habe, dort wurden je Tabelle 3 PKs angelegt und dieser ode entwickelt :
Code:
$sql1=mysql_query("SELECT
kampagnen_id,
kampagnen_werbemittel_id,
kampagnen_name,
kampagnen_reload,
kampagnen_aufenthalt,
kampagnen_url,
kampagnen_url_bild,
kampagnen_art,
kampagnen_sponsor
FROM ".$prefix."_pwc_banner_ads ba
WHERE 0 = (SELECT COUNT(*) FROM ".$prefix."_pwc_banner_ads_reload re
WHERE ba.kampagnen_id = re.kampagnen_id
AND ba.kampagnen_werbemittel_id = re.kampagnen_werbemittel_id
AND ba.kampagnen_art = re.kampagnen_art
AND ba.kampagnen_sponsor = re.kampagnen_sponsor
AND re.kampagnen_ip = '".addslashes(htmlspecialchars($user_ip))."'
AND re.kampagnen_klick >= '$time'
)
AND ba.kampagnen_art = 1
AND ba.kampagnen_status = 1
ORDER BY RAND() LIMIT 1
");