Problem med bannerrotator

PHP

4 svar · 308 visningar · startad av Applet

Medlem sedan juli 20054 inlägg
Trådstart#1

Jag håller på att lägga upp en bannerrotator. Detta felmedeland kommer upp när jag försöker öppna index.php:

index.php!·3/4©mBIN‚?+ banner.phpA¸†°mBIN‚?qcvariablar.phpè3/4ñ¬TmBIN‚?„Ò

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /hsphere/local/home/applet/flippen.se/banner.php on line 16

så här ser filen banner.php ut:

banner.phpA¸†°mBIN‚?qc<?

// Bannerrotator mySQL 1.1

// Copyright © 2001 Mathias Niklasson

// http://www.niklasson.net/

##################################################

# Script

require ("./variablar.php");

mysql_connect ("$server","$anvandare","$losen");

mysql_select_db ("$databas");

$slumpad = mysql_query("SELECT * FROM bannerbyte WHERE blockad = 0 ORDER BY RAND() LIMIT 1");

____while ($r = mysql_fetch_array($slumpad))

____{

____$id = $r["id"];

____$adress = $r["adress"];

____$banner = $r["banner"];

____$visningar = $r["visningar"];

____$klicks = $r["klicks"];

____}

$visningar = $visningar___1;

$addera = mysql_query("UPDATE bannerbyte SET visningar = $visningar WHERE id = $id");

mysql_close();

echo "<a href=\"$sokvag?$id\" target=\"_blank\"><img src=\"$banner\" border=\"0\" alt=\" $adress \" width=\"$bredd\" height=\"$hojd\"></a>";

?>

Vad är det för fel?

Medlem sedan jan. 20021 122 inlägg
#2

Välkommen till wF! :)
Tror att det är "ORDER BY RAND()" som ställer till det, men ändra mysql_query() raden till detta:

$slumpad = mysql_query("SELECT * FROM bannerbyte WHERE blockad = 0 ORDER BY RAND() LIMIT 1") or die(mysql_error());

Detta kommer skriva ut felet.

Om det är PHPs rand() funktion du vill använda får du skriva "SELECT * FROM bannerbyte WHERE blockad = 0 ORDER BY " . rand() . " LIMIT 1" i sql-satsen istället, eftersom php inte tolkar funktioner inbakade i strängar.

Dock så kommer detta att generera ett fel då du inte kan sortera efter t.ex. 42. Har du någon räknare i tabellen? Då kan du ju sätta "... WHERE raknare = " . rand() . "..." istället.

(Använd gärna [ kod] och [/ kod] taggarna runt kod för att göra den mer lättläst också)

Medlem sedan juli 20054 inlägg
#3

testade att byta till det översta kodstycket som du skrev..det fungerade. Felmedelandet försvann.
En till fråga. Hur ska tabellen till bannerrotatorn se ut? inställningar och så.

Medlem sedan jan. 20021 122 inlägg
#4

Beror ju på vad du behöver lagra... Men den bör ju i alla fall innehålla räknare, länk, och bildens sökväg.

Medlem sedan juli 20054 inlägg
#5

ok, tack!

254 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)