- Home
- Categorie
- Coding e Sistemistica
- PHP
- Concatenare i risultati ricerca+paging
-
Concatenare i risultati ricerca+paging
Ciao a tutti
Premetto che riesco a visualizzare i risultati di una SELECT su più pagine.
Il mio problema è il seguente: da una tabella del DB, diciamo Tabella1, prendo gli id di righe che soddisfano certe condizioni, per ciascun risultato faccio un'altra SELECT su un'altra tabella, diciamo Tabella2, e visualizzo i risultati....il punto è che l'insieme di risultati si ripeto tante volte quanti sono gli id ed il pagin va a farsi friggere.La struttura è questa:
query=prima select
while (risultato) (
query2=seconda select
numrighe=numero righe risultato2
imposto le var del paging
while (risultato2) (
stampo risultati
) //fine while interno
)// fine while esternoCome posso concatenare i risultati e poi stamparli?
Grazie
-
non ho capito cosa ti serve però provo a rispondere comunque.
per "unire" i risultati di due tabelle secondo una chiave si possono usare i join.
esempio molto semplice:
tabella ordini:
id int
numero_ordine int
data datetimetabella ordini_righe
id int
id_ordine int
etc
etcper estrarre tutti i dati relativi all'ordine 1 (comprese le righe di dettaglio):
select * from ordini,ordini_righe where ordini_righe.id_ordine = ordini.id
questa è la sintassi più semplice, però ti consiglio di studiare anche i left join, right join, inner join, outer join.
altro caso:
se voglio estrarre dalla tabella ordini solo alcuni estrapolati da condizioni difficili da riprodurre in una query soltanto puoi usare questa sintassi:
select * from ordini where id in (1,6,8,596658)
in questo modo verranno estrapolati solo gli ordini:
1
6
8
596658spero di essere riuscito a rispondere alla tua domanda, altrimenti prova a spiegarla in modo diverso.
magari posta il codice effettivo e non una tua interpretazione altrimenti risulta molto difficile aiutarti.p.s. maschera solo le pass di accesso alle risorse, per il resto puoi postarlo tranquillamente.
-
Grazie....credo che la soluzione sia l'inner join...ora sto facendo delle prove....vediamo che succede.
Praticamente usando l'inner join ottengo ciò che voglio utilizzando una sola query, così posso utilizzare un unico while per stampare le informazioni di ogni riga.
Se riesco ad uscire, farò sapere.
Ciao
-
benissimo
-
Tymba ti ringrazio ancora....l'INNER JOIN era proprio la soluzione che cercavo.
Ora però ho un altro quesito...vabbè creo un nuovo topic....
Ciao