23. januar 2004 - 15:25Der er
16 kommentarer og 2 løsninger
random script driller
Hejsa, jeg har det her script som udfra en db med film i returnere en tilfældig film, men scriptet returnere en tom post engang imellem, og jeg har ikke noget tomme poster i databasen, nogen der ved hvad der sker?? Mvh Krydset -----------------------------------------------------------------
<?PHP session_start(); /* * +-----------------------------------------------------------------------------+ * Projekt Name: Dvd arkiv Vers. 3 * +-----------------------------------------------------------------------------+ * Copyright Notes: Copyrights 2003 pc-dk.dk * +-----------------------------------------------------------------------------+ * Disclaimer Notice(s) * DONT USE THIS SCRIPT UNLESS YOU HAVE MY PERMISSIONS ON PARER * WITH MY PERSONAL SIGNATURE ANY QUESTIONS FOR THAT * SEND ME A MAIL: TLARSEN@PC-DK.DK * IF YOU WANT TO USE THIS SCRIPT THEN MAIL ME AND PAY FOR IT * +-----------------------------------------------------------------------------+ * Author(s): Thomas Larsen / Dk-Medieburner E-Mail: Tlarsen@pc-dk.dk * +-----------------------------------------------------------------------------+ */
#error_reporting(E_ALL); //For debuggin only, prints all error! //remove the # to debug
/** * Module comments (Brief shorly what this piece of code do) This script is generate a random movie from the database */
//includes the file there is openings a connection to a database include_once("dbconnect.php");
/* Here starts the code */
//find the numbers of movies there is in the database $res_antal = mysql_query("SELECT * FROM film") or die(mysql_error()); $antal = mysql_num_rows($res_antal); //selects a random id from the database between 1 - $antal($antal it the numbers there is in the database) $number = rand("1", "$antal");
//Make query to find at random movie in the databse $movie_res = mysql_query("SELECT * FROM film WHERE id = '$number'") or die(mysql_error());
/* Here stops the code if you have any html write it belowe here */ ?>
men hvis du har sat dit id-felt til auto increment, så burde den starte fra 1. Du risikerer så tilgengæld at få problemer hvis du f.eks. sletter nogle poster i databasen, så kommer der jo huller.
Synes godt om
Slettet bruger
23. januar 2004 - 15:39#5
schaefners løsning er nok den bedste.
En anden kunne vel være at lave en variabel der indeholdte "$antal - 1" og bruge den istedet. Men jeg ved ikke om det ville virke efter hensigten..
Okay hvem ligger tættest på det her svar og er den god nok $movie_res = mysql_query("SELECT * FROM film ORDER BY RAND() LIMIT 0,1") or die(mysql_error());
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.