[PHP] [MySQL] Random Result

Pagina: 1
Acties:

  • Wolfenstein
  • Registratie: September 2000
  • Laatst online: 31-08 15:34
Ik heb een klein vraagje. Ik wil op mijn (game) site steeds een random plaatje weer geven voor een review. Alle URL's van de plaatjes staan in een DB, dus wat ik eerst doe is alle plaatjes die bij die bepaalde review horen uit de DB trekken.

Uit deze lijst rijen wil ik een (random) rij halen en dat plaatje weergeven.

Nu had ik dit script:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
$reviewimage = mysql_query("SELECT * FROM images WHERE item_id='$id'");

//Tel het aantal rijen
$count = mysql_num_rows($reviewimage);
// Hier moet dus iest randoms gebeuren, maar nu voor het gemak ff het een na laatste resultaat
$count = $count - 1;
//de volgende functie vond ik in de manual en leek me wel juist om &eacute;&eacute;n rij er uit te pakken
$reviewimage = mysql_data_seek($reviewimage, $count);
//en dan de array maken
$image_row = mysql_fetch_array($reviewimage);
$image = $image_row['url'];
?>


Het probleem is echter dat mysql_fetch_array() zegt dat $image_row geen geldig resultaat is....
Op de een of andere manier gaat het dus fout bij mysql_data_seek(). Gebruik ik de functie verkeerd, of is er een andere functie om een rij uit meerdere te selecteren?

offtopic:
Wanneer doet die damn search het weer, volgens mij had ik dit best kunnen vinden.....

  • Tjark
  • Registratie: Juni 2000
  • Laatst online: 23-08 13:31

Tjark

DON'T PANIC

uit http://www.php.net/manual/en/function.mysql-data-seek.php
mysql_data_seek -- Move internal result pointer
Description
bool mysql_data_seek ( resource result_identifier, int row_number)
mysql_data_seek levert dus een boolean op en jij voert die boolean aan mysql_fetch_array....

*insert signature here


Verwijderd

PHP:
1
$reviewimage = mysql_query("SELECT * FROM images WHERE item_id='$id order by rand() limit 1'");

uit de hand, maar zo krijg je ook een random :)
zelf ook met zoiets aan het zoeken, alleen iets ingewikkelder volgens mij want heb nog steeds geen antwoord :(

[ Voor 0% gewijzigd door Verwijderd op 02-08-2002 22:55 . Reden: php tags :( ]


  • Wolfenstein
  • Registratie: September 2000
  • Laatst online: 31-08 15:34
Verwijderd schreef op 02 augustus 2002 @ 22:55:
PHP:
1
$reviewimage = mysql_query("SELECT * FROM images WHERE item_id='$id order by rand() limit 1'");

uit de hand, maar zo krijg je ook een random :)
zelf ook met zoiets aan het zoeken, alleen iets ingewikkelder volgens mij want heb nog steeds geen antwoord :(
He bedankt dat werkt :)
TjarkVerhoeven schreef op 02 augustus 2002 @ 22:53:
uit http://www.php.net/manual/en/function.mysql-data-seek.php
[...]
mysql_data_seek levert dus een boolean op en jij voert die boolean aan mysql_fetch_array....
Hmm, op zich vrij stom ja.... |:( Gewoon uit nieuwsgierigheid: Hoe krijg je dan wel dat result die je met mysql_data_seek() hebt aangewezen.

Verwijderd

mysql_data_seek geeft alleen de waarde waar of onwaar, dit wil zeggen hij kan je alleen antwoorden met: de data bestaat of de data bestaat niet