Avatar billede fbb Nybegynder
21. maj 2003 - 02:00 Der er 21 kommentarer og
1 løsning

Vælger ikke i mellem dem.

Hej, jeg sidder lige og bygget et lille bannersystem.
Jeg bruger dette kode til at hive banner ud:
<?
require_once("db.php");
$mysql = mysql_query("SELECT * FROM banner ORDER BY RAND() LIMIT 1");
while($r = mysql_fetch_array($mysql)) {
$id = $r['id'];
$ext = $r['extension'];
$link = $r['link'];
echo'<center><a target="_blank" href="http://'.$link.'"><img border="0" src="banner/'.$id.'.'.$ext.'"><a><br></center>'; 
} 
?>

Men den hiver kun det billede med ud 1 ud og skifter ikke over til nogle af de andre. :(

Hjæælp

MvH FBB
Avatar billede roenving Novice
21. maj 2003 - 02:02 #1
LIMIT 0,1") -- læst i http://www.eksperten.dk/spm/355154
Avatar billede fbb Nybegynder
21. maj 2003 - 02:03 #2
hjælper ikke.
Den tag kun det banner med id 1
Avatar billede roenving Novice
21. maj 2003 - 02:04 #3
RAND(NOW()) LIMIT 0,1 -- det sidste indlæg måske ;-)
Avatar billede fbb Nybegynder
21. maj 2003 - 02:05 #4
Kun banned id 1
Avatar billede fbb Nybegynder
21. maj 2003 - 02:07 #5
Den vil ikke tag banned id 2-3-4-5-6 osv ud og skifte i mellem dem :(
Avatar billede roenving Novice
21. maj 2003 - 02:10 #6
Hvad med en løsning, som er omtalt i ovenstående, at du updater et ekstra felt, og det så giver et udgangspunkt, for hvilket banner du displayer

-- ved godt det kan blive lidt ensformigt med ikke særlig mange, men ,-)
Avatar billede fbb Nybegynder
21. maj 2003 - 02:11 #7
Jeg vel helt bare ha, den går på skift mellem dem.
Avatar billede fbb Nybegynder
21. maj 2003 - 02:13 #8
Damn, jeg kan slet ikke skrive, tror jeg er for træt.

Så jeg smutter i seng, kigger her ind i morgen.
Avatar billede roenving Novice
21. maj 2003 - 02:13 #9
oki ;-)
Avatar billede roenving Novice
21. maj 2003 - 02:16 #10
Kunne du forøvrigt ikke lave din kode en anelse nemmere at skrive:

echo"<center><a target='_blank' href='http://$link'"> ...
Avatar billede ohmish Nybegynder
21. maj 2003 - 04:11 #11
nogen KAN bare ikke køre alm. rand på deres webhotel/server af en eller anden grund.. måske har du samme problem som jeg havde (på én bestemt server).

Alternativ:

<?
require_once("db.php");
$hent = @mysql_query("SELECT *, RIGHT(RAND(), 4) AS r FROM banner WHERE extension!='' ORDER BY r DESC LIMIT 0,1 ");
$r = @mysql_fetch_assoc($hent);
$id = $r['id'];
$ext = $r['extension'];
$link = $r['link'];
echo'<center><a target="_blank" href="http://'.$link.'"><img border="0" src="banner/'.$id.'.'.$ext.'"><a><br></center>';
?>
Avatar billede fbb Nybegynder
21. maj 2003 - 08:09 #12
Nice det virker bare ;)

Kan du ikke smide din mail? (der er en lille fejl i upload)
Avatar billede ohmish Nybegynder
21. maj 2003 - 08:31 #13
helst ikke. men smid din :)
Avatar billede tipsen Nybegynder
21. maj 2003 - 09:04 #14
fbb: Hvilken version af MySQL bruges der?
Avatar billede fbb Nybegynder
21. maj 2003 - 10:52 #15
tipsen der står MySQL 3.23.54-log inde i min phpmyadmin.

ohmish: n00b@frederikbb.dk
Avatar billede tipsen Nybegynder
21. maj 2003 - 11:03 #16
Jvf: http://www.mysql.com/doc/en/Mathematical_functions.html

skal du seede RAND() funktionen inden den kan forventes at give bare nogenlunde tilfældige tal - læs specielt kommentarerne nederst på siden da det er folk med samme type problem og tilhørende løsninger.

Ellers var en mulighed også:

<?
require_once('db.php');
$res = mysql_query('SELECT COUNT(*) FROM banner');
$antal = mysql_result($res,0);
mysql_free_result($res);
$rndnum = mt_rand(0, $antal-1);
$res = mysql_query("SELECT id, extension, link FROM banner LIMIT $rndnum, 1");
list($id, $ext, $link) = mysql_fetch_row($mysql);
echo '<center><a target="_blank" href="http://'.$link.'"><img border="0" src="banner/'.$id.'.'.$ext.'"><a><br></center>';
?>
Avatar billede fbb Nybegynder
21. maj 2003 - 11:06 #17
list($id, $ext, $link) = mysql_fetch_row($mysql);
der kommer fejl der
mysql_fetch_row(): supplied argument is not a valid MySQL result
Avatar billede fbb Nybegynder
21. maj 2003 - 11:08 #18
Har rettet den til det her:
list($id, $ext, $link) = mysql_fetch_row($res);
Så kommer der ingen fejl.
Men kan man ikke gører så den ikke skriver når hvis der ingen banner af (hvis ja og du gider laver jeg lige et nyt spm)
Avatar billede tipsen Nybegynder
21. maj 2003 - 11:12 #19
require_once('db.php');
$res = mysql_query('SELECT COUNT(*) FROM banner');
$antal = mysql_result($res,0);
mysql_free_result($res);
if ($antal > 0) {
  $rndnum = mt_rand(0, $antal-1);
  $res = mysql_query("SELECT id, extension, link FROM banner LIMIT $rndnum, 1");
  list($id, $ext, $link) = mysql_fetch_row($res);
  echo '<center><a target="_blank" href="http://'.$link.'"><img border="0" src="banner/'.$id.'.'.$ext.'"><a><br></center>';
} else {
  echo "Ingen bannere";
}
?>
Avatar billede fbb Nybegynder
21. maj 2003 - 11:13 #20
frækt tak ;)

Skal jeg lave et spm med lidt points i?
Avatar billede tipsen Nybegynder
21. maj 2003 - 11:17 #21
det er ligegyldigt.
Avatar billede fbb Nybegynder
21. maj 2003 - 11:18 #22
ok, jeg takker, så lærte jeg også lidt i dag ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester