Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Aiuto Sulla composizione di una query

    Premetto che sto iniziando ora a studiare mySql e ho un pò di difficoltà a capire alcune meccaniche delle query.

    Mi sono creato un modulo per gestire l'inserimento delle news, con categorie e l'inserimento di una immagine.
    Riporto la struttura semplificata:

    codice:
    TABELLA NEWS
    id | titolo | testo | idCat | idfoto  
    
    TABELLA CATEGORIE 
    id | categoria  
    
    TABELLA FOTO
    id | percorsoFoto
    Ora vorrei creare una query per stampare la lista delle news inserite a db:

    codice:
    $query = 
    'SELECT  titolo, testo, categoria, percorsoFoto 
    FROM news, categorie, foto
    WHERE  idFoto=foto.id AND idCategoria=categorie.id';
    La query funziona, il problema è che la foto non è un campo obbligatorio, perciò il campo "idFoto" nella tabella news potrebbe essere vuoto (ora viene impostato automaticamente a 0).
    Quando è così la news non viene stampata perchè non soddisfa il criterio: WHERE idFoto=foto.id
    Io vorrei invece che la news venisse stampata lo stesso, anche se non trova la corrispondenza.
    E' possibile ricavare "percorsoFoto" e se non ha un corrispondente id assegnargli 0, poi con un controllo se =0 non lo stampo, se = miafoto.jpg lo stampo?

    E' una cosa fattibile modificando in qualche modo la query o avete altri suggerimenti per gestirla?

    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    select n.*,c.categoria,f.percorsofoto
    from news as n
    left join foto as f on n.idfoto = f.id
    left join categorie as c on c.id = n.idcat

  3. #3
    Funziona!

    Grazie mille!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.