Ho due tabelle 'uno' e 'due'
le tabelle sono strutturate allo stesso modo con gli stessi campi, come faccio ad estrarre i primi cinque record in ordine di data?
I campi da stampare sono data, descrizione, immagine, titolo, prezzo
Ho due tabelle 'uno' e 'due'
le tabelle sono strutturate allo stesso modo con gli stessi campi, come faccio ad estrarre i primi cinque record in ordine di data?
I campi da stampare sono data, descrizione, immagine, titolo, prezzo
Credo che l'unica tua possibilità sia la clausola UNION se il tuo db lo supporta.Originariamente inviato da semolino
Ho due tabelle 'uno' e 'due'
le tabelle sono strutturate allo stesso modo con gli stessi campi, come faccio ad estrarre i primi cinque record in ordine di data?
I campi da stampare sono data, descrizione, immagine, titolo, prezzo
Un esempio di UNION?
Io non ho nessun campo uguale per unire le due tabelle
Ognuno ha valori diversi.
SELECT campi FROM prima_tabellaOriginariamente inviato da semolino
Un esempio di UNION?
Io non ho nessun campo uguale per unire le due tabelle
Ognuno ha valori diversi.
UNION
SELECT campi FROM seconda_tabella
Se non mi sbaglio dovrebbe unire i 2 risultati. Solo che rivedendo la tua richiesta non credo tu riesca ad estrarre gli ultimi 5 record in ordine di data.
Non puoi unire le 2 tabelle se hanno gli stessi campi?
Io ho tabella uno
id | titolo | descrizione | data
tabella due
id | titolo | descrizione | data
Ho usato
$righe viene conteggiato in modo corretto.Codice PHP:
$sql = "(SELECT * FROM uno)
UNION
(SELECT * FROM due)
ORDER BY data LIMIT 5";
$result = mysql_query($sql) or die(mysql_error());
$righe = mysql_num_rows($result);
Ma come faccio ad estrarre i dati in modo da capire che sono riferiti ad una o l'altra tabella?
Appunto, non puoi se le tabelle sono identiche.Originariamente inviato da semolino
Io ho tabella uno
id | titolo | descrizione | data
tabella due
id | titolo | descrizione | data
Ho usato
$righe viene conteggiato in modo corretto.Codice PHP:
$sql = "(SELECT * FROM uno)
UNION
(SELECT * FROM due)
ORDER BY data LIMIT 5";
$result = mysql_query($sql) or die(mysql_error());
$righe = mysql_num_rows($result);
Ma come faccio ad estrarre i dati in modo da capire che sono riferiti ad una o l'altra tabella?
E' possibile aggiungendo un campo
ovviamente in tab troverai 1 o 2codice:$sql = "(SELECT *, 1 as tab FROM uno) UNION (SELECT *, 2 FROM due) ORDER BY data LIMIT 5";
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Quinbdi devo aggiungere un campo tab alle due tabelle? e associare il valore 1 alla prima e 2 alla seconda?
Quando estraggo i dati all'interno del while come faccio a sapere se sono della tabbella uno o due?
devi aggiungere proprio nulla alle tabelle.Originariamente inviato da semolino
Quinbdi devo aggiungere un campo tab alle due tabelle? e associare il valore 1 alla prima e 2 alla seconda?
Quando estraggo i dati all'interno del while come faccio a sapere se sono della tabbella uno o due?
Il valore lo mette la select. Trovi una campo "tab" in piu' con dentro il valore 1 oppure 2 a seconda della tabella da cui e' prelevato. mettici il valore che ti pare ....
Se metti una stringa ricorda che ci vogliono gli apici. Provare comunque servirebbe sempre... giusto????
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Avrei provto sicuramente, ma non avevo capito veramente cosa dovevo fare, ora ci provo![]()
Mi serve riconoscere a che tabella si riferiscono i risultati ad ogni ciclo, perchè all'interno dello stesso while faccio ulteriori controlli, es.
o cose del genere.Codice PHP:
if (campo_tabella uno == "valore") {
$sql_img = "SELECT immagine FROM ". $prefix ."immagini_video WHERE id_ltur = $row[id_ltur] AND video ='0' ORDER BY data DESC LIMIT 0,1";
} else {
$sql_img = "SELECT immagine FROM ". $prefix ."immagini_video WHERE id_ivend = $row[id_ivend] AND video ='0' ORDER BY data DESC LIMIT 0,1";
}
Ora provo