Visualizzazione dei risultati da 1 a 9 su 9

Discussione: echo di valori nulli..

  1. #1

    echo di valori nulli..

    Ciao ragazzi!!!
    Sono veramente un neofita di php, e lo sto usando perchè devo realizzare un sito per un esame dell'università..quindi siate cleamenti please!!!

    Vi spiego che cosa non riesco a fare..
    Ho un db con alcuni campi (nickname, passw, email, anni, paese, provincia,professione). Alcuni di questi sono obbligatori (nickname e passw), altri opzionali..
    Quando l'utente si registra se non compila i campi il db mi registra la stinga vuota ""..

    In un altra pagina php, accedo al database e stampo a schermo di dati dell'utente..
    Quando il campo è vuoto vorrei far stampare "dati non presenti" invecde che nulla..
    Ovviamente basta mettere un if con condizione != ""..

    Ma mi piacerebbe farlo con tutti i campi che sono nulli, senza dover fare un if tutte le volte..
    Non so se mi sono spiegato bene.. :master:
    Grazie a chi midara' una mano...

  2. #2
    Estrai i valori dal DB, inseriscili in un array, esegui un ciclo sull'array ed inserisci all'interno del ciclo un (se campo vuoto allora campo = dati non trovati). Poi utilizza il nuovo array per visualizzare i dati.

  3. #3
    Originariamente inviato da filippo.toso
    Estrai i valori dal DB, inseriscili in un array, esegui un ciclo sull'array ed inserisci all'interno del ciclo un (se campo vuoto allora campo = dati non trovati). Poi utilizza il nuovo array per visualizzare i dati.
    Grazie mille..sei stato gentilissimo..
    Se per caso hai voglia di spiegarmi passo x passo, per me che sono un novellino..
    Così è un po' difficile x me..

    Grazie mille

  4. #4
    vi chiedo scusa, ma non riesco a creare quello che mi viene suggerito!!!
    Qualche anima pia poptrebbe darmi una mano???
    Grazie mille..
    Questo è il pezzo di codice che ho fatto, ma dopo non so come andare avanti...

    codice:
    $info = array ($nick,$rec['password'],$email,$anni,$paese,$prov,$prof);
    
    foreach ($info as $dato){if ($dato == ""){$dato = "Dato non presente";}
    else{$dato = $dato}}
    Almeno questo pezzo è giusto??

  5. #5
    scusatemi vi chiedo ancora una volta di drami una mano!!!
    Questo maledetto progetto lo devo consegnare mercoledì, ma non riesco a venire a capo di questo problema..
    Help me please!!!

  6. #6
    Originariamente inviato da Giacc@
    vi chiedo scusa, ma non riesco a creare quello che mi viene suggerito!!!
    Qualche anima pia poptrebbe darmi una mano???
    Grazie mille..
    Questo è il pezzo di codice che ho fatto, ma dopo non so come andare avanti...

    codice:
    $info = array ($nick,$rec['password'],$email,$anni,$paese,$prov,$prof);
    
    foreach ($info as $dato){if ($dato == ""){$dato = "Dato non presente";}
    else{$dato = $dato}}
    Almeno questo pezzo è giusto??
    Ciao,
    ammesso e non concesso che il popolamento dell'array sia corretto (hai verificato di aver riempito tutti i campi correttamente?) direi che il tuo foreach è quasi corretto ... io invece che riscrivere sullo stesso array ne popolerei uno nuovo:

    codice:
    foreach ($info as $dato){
      if ($dato == "" || !isset($dato)){
        $arr_risultato[] = "Dato non presente";
      } else {
        $arr_risultato[] = $dato;
      }
    }
    Poi usi $arr_risultato al posto di $info...

    Spero che sia stato utile! E facci sapere come va' l'esame! In bocca al lupo

  7. #7
    Originariamente inviato da Giacc@
    vi chiedo scusa, ma non riesco a creare quello che mi viene suggerito!!!
    Qualche anima pia poptrebbe darmi una mano???
    Grazie mille..
    Questo è il pezzo di codice che ho fatto, ma dopo non so come andare avanti...

    codice:
    $info = array ($nick,$rec['password'],$email,$anni,$paese,$prov,$prof);
    
    foreach ($info as $dato){if ($dato == ""){$dato = "Dato non presente";}
    else{$dato = $dato}}
    Almeno questo pezzo è giusto??
    No, e' sbagliato. La variabile $dato e' "interna" al foreach, e viene reinizializzata ad ogni ciclo dandole il successivo valore dell'elemento dell'array in questione. Quindi in sostanza le modifiche che fai rimangono solo fino al successivo giro, dopodiche' si perdono (comunque gia' un assegnamento assurdo come $dato = $dato dovrebbe suggerirti che qualcosa non va )

    Quindi i casi sono due, o operi direttamente sull'array cosi':
    Codice PHP:
    for ($n 0$n count($info); $n++) {
        if (
    $info[$n] == "") {
            
    $info[$n] = "Dato non presente;";
        }

    oppure usi il foreach creando un nuovo array in cui registrare i valori (ma perche' farne un altro quando ne hai gia' uno?).

  8. #8
    GRAZIE MILLE DEI CONSIGLI..
    adesso mi metto subito al lavoro..
    Vi farò sapere presto..
    GRAZIE ANCORA..
    SIETE MITICI!!!

  9. #9
    certo!!
    Così funziona alla perfezione..grazie mille dell'aiuto!!
    Non risucivo a vedere la luce!!!
    THANKS

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.