Ik probeer al een hele tijd het hoogste id uit mijn db te halen maar ik krijg altijd een fout! Ik gebruik momenteel deze code:
$test = mysql_query("SELECT * FROM website ORDER BY id DESC LIMIT 0,1");
echo $test;
en het lukt niet:s, ziet iemand mijn fout?
?
Onbekende gebruiker
12-05-2007 02:11
Je bent op de goede weg.
En de melding die je krijgt is helemaal mooi. Er is resultaat teruggekomen van je query. Omdat deze resultaten nog direct gebruikt kunnen worden moet deze eerst nog gefetchd worden.
Hiervoor zijn verschillende mogelijkheden:
- fetch_array (geeft een array terug met kolomnaam en volgnummer)
- fetch_assoc (geeft een array terug met kolomnaam)
- fetch_object (geeft een object terug met kolomnaam)
Normaal fetch je in een while loop [while($row = mysql....) {} ] maar omdat je nu maar één resultaat hebt hoe je ook maar één keer te fetchen. Dus:
<?php
// jouwcode ......
$row = mysql_fetch_assoc($test);
echo $row['websitenaam']; // merk op dat je websitenaam moet vervangen door de naam van een tabel.
print_r($row); // geeft een overzicht van alle kolomen met daarbij behorende waarde
?>
Aanvulling: in de praktijk heb je het meeste aan mysql_fetch_assoc, qua gebruiksvriendelijkheid en snelheid. mysql_fetch_object is een factor 2 trager.
ik zou graag op mijn website een random werk laten verschijnen, ik had gedacht om door middel van een random getal te werken :
$i= rand(0, count($test));
Hierna zou hij het getal $i, uit de tabel moeten halen en dat weergeven. ( de titel, de uitleg van dat nummer die in de db zitten.)
Hoe zou ik dat dan doen?
?
Onbekende gebruiker
12-05-2007 12:06
Zijn verschillende mogelijkheden. Bv:
<?php
// Eerst gaan we alle records ophalen
$sql = "SELECT * FROM tabel";
$resultaat = mysql_query($sql);
// Hier komen alle records in
$records = array();
while($record = mysql_fetch_assoc($resultaat))
{
// De record toevoegen aan de record array;
$records[] = $record;
}
// Aantal records
$aantal = count($records);
$aantal --; // Want array begint op 0
// Pak een random
$record = $records[rand(0,$aantal)];
// Print array met record:
print_r($record);
?>