2012-12-06 15 views
5

Sto cercando di creare una funzione sql che mostri il valore più alto ma tutte le variazioni della funzione MAX che utilizzo, continuano a essere visualizzate con un'immagine vuota. Cosa sta succedendo qui? come posso risolvere questo?query sql database per echo numero incrementale automatico più elevato

// visualizza nessuna immagine e non dà errori

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

// visualizza immagine 87

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

enter image description here

risposta

8

Non dovrebbe visualizzare un'immagine, dovrebbe fornire un risultato di 87.

Vedere MAX

Si potrebbe fare:

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

che dovrebbe dare l'ultima immagine da ID.

Per rendere questa dinamica e consentire un pulsante successivo, è necessario memorizzare il valore dell'immagine visualizzata. Quando il pulsante successivo si fa clic si potrebbe poi fare

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

Vedi MySQL Limit

si avrebbe bisogno di utilizzare PHP per assegnare i valori limite e il vostro prossimo collegamento però. Per fare questo si avrebbe bisogno di avere collegamento in questo modo:

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

Quindi, utilizzando PHP si potrebbe:

<?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()); 
?> 

per espandere sul link, si potrebbe poi fare il vostro collegamento dinamico:

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

Beh, è ​​stato facile. Grazie. – ramr

+0

Come potrei ottenere per visualizzare il prossimo valore nel database con un pulsante successivo! – ramr

+0

basta modificare il limite 1,1 – Manatax

Problemi correlati