Hallo, ik ben bezig met een stukje aan het maken, wat een random lid selecteert. Nu is het soms leeg, dat kan ook wel omdat sommige id's missen in de database.
Awel , na dit script denk je, er bestaat nog een kans ... dat die leeg is... raar die kans is : 0,00003125% , en ik heb hem nu al paar keer gezien, onwaarschijnlijk dus, dat het hier door komt.
<?php
include("config.php");
$aantal = $config_aantal;
$random = rand(1,$aantal);
$selectlid = mysql_query("SELECT * FROM leden WHERE id = $random");
$objectlid = mysql_fetch_object($selectlid);
$aantallid = mysql_num_rows($selectlid);
if($aantallid == 0) {
$selectlid = mysql_query("SELECT * FROM leden WHERE id = $random");
$objectlid = mysql_fetch_object($selectlid);
$aantallid = mysql_num_rows($selectlid);
}if($aantallid == 0) {
$selectlid = mysql_query("SELECT * FROM leden WHERE id = $random");
$objectlid = mysql_fetch_object($selectlid);
$aantallid = mysql_num_rows($selectlid);
}if($aantallid == 0) {
$selectlid = mysql_query("SELECT * FROM leden WHERE id = $random");
$objectlid = mysql_fetch_object($selectlid);
$aantallid = mysql_num_rows($selectlid);
}if($aantallid == 0) {
$selectlid = mysql_query("SELECT * FROM leden WHERE id = $random");
$objectlid = mysql_fetch_object($selectlid);
$aantallid = mysql_num_rows($selectlid);
}if($aantallid == 0) {
$selectlid = mysql_query("SELECT * FROM leden WHERE id = $random");
$objectlid = mysql_fetch_object($selectlid);
$aantallid = mysql_num_rows($selectlid);
} else {
echo "<a href='/$objectlid->gebruikersnaam'>". $objectlid->gebruikersnaam ."</a><br>";
if ($objectlid->avater == "") {
echo "<img src='http://www.profielweb.nl/images/geen.jpg' border='0' width='100' height='100'><br><br>";
} else {
echo "<img src='http://www.profielweb.nl/ava/". $objectlid->avater ."' border='0'><br><br>";
}
echo "Hoi! me naam is ". $objectlid->naam .", en ik ben een ". $objectlid->geslacht .".
Ik ben ". $objectlid->status ." op profielweb en ben vanaf ". $objectlid->datum ." lid.
Ik ben geboren op : ". $objectlid->geboortedatum1 ."-". $objectlid->geboortedatum2 ."-". $objectlid->geboortedatum3 ." en ik heb ". $objectlid->credits ." Cr.
Ik heb ". $objectlid->forumpost ." berichtjes op het forum geplaats en me profiel is ". $objectlid->bekeken ." keer bekeken.";
if ($objectlid->hobbys == "") {
echo "Ik heb geen hobby's";
} else {
echo "Me hobby's zijn ". $objectlid->hobbys .".";
}
}
?>
<?php
include("config.php");
$aantallid = 0;
$max = MySQL_result(MySQL_query("count (id) FROM leden"),0);
while($aantallid == 0) {
$random = rand(0,$max);
$selectlid = mysql_query("SELECT * FROM leden WHERE id = ". $random);
$objectlid = mysql_fetch_object($selectlid);
$aantallid = mysql_num_rows($selectlid);
}
echo "<a href='/$objectlid->gebruikersnaam'>". $objectlid->gebruikersnaam ."</a><br>";
if ($objectlid->avater == "") {
echo "<img src='http://www.profielweb.nl/images/geen.jpg' border='0' width='100' height='100'><br><br>";
} else {
echo "<img src='http://www.profielweb.nl/ava/". $objectlid->avater ."' border='0'><br><br>";
}
echo "Hoi! me naam is ". $objectlid->naam .", en ik ben een ". $objectlid->geslacht .".
Ik ben ". $objectlid->status ." op profielweb en ben vanaf ". $objectlid->datum ." lid.
Ik ben geboren op : ". $objectlid->geboortedatum1 ."-". $objectlid->geboortedatum2 ."-". $objectlid->geboortedatum3 ." en ik heb ". $objectlid->credits ." Cr.
Ik heb ". $objectlid->forumpost ." berichtjes op het forum geplaats en me profiel is ". $objectlid->bekeken ." keer bekeken.";
if ($objectlid->hobbys == "") {
echo "Ik heb geen hobby's";
} else {
echo "Me hobby's zijn ". $objectlid->hobbys .".";
}
?>
Neen, zolang $aantallid gelijik aan 0 is zal de loop blijen doorlopen. Maar als je gelijk bij de eerste keer doorlopen een 'geldig' id hebt geseleceerd gaat deze var op 1, dus $aantallid is geen 0 meer dus de loop stopt ...
Heb je bij de eerste keer doorlopen geen geldig ID eselecteerd dan loopt de loop gewoon door tot er een geldig ID is
<?php
include("config.php");
$tested = array();
$aantallid = FALSE;
$max = MySQL_result(MySQL_query("count (id) FROM leden"),0);
while (!$aantallid) {
if (in_array(($random = rand(0,$max), $tested)))
continue;
$selectlid = mysql_query("SELECT * FROM leden WHERE id = ". $random);
if (mysql_num_rows($selectlid) > 0) {
$objectlid = mysql_fetch_object($selectlid);
$aantallid = TRUE;
}
$tested[] = $random;
}
echo "<a href='/$objectlid->gebruikersnaam'>". $objectlid->gebruikersnaam ."</a><br>";
if ($objectlid->avater == "") {
echo "<img src='http://www.profielweb.nl/images/geen.jpg' border='0' width='100' height='100'><br><br>";
} else {
echo "<img src='http://www.profielweb.nl/ava/". $objectlid->avater ."' border='0'><br><br>";
}
echo "Hoi! me naam is ". $objectlid->naam .", en ik ben een ". $objectlid->geslacht .".
Ik ben ". $objectlid->status ." op profielweb en ben vanaf ". $objectlid->datum ." lid.
Ik ben geboren op : ". $objectlid->geboortedatum1 ."-". $objectlid->geboortedatum2 ."-". $objectlid->geboortedatum3 ." en ik heb ". $objectlid->credits ." Cr.
Ik heb ". $objectlid->forumpost ." berichtjes op het forum geplaats en me profiel is ". $objectlid->bekeken ." keer bekeken.";
if ($objectlid->hobbys == "") {
echo "Ik heb geen hobby's";
} else {
echo "Me hobby's zijn ". $objectlid->hobbys .".";
}
?>
Een tipje, je kan beter mysql_fetch_assoc gebruiken. Hierdoor wordt het script sneller + het kost minder vermogen van je database. Hier heb ik het even veranderd.
<?php
include("config.php");
$tested = array();
$aantallid = FALSE;
$max = MySQL_result(MySQL_query("count (id) FROM leden"),0);
while (!$aantallid) {
if (in_array(($random = rand(0,$max), $tested)))
continue;
$selectlid = mysql_query("SELECT * FROM leden WHERE id = ". $random);
if (mysql_num_rows($selectlid) > 0) {
$objectlid = mysql_fetch_assoc($selectlid);
$aantallid = TRUE;
}
$tested[] = $random;
}
echo "<a href='/$objectlid['gebruikersnaam']'>". $objectlid['gebruikersnaam'] ."</a><br>";
if ($objectlid['avater'] == "") {
echo "<img src='http://www.profielweb.nl/images/geen.jpg' border='0' width='100' height='100'><br><br>";
} else {
echo "<img src='http://www.profielweb.nl/ava/". $objectlid['avater'] ."' border='0'><br><br>";
}
echo "Hoi! me naam is ". $objectlid['naam'] .", en ik ben een ". $objectlid['geslacht'] .".
Ik ben ". $objectlid['status'] ." op profielweb en ben vanaf ". $objectlid['datum'] ." lid.
Ik ben geboren op : ". $objectlid['geboortedatum1'] ."-". $objectlid['geboortedatum2'] ."-". $objectlid['geboortedatum3'] ." en ik heb ". $objectlid['credits'] ." Cr.
Ik heb ". $objectlid['forumpost'] ." berichtjes op het forum geplaats en me profiel is ". $objectlid['bekeken'] ." keer bekeken.";
if ($objectlid['hobbys'] == "") {
echo "Ik heb geen hobby's";
} else {
echo "Me hobby's zijn ". $objectlid['hobbys'] .".";
}
?>
echo"Hoi! me naam is ".$objectlid['naam'].", en ik ben een ".$objectlid['geslacht'].".
Ik ben ".$objectlid['status']." op profielweb en ben vanaf ".$objectlid['datum']." lid.
Ik ben geboren op : ".$objectlid['geboortedatum1']."-".$objectlid['geboortedatum2']."-".$objectlid['geboortedatum3']." en ik heb ".$objectlid['credits']." Cr.
Ik heb ".$objectlid['forumpost']." berichtjes op het forum geplaats en me profiel is ".$objectlid['bekeken']." keer bekeken.";