- Home
- Categorie
- Coding e Sistemistica
- PHP
- Richiesta record successivo rispetto a quello passato con GET
-
Ciao
quindi passando ad una pagina una variabile tipo record=10 vuoi che in realtà dal db venga pescato il record 11?
Se è così allora è semplice:
$record= $_GET["record"];
$record= $record + 1;$sql= "SELECT * FROM tabella WHERE idrecord=".$record;
-
@tonyx said:
Ciao
quindi passando ad una pagina una variabile tipo record=10 vuoi che in realtà dal db venga pescato il record 11?
Se è così allora è semplice:
$record= $_GET["record"];
$record= $record + 1;$sql= "SELECT * FROM tabella WHERE idrecord=".$record;
pero questo si puo fare sempre se si è sicuri che dalla tabella non ci sia nessuna riga cancellata no?
-
infatti il problema e' proprio che le righe non sono tutte continue, voglio dire magari gli id sono tipo: 101, 102, 105, 121...
e quindi quando arriva al numero di id che non esiste mi da' errore...
-
un altro modo che mi viene in mente per fare la stessa cosa, che pero' non so come realizzare perche' probabilmente il codice da usare e' lo stesso e' quello di fare una paginazione dei risultati che mi faccia vedere un solo risultato per pagina.
Secondo voi puo' andare?pero', come faccio a dirgli che il record da cui deve partire e' quello passato con GET?
-
il secondo post di questo topic di senamion ti da la soluzione metti un LIMIT 1 alla fine e sei a posto
-
scusa skyline mi riposti il link perfavore? me lo trasforma in link di wikigt....
grazie mille
-
lo ha scritto poco sopra ehehehe
Di solito si passa l'ID del record, se successivo intendi il record con id superiore basta che fai una SELECT * FROM tabella WHERE id > '$id'
praticamente where id > $id LIMIT 1
-
ahhh ok scusa sono fusa!
e per quello precedente?
-
metti minore al posto di maggiore
questo
<
al posto di
-
si hai ragione teoricamente e' una domanda idiota pero' il fatto e' che il successivo mi funziona perfettamente (fino a che arriva alla fine s'intende) mentre il precedente no.
E' strano, a volte va ma spesso e volentieri salta di botto al primo id mentre ce ne sarebbero molti altri in mezzo...sapete mica come mai?
-
perchè in teoria prende il primo minore di quell'id quindi il PRIMO. mmm se trovo una soluzione ti dico
-
ho provato anche a mettere -- al posto di < per cercare di decrementarlo di uno ma da lo stesso errore... bho?!
-
potresti ordinarli al contrario e fare la query hauh
prova dopo < id mettiORDER BY campo_id DESC
-
prova come ti ho detto ora
-
ma se li ordini al contrario per pescare il precedente devi lasciare come segno > anzicche < o sbaglio?
-
è sempre minore
id = 80100
97
91
88
82
80(ID)
**79(prende questo)
**75
...
-
Giusto!
-
azz...
funziona si pero' mi passa sempre al primo (che in questo caso e' l'ultimo!)
che sclero....Sentite, stavo provando, su consiglio di Sups, a mettere LIMIT 1 in modo che "scenda solo di 1" ma mi dice che la query e' scritta male, dove sbaglio?:
SELECT product.code
FROM product
WHERE product.code > codegetprev LIMIT 1
ORDER BY product.code DESC
-
hai sbagliatoooooo non funziona perchè hai messo > invece che < ehehehe
scrivila così
SELECT product.code FROM product WHERE product.code < codegetprev ORDER BY product.code DESC LIMIT 1
-
nulla da fare, e' proprio un rompicapo!
salta sempre all'id maggiore esistente... ma possibile?