Avatar billede xeno-morph Nybegynder
08. marts 2001 - 12:52 Der er 12 kommentarer og
2 løsninger

Random line fra en mysql databse

Jeg har følgende i min mysql :
[id]  [txt]  [txt2]
0      bla    bla
1      blabla  blabla

nu vil jeg gerne kunne trække en af de to linier ud tilfældigt, så hvis jeg opdaterer min side, tager den bare en tilfældig af dem jeg har i min database...
jeg har connection, men nu skal jeg bare selecte det random, så jeg får det ud sådan her :
echo \"$txt1 -- $txt2\";
Avatar billede senj Nybegynder
08. marts 2001 - 12:56 #1
Måske denne - den virker om ikke andet med mysql

SELECT * FROM table_name ORDER BY RAND() LIMIT 0,1
Avatar billede xeno-morph Nybegynder
08. marts 2001 - 12:57 #2
den har jeg prøvet :
den giver :
Warning: Wrong parameter count for mysql_result()
Avatar billede defrost Nybegynder
08. marts 2001 - 12:57 #3
Den virker i mysql 3.23. Hvis du bruger mysql 3.22 er det lidt mere tricky.
Avatar billede xeno-morph Nybegynder
08. marts 2001 - 12:57 #4
det her er hvad jeg har prøvet....
    $result = mysql_query(\"select * from tips order by rand() limit 1\");

  $tip=mysql_result($result);
  $pic=mysql_result($result);

  echo \"$tip\";
  echo \"<br>$pic\";
Avatar billede xeno-morph Nybegynder
08. marts 2001 - 12:58 #5
men jeg ved godt at der er meget i vejen...
Avatar billede xeno-morph Nybegynder
08. marts 2001 - 12:58 #6
MySQL 3.23.27
Avatar billede xeno-morph Nybegynder
08. marts 2001 - 12:59 #7
det kan også være det er :
  $tip=mysql_result($result);
  $pic=mysql_result($result);
jeg skal jo vælge at $tip er [txt] og $pic er [txt2]
Avatar billede senj Nybegynder
08. marts 2001 - 13:01 #8
Har det mon noget effect at du skriver limit 1 og ikke limit 0,1? Jeg ved det ikke!
Avatar billede xeno-morph Nybegynder
08. marts 2001 - 13:01 #9
har prøvet...
Avatar billede senj Nybegynder
08. marts 2001 - 13:06 #10
Hvad med noget i denne stil?

select *,((id*0)+rand()) as random from tabelnavn order by random limit 1
Avatar billede xeno-morph Nybegynder
08. marts 2001 - 13:07 #11
    $result = mysql_query(\"select * from tips order by rand() limit 0,1\");

  $tip=mysql_result($result,\"tip\");
  $pic=mysql_result($result,\"picurl\");

  echo \"$tip\";
  echo \"<br>$pic\";

den her virker til dels... nu får jeg :
1
1

hvor jeg egentlig skulle have :
bla
bla
Avatar billede defrost Nybegynder
08. marts 2001 - 13:07 #12
Det er ikke querien det er galt med.

$tip = mysql_result($result, 0, \"txt\");
$pic = mysql_result($result, 0, \"txt2\");
Avatar billede xeno-morph Nybegynder
08. marts 2001 - 13:17 #13
tak for hjælpen gutter.... :))
Avatar billede senj Nybegynder
08. marts 2001 - 13:20 #14
Det var dælme så lidt ;-)
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