Eli mysql tietokantaan lisäilen eri nimiä. Miten mahtaa onnistua uusimman nimen tulostus? Eli esimerkiksi etusivulla näkyisi viimeksi lisätty nimi.
Sinulla pitää olla siellä tietokannassa kenttä, joka kertoo koska nimi on lisätty. Sen jälkeen haet tietokannasta viimeiseksi lisätyn nimen.
Toinen vaihtoehto mikä tulee mieleen on sellainen, että jos sinulla on automaattisesti kasvava id-kenttä, niin se id, mikä on suurin on myös uusin nimi, joten voit hakea sen kannasta ja tulostaa.
Tuo automaattisesti kasvava id-kenttä on käytössä.
Millasella koodilla sen sitten saisi näkymään?
Viimeksi lisätyn nimen voi noutaa näin:
SELECT nimi FROM taulu ORDER BY id DESC LIMIT 1
Tuo on ensin hakevinaan kaikki nimet järjestettynä id:n mukaan suurimmasta pienimpään, mutta koska nimiä haetaankin vain yksi, saadaan selville viimeksi lisätty nimi.
Antti Laaksonen kirjoitti:
Viimeksi lisätyn nimen voi noutaa näin:
SELECT nimi FROM taulu ORDER BY id DESC LIMIT 1Tuo on ensin hakevinaan kaikki nimet järjestettynä id:n mukaan suurimmasta pienimpään, mutta koska nimiä haetaankin vain yksi, saadaan selville viimeksi lisätty nimi.
Hmm... Onkohän tämä koodi nyt oikein?
<? include ("dbconnect.php"); $sql="SELECT nimi FROM taulu ORDER BY id DESC LIMIT 1"; $result = mysql_query($sql); echo "<b>Uusin nimi: $result</b>"; ?>
Tuo kun tulostaa tälläsen tekstin: Resource id #10
newbiekoodaaja kirjoitti:
Tuo kun tulostaa tälläsen tekstin: Resource id #10
Muuttujasta $result pitää vielä pyytää erikseen haettu tieto:
$result = mysql_query($sql); $uusin = mysql_result($result, 0); echo "Viimeksi lisätty: $uusin";
Tämä on kieltämättä tällä kertaa vähän hassu lisäaskel, kun tietoja on kaikkiaan vain yksi.
Noniin nyt rupes toimii! :) Kiitos teille avusta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.