Gå til innhold

slecte siste post i database å printe ut?


Anbefalte innlegg

Videoannonse
Annonse

SELECT * FROM tabell ORDER BY * DESC LIMIT 1;

 

?

 

edit: funka ikke. blir nok id i stedet for *

 

annen løsning er

 

$sql = 'SELECT * FROM tabell;'

$res = mysql_query($sql);

$rows = mysql_fetch_rows($res);

 

echo $rows[count($rows) - 1];

Endret av grimjoey
Lenke til kommentar
Men losningen til Anders er vel raskere?

8436792[/snapback]

Den er den eneste riktige måten å gjøre det på! grimjoey, jeg er rimelig sikker på at din ikke funker i det hele tatt. Hvorfor? mysql_fetch_rows eksisterer ikke.

Endret av Nazgul
Lenke til kommentar

Hayer: Hva er det du skal ha? IDen til siste raden på tilkoblingen? Isåfall har vi mysql_insert_id() (forutsetter auto_increment på ID)

 

Hvis det er siste IDen helt generelt du vil ha så

SELECT MAX(id) AS siste FROM tabell

Skal du ha hele raden kan du bruke, som tidligere nevnt,

SELECT * FROM tabell ORDER BY id DESC LIMIT 1

ellers så kan man også bruke

SELECT * FROM tabell WHERE id = (SELECT MAX(id) FROM tabell) LIMIT 1

 

...

while($row = mysql_fetch_row($res))

{}

print_r($row);

 

 

det blir den siste raden vel. sier ikke at koden er raskere.

8441348[/snapback]

Ikke bare fungerer ikke koden ($row vil alltid være false), men følger man logikken er det usikkert om du faktisk får ut siste raden, og ikke minst er det her direkte hårreisende koding. Endret av Ernie
Lenke til kommentar
Gjest Slettet+142

du skal ha siste "post" ut ifra tabellen. ok. tabellen har feltene "navn", "tlf" og "epost".

men. har du et felt "id" eller iaf. et felt som benytter seg av auto_increment?

 

 

 

<?php

mysql_connect("host", "user", "pass");
mysql_select_db("database");

$sql = "SELECT * FROM tabell ORDER BY id DESC LIMIT 1";
$q = mysql_query($sql);

if(mysql_num_rows($q)!=1) die("Feil i med SQL: ".mysql_error());

$r = mysql_fetch_assoc($q);

echo 'Navn: '.$r["navn"];
echo '<br>';
echo 'Telefon: '.$r["tlf"];
echo '<br>';
echo 'Epost: '.$r["epost"];

?>

 

 

Endret av Slettet+142
Lenke til kommentar

$sql = mysql_query("SELECT * FROM tabell ORDER BY id DESC LIMIT 1");

$siste = mysql_fetch_assoc($sql);

 

echo $siste['name'];

 

=:o

 

edit; det er like greitt a bruke fetch_assoc som fetch_array($sql, MYSQL_ASSOC)

Endret av Ståle
Lenke til kommentar

ok...

 

nå har jeg faktisk testet den.

 

$qry = "select * from tabell;";

$res = mysql_query($qry);

while($row = mysql_fetch_row($res))

{

$wor = $row

}

print_r($wor);

 

edit:

 

forresten:

 

$qry = 'SELECT * FROM tabell ORDER BY 1 DESC LIMIT 1;';

....

Endret av grimjoey
Lenke til kommentar

Som Ståle sier, ingen poeng i å bruke while når man skal benytte seg av én rad!

Man tar rett og slett bare det som er inni while () og setter ut i koden.

 

While brukes kun når noe skal gjentas flere ganger, f.eks printe flerer rader..

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...