Kokeilin tuota LIMIT 1, mutta se näyttää vain ensimäisen viestin, joten tarvitsisin "käskyä", jolla saa uusimman viestin näkymään ja kohdan mihin se "käsky" pistetään.
Mitäh :D missä sä limittaat ja mitä limittaat ja minkä viestin haluat nähä...? selitä vähän enemmän ongelmastasi...
Kyse on vissiin MySql:stä
"SELECT * FROM table ORDER BY id DESC LIMIT 0,1"
Hieman paremmin vois kyllä selittää ton kysymyksen joo!
Justiinsa juu. Testaan tuota piakkoin. No pieniä unohduksia kysymyksessä kieltämättä kyllä olikin, no sainhan ainakin vastauksen :). Tuossa on tuo ORDER BY id, niin mitä tuohon id kohtaan pitää pistää, meinaan kun ei pelitä ja päättelin, että se johtuisi tuosta. Vai pitääkö mitään pistääkkään?
Jostain syystä ei pelitä:
<?php $yhteys = mysql_connect("","",""); //valitaan tietokanta "test" mysql_select_db("", $yhteys) or die("Tietokantaa ei löytynyt!"); $kysely = "SELECT * FROM table ORDER BY id DESC LIMIT 0,1"; $haku = mysql_query($kysely,$yhteys) or die("Virhe kyselyssä!"); while($rivi = mysql_fetch_row($haku)) { echo "<br>"; print $rivi[0]." <br />"; print $rivi[1]."<br />"; print $rivi[2]."<br />"; } // while mysql_close($yhteys); ?>
Palvelimen tiedot ja tietokannan otin tarkoituksella pois. Eli apua tarvitsisin.
Jos sulla on joku aika siellä, pistät että ORDER BY aika DESC LIMIT 1.
Edit: ja jos ei, ja id on auto_increment, voit tietty pistää tuon ORDER BY id DESC LIMIT 1;
Eipä toiminut. Valittaa:
Virhe kyselyssä!
Eli vielä jelppiä tarvitsisin.
Mikä ei toiminut? Onko sulla siellä taulussa edes sellaista kenttää ku id tai aika? Nuo sun kysymykset on niin ympäripyöreitä että pikkusen tuottaa hankaluuksia yrittää auttaa...
https://www.ohjelmointiputka.net/oppaat/opas.
Lueppa ensin tuo läpi. Sitten kun sen hallitset:
http://www.mysql.com/
Tuolta löytyy paljon eimerkkejä.
P.S
"SELECT * FROM table ORDER BY id DESC LIMIT 0,1"
Tietenkään tuo ei toimi. Korvaa tuo table sillä sillä omalla taulunnimelläsi. Ja jos ei taulussa ole id auto_increment, niin lisääppä se sinne aivan ensimmäiseksi.
Ahaa. Se id pitää siis olla siellä taulussa :). Olisit nyt heti sanonut.
Tässähän tulee ihan ZeBe-ajat mieleen... :)
Olen aloittelia MySQL:ssä, joten ei sitä ihan heti tarvitse alkaa ZeBeksi haukkumaan. Perhana, eipä vieläkään pelitä. Mihinköhän tuo "id auto_increment" pitäisi lisätä :).
Taulu:
CREATE TABLE reiska( id int(11) auto_increment primary key, aika int(11), tokasarake text )
Lisäys:
"INSERT INTO reiska (aika,tokasarake) VALUES ('".time()."','No, näinhän se homma etenee')"
Haku:
"SELECT * FROM reiska ORDER BY id DESC LIMIT 0,1"
Vedin noi hatusta, et en takaa 100%, et toimii, mutta pitäs toimii!
No enköhän pärjäille noilla tiedoilla.
remontti-reiska kirjoitti:
Olen aloittelia MySQL:ssä, joten ei sitä ihan heti tarvitse alkaa ZeBeksi haukkumaan. Perhana, eipä vieläkään pelitä. Mihinköhän tuo "id auto_increment" pitäisi lisätä :).
No ehän minä haukkunukkaa :) Sanoin vaan että tulee ne ajat mieleen... ihan tippa tulee linssiin ku muisteleepi.
En saa toimimaan vieläkään.
Et viittis kertoa yhtään enempää? Tästä on puhuttu ennenkin (vrt. pari viestiä ylempää).
Antaa tuota "Virhe kyselyssä!" herjaa.
Mitä jos laittaisit sen sun koodin tänne + myslitaulun rakenteen. Ei me edelleenkään olla mitään ennustajia...
<?php //muodostetaan yhteys tietokantapalvelimeen $yhteys = mysql_connect("","",""); //valitaan tietokanta "test" mysql_select_db("", $yhteys) or die("Tietokantaa ei löytynyt!"); mysql_query("CREATE TABLE taulu (nimi TEXT, kuvaus TEXT, koodi TEXT)", $yhteys); mysql_query("INSERT INTO taulu (nimi, kuvaus, koodi) VALUES ('$kpnimi', '$kuvaus', '$koodi')", $yhteys); $kysely = "SELECT * FROM taulu ORDER BY koodi DESC LIMIT 1"; $haku = mysql_query($kysely,$yhteys) or die("Virhe kyselyssä!"); while($rivi = mysql_fetch_row($haku)) { echo "<br>"; print $rivi[0]." <br />"; print $rivi[1]."<br />"; print $rivi[2]."<br />"; } // while mysql_close($yhteys); ?>
Nyt tuo ei herjaa mitään, mutta se ei vain näytä sitä uusinta viestiä.
Hirrrrrveetä sotkua... Siis ethän vain aja tuota joka kerta läpi? Ainakin toivon niin.
No, koodi siis tulostaa kuitenkin jotain, mutta ei uusinta viestiä. No siis laitappa sinne tauluun nyt ihan ekaksi se
"id int auto_increment"
Sitten järjestät kyselyn sen id:n perusteella.
"SELECT * FROM taulu ORDER BY koodi DESC LIMIT 1";
Tuohan siis järjestää tuloksen 'koodin' mukaan käänteiseen aakkosjärjestykseen, joten ei yllätys, että uusinta viestiä ei tulosteta.
Koko taulussa ei edes ole mitään kenttää, minkä mukaan voisit järjestää tuloksen uusin - vanhin viesti.
edit: Kyllä se siitä, hitaasti mutta varmasti!
Aihe on jo aika vanha, joten et voi enää vastata siihen.