2012-12-06 1 views
5

Ich versuche, eine SQL-Funktion, die den höchsten Wert zeigt jedoch alle Variationen der MAX-Funktion, die ich benutze, immer noch mit einem leeren Bild. Was ist denn hier los? Wie repariere ich das?Abfrage SQL-Datenbank zu echo höchste automatisch inkrementierte Nummer

// zeigt kein Bild und macht keine Fehler

$result = mysql_query("SELECT MAX(id) AS id FROM people") or die (mysql_error()); 

// zeigt Bild 87

$result = mysql_query("SELECT * FROM people WHERE id = 87") or die (mysql_error()); 

enter image description here

Antwort

8

Es sollte kein Bild angezeigt werden, sollte es geben Sie ein Ergebnis von 87.

Siehe MAX

Sie könnten tun:

select * from people order by id desc limit 0, 1 

, die Ihnen die neueste Bild von ID geben sollte.

Um dies dynamisch zu machen und eine nächste Schaltfläche zuzulassen, müssten Sie den Wert des angezeigten Bildes speichern. Wenn die nächste Schaltfläche geklickt wird, könnte man dann

tun
select * from people order by id desc limit 1, 1 //Start at row 1, bring back 1. 

Siehe MySQL Limit

Sie würden PHP verwenden müssen, wenn die Werte in Limit und Ihre nächsten Link zu vergeben. Dazu müssten Sie Link haben, etwa so:

<a href="www.mysite.com/page?imagecount=1">Next</a> 

Dann PHP Sie könnte:

<?php 
    if (isset($_GET["imagecount"])) 
     $next = (int)$_GET["imagecount"]; //Don't forget the (int) cast to avoid SQL injection!!! 
    else 
     $next = 0; 

    $result = mysql_query("select * from people order by id desc limit $next, 1") or die(mysql_error()); 
?> 

TO auf den Link zu erweitern, können Sie dann Ihren Link dynamisch machen:

<a href="www.mysite.com/page?imagecount=<?php echo $next+1; ?>">Next</a> 
+0

Nun, das war einfach. Vielen Dank. – ramr

+0

Wie würde ich es bekommen, um den nächsten Wert in der Datenbank mit einem nächsten Knopf anzuzeigen! – ramr

+0

ändern Sie einfach das Limit 1,1 – Manatax