Avatar billede tortur Nybegynder
28. maj 2004 - 14:45 Der er 17 kommentarer

Vis tilfældig besked virker ikke!

Hey!
Har lige sidet og leget med lidt rand, hvor den skal finde et tilfældigt besked som ikke er læst og så vise den..
Men så er det jeg for denne fejl:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /customers/waked.dk/waked.dk/httpd.www/rand.php on line 12

Mit script:

<?php
include("mysql.php");
$get = mysql_query("SELECT * FROM beskeder WHERE set='no'");
$to = mysql_num_rows($get);
$rand = rand(1, $to);
$getbesked = mysql_query("SELECT * FROM beskeder WHERE id = '".$rand."'");
$row = mysql_fetch_array($getbesked);
echo "".$row['besked']."";
?>

På forhånd tak..
/tortur
Avatar billede riversen Nybegynder
28. maj 2004 - 14:50 #1
Der må være fejl i din sql
Avatar billede dennismp Nybegynder
28. maj 2004 - 14:52 #2
prøv med: SELECT * FROM beskeder WHERE `set`='no'
Avatar billede dennismp Nybegynder
28. maj 2004 - 14:53 #3
En anden måde at trække en tilfældig række ud:
$getbesked = mysql_query("SELECT * FROM beskeder ORDER BY rand() LIMIT 1;");
$row = mysql_fetch_array($getbesked);
echo "".$row['besked']."";
Avatar billede dennismp Nybegynder
28. maj 2004 - 14:53 #4
og denne:
echo "".$row['besked']."";

skal bare skrives som:
echo $row['besked'];

(beklager de mange  beskeder)
Avatar billede grunken Nybegynder
28. maj 2004 - 14:54 #5
$sql = mysql_query("select * from beskeder order by rand() limit 1");
$ud = mysql_result($sql,0);
echo $ud;
Avatar billede grunken Nybegynder
28. maj 2004 - 14:55 #6
to slow :o) og to wrong :o)
Avatar billede tortur Nybegynder
28. maj 2004 - 15:01 #7
Jamen kan man så skrive:
$sql = mysql_query("select * from beskeder WHERE set = 'no' order by rand() limit 1");
Avatar billede dennismp Nybegynder
28. maj 2004 - 15:05 #8
ja
Avatar billede sukos Juniormester
28. maj 2004 - 15:08 #9
du kan vel:

$sql = mysql_query("SELECT `besked` FROM `beskeder` WHERE `set` = 'no' ORDER BY rand() LIMIT 1");
echo mysql_result($sql,0);
Avatar billede sukos Juniormester
28. maj 2004 - 15:08 #10
altså, som dennismp+grunken :O)
Avatar billede tortur Nybegynder
28. maj 2004 - 15:10 #11
Okay skal lige være helt med, skal jeg så også skrive $ud i min løkke istedet for $getbesked
Avatar billede tortur Nybegynder
28. maj 2004 - 15:10 #12
sludder mente forspørgelse
Avatar billede dennismp Nybegynder
28. maj 2004 - 15:12 #13
Er ikke sikker på jeg forstår..

mysql_query() giver dig en resource-id til dit resultat. For at få værdierne bruger du en anden mysql_* funktion (alene hjælper den dig ikke meget)...
Avatar billede Slettet bruger
29. maj 2004 - 02:19 #14
Og grunden til at den første ikke virkede er, at SET er et reserveret ord. (Det bruges til UPDATE tabel SET felt=værdi)
Avatar billede dennismp Nybegynder
29. maj 2004 - 02:27 #15
.. og moralen er..

Undgå gætværk - brug altid mysql_error() :-)
Avatar billede tortur Nybegynder
29. maj 2004 - 22:47 #16
Tak alle sammen, men jeg ved ikke hvem jeg skal give pointene til?
Avatar billede dennismp Nybegynder
30. maj 2004 - 00:00 #17
Mig selvf :-)

.. Nej, giv dem til den du syntes fortjener det. Du kan jo sagents dele points imellem flere svar, hvis du mener det skal på tale.
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