Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Uusin viesti

Sivun loppuun

remontti-reiska [03.04.2004 14:14:56]

#

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.

sooda [03.04.2004 14:18:14]

#

Mitäh :D missä sä limittaat ja mitä limittaat ja minkä viestin haluat nähä...? selitä vähän enemmän ongelmastasi...

ajv [03.04.2004 14:25:15]

#

Kyse on vissiin MySql:stä

"SELECT * FROM table ORDER BY id DESC LIMIT 0,1"

Hieman paremmin vois kyllä selittää ton kysymyksen joo!

remontti-reiska [03.04.2004 15:00:22]

#

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.

Olga [03.04.2004 15:21:26]

#

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;

remontti-reiska [03.04.2004 15:42:35]

#

Eipä toiminut. Valittaa:

Virhe kyselyssä!

Eli vielä jelppiä tarvitsisin.

Olga [03.04.2004 16:18:19]

#

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...

ajv [03.04.2004 16:34:05]

#

https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=phpj8
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.

remontti-reiska [03.04.2004 16:34:12]

#

Ahaa. Se id pitää siis olla siellä taulussa :). Olisit nyt heti sanonut.

Olga [03.04.2004 16:38:40]

#

Tässähän tulee ihan ZeBe-ajat mieleen... :)

remontti-reiska [03.04.2004 16:50:22]

#

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ä :).

ajv [03.04.2004 17:01:31]

#

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!

remontti-reiska [03.04.2004 17:07:04]

#

No enköhän pärjäille noilla tiedoilla.

Olga [03.04.2004 17:55:37]

#

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.

remontti-reiska [08.04.2004 21:39:17]

#

En saa toimimaan vieläkään.

Olga [08.04.2004 21:58:15]

#

Et viittis kertoa yhtään enempää? Tästä on puhuttu ennenkin (vrt. pari viestiä ylempää).

remontti-reiska [08.04.2004 22:34:48]

#

Antaa tuota "Virhe kyselyssä!" herjaa.

Olga [08.04.2004 22:44:19]

#

Mitä jos laittaisit sen sun koodin tänne + myslitaulun rakenteen. Ei me edelleenkään olla mitään ennustajia...

remontti-reiska [08.04.2004 22:48:16]

#

<?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ä.

ajv [08.04.2004 23:24:30]

#

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!


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta