Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499

    Estrarre i primi 5 da due tabelle

    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

  2. #2

    Re: Estrarre i primi 5 da due tabelle

    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
    Credo che l'unica tua possibilità sia la clausola UNION se il tuo db lo supporta.

  3. #3
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Un esempio di UNION?
    Io non ho nessun campo uguale per unire le due tabelle
    Ognuno ha valori diversi.

  4. #4
    Originariamente inviato da semolino
    Un esempio di UNION?
    Io non ho nessun campo uguale per unire le due tabelle
    Ognuno ha valori diversi.
    SELECT campi FROM prima_tabella
    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?

  5. #5
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Io ho tabella uno
    id | titolo | descrizione | data

    tabella due
    id | titolo | descrizione | data
    Ho usato
    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); 
    $righe viene conteggiato in modo corretto.
    Ma come faccio ad estrarre i dati in modo da capire che sono riferiti ad una o l'altra tabella?

  6. #6
    Originariamente inviato da semolino
    Io ho tabella uno
    id | titolo | descrizione | data

    tabella due
    id | titolo | descrizione | data
    Ho usato
    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); 
    $righe viene conteggiato in modo corretto.
    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.

  7. #7
    E' possibile aggiungendo un campo

    codice:
    $sql = "(SELECT *, 1 as tab FROM uno) 
                 UNION 
                 (SELECT *, 2 FROM due) 
                 ORDER BY data LIMIT 5";
    ovviamente in tab troverai 1 o 2



    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    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?

  9. #9
    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?
    devi aggiungere proprio nulla alle tabelle.

    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.

  10. #10
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    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.
    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";    
                  } 
    o cose del genere.
    Ora provo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.