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?
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.
Bedankt, waar ik naartoe wil is het volgende :

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?
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);
?>
Of je gebruikt de functie RAND in je SQL query. Zo haal je niet onnodige informatie op:

<?php
$sql = "SELECT gegevens FROM tabel ORDER BY RAND LIMIT 0,1";
Het werkt, bedankt!

Jullie kunnen het resultaat al bekijken op klik, ik ben er nog aan bezig dus er kan hier en daar wel eens een foutje inzitten.
Ziet er erg strak uit. Maar dit kan natuurlijk niet:
<title>Untitled Document</title>
Ik ben alles nog aan het opbouwen hé, ik ga als titel een variabele gebruiken.

Het portfolio dat ik momenteel heb kan je vinden op : klik
Het was ook niet echt heel serieus bedoeld. ;-))
Ik had al gelezen dat er nog hard aan wordt gewerkt.

Succes verder.

Reageren