Spostamento tra record con metodi next() e prev()

Ho realizzato una struttura a scheda di nominativi, adesso devo perņ spostarmi avanti e indietro tra i record attraverso due semplici pulsanti in html, in php esistono i metodi next() e prev(), qualcuno mi sa dire come fare?? cosa devo scrivere nel link?

Naturalmente quando mi sposto in avanti o indietro devo mantere l'ordine alfabetico dei nominativi.

inviato 10 anni fa
Nando
X 0 X

Penso tu debba utilizzare la paginazione dei record estratti da Db,

guarda questo link:

http://forum.guidoz.it/viewtopic.php?t=451 ( naturalmente poi lo devi adattare al tuo script)

ciao

Lore

risposto 10 anni fa
Lore
Lore
1
X 0 X

Ho visto questo topic vecchiotto ma io ho oggi lo stesso problema ed il topic al quale si rimanda non esiste piu

Io ho fatto una procedura e sono giunto al risultato di andare avanti e indietro con il sistema che riporto

Uso in cascata

$result=mysql_query($query);

mysql_data_seek($result,$record);

$array=mysql_fetch_array($result);

faccio partire $record da 0 e poi lo aumento quando clikko sul bottone a pič di pagina dove ho scritto dentro .....name="record" value="<?php echo $record+1 ?> oppure ..."record -1"...

funziona se lo faccio partire come programma a se stante. :)

se lo integro in un modulo che usi variabili POST mi salta i record con campo di ricerca uguali. :(

c'e' qualcuno che puo' aiutarmi?

risposto 9 anni fa
Gestionale
X 0 X

se devi mostrare un record diverso per pagina ti consiglio di lavorare sulla query, non sulla fetch dei risultati. In pratica dovresti fare una query per ogni pagina in modo che venga estratto esattamente il record da mostrare in quella pagina. Magari potresti usare la clausola LIMIT di MySQL per ottenere in primo, secondo, terzo, ecc. record.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Ecco come avevo risolto io a quei tempi:

//conto i record
$rs_tot_rec = mysql_query("SELECT COUNT(id) AS totale_record FROM tabella;",$conn) or die($error_query);
$arr_tot = mysql_fetch_array($rs_tot_rec);
   
//ho il totale dei record
$totale = $arr_tot[0];
   
//qui ho la pagina corrente
$pagina = ($_GET['pag'] != "") ? (int)$_GET['pag'] : 1;
   
//quanti records visualizzare per pagina
$pageSize = 25;
   
//da che record iniziare a prendere i valori
$begin = ($pagina-1) * $pageSize;
   
//quante pagine vengono create
$countPages = ceil($totale/$pageSize);

//stampo e ciclo sui risultati
$query = "SELECT * FROM tabella ORDER BY campo DESC LIMIT $begin, $pageSize";
$risultato = mysql_query($query,$conn);
while ($record = mysql_fetch_array($risultato));

Spero vi sia di aiuto.

Ciao.  :)

risposto 9 anni fa
Nando
modificato 9 anni fa
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda