Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    39

    stampare dati da db con condizione:

    Ciao a tutti,
    Ho provato a stampare dei dati da Mysql con una condizione if(...), ma non funziona come vorrei.
    TABELLE: INIZIATIVA(..., immagine, pdf)

    CODICE:
    ----------------------------------------------------------------------------------
    <?
    ...//connessione al db
    //query
    $query="SELECT * FROM iniziativa";
    $iniziative=mysql_query($query,$db);
    ...
    //stampa dati
    while($row_iniziative=mysql_fetch_array($iniziativ e)){

    //punto che non funziona correttamente

    if($row_iniziative[immagine] == "NULL"){echo "Non c'è l'immagine nel db,non stampare niente" ; }
    else{ echo "[img]$row_iniziative[preview][/img]"; }

    if($row_iniziative[pdf] == "NULL"){echo "Non c'è il file pdf nel db,non stampare niente" ; }
    else{ echo "Scarica il file in formato pdf
    [img]images/pdf_icona.gif[/img] "; }
    ?>
    -------------------------------------------------------------------------------------------
    Problema: sia che ci siano immagini e pdf nel db, sia che non ci siano ricado sempre nell'else.
    Io invece vorrei stampare l'immagine e/o il pdf quando presenti nel db, niente altrimenti.
    Consigli?

    Grazie in anticipo,
    Mauro.

  2. #2
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Controlla bene che laddove non ci sia memorizzato niente nei campi relativi al PDF o l'immagine (penso tu abbia memorizzato i path) ci sia il valore NULL e non un semplice vuoto ('').
    In questo caso è normale che la condizione non rilevi mai il NULL nell'IF e quindi tenda sempre a stamparti qualcosa sia che ci sia o meno un path di un PDF o di un'immagine.

    Ciao.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    39
    Grazie per la risposta.
    Si, scrivo i path dei file.

    Ho provato a:
    1) inserire nel db il valore NULL. (tra l'altro mi sembra che quando 1 campo è vuoto mysql lo interpreti come NULL)
    2)cambiare la condizione da if($row_iniziative[immagine] == "NULL")
    a if($row_iniziative[immagine] == " ")

    Ma si presenta sempre lo stesso problema, ricado sempre nell'else.

    C'è un'istruzione php che dice se il contenuto di una cella è nullo/pieno ? In caso affermativo come si applica al mio caso?

    Grazie ancora.

  4. #4
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Scusa se insisto ma ti sei assicurato che il campo accetti il valore NULL vero e proprio?
    Non vorrei che adesso venga semplicemente interpretato come scritta NULL ovvero 'NULL'.

    E poi fai attenzione che un campo vuoto non è (" ") ma ("") senza spazio tra le due virgolette, sono due cose ben distinte per MySQL ed uno spazio vuoto è un valore interpreato come un altro quindi non lasciarlo.

    Ciao.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    39
    Grazie mille per la precisazione, ho risolto togliendo lo spazio tra " " .

    Avevo parzialmente risolto facendo così:
    if(is_null($row_iniziative[immagine])){}

    Ma non mi soddisfava.
    Ciao,Mauro.

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.