Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Verifica record DB

  1. #1
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854

    Verifica record DB

    Salve utenti,
    un piccolo consiglio: spesso mi capita di avere in un db campi del tipo:

    record01, record 02, record03, record04, record05

    quando devo verificare se uno di essi è pieno o no faccio un

    codice:
    if($campo['record01']!='' or $campo['record02']!='' or $campo['record03']!='' or $campo['record04']!='' or $campo['record05']!='') {
    
    }
    diciamo che potrebbe anche andare...ma se ho N campi da verificare diventa un po' scomodo...
    avete qualche suggerimento?

    Grazie.

  2. #2
    Intanto ti consiglierei di usare la funzione empty() oppure isset().

    esempio:

    Codice PHP:
    $campo = isset($_POST['campo']) ? trim($_POST['campo']) : ""
    Io faccio spesso cosi' e mi sono trovato sempre bene.

    Certo diventa un po' una pizza se hai decine di campi... in alternativa potresti mettere tutto in un array e controllare l'"emptiness" in un ciclo for.

    bye

  3. #3
    Ometto di commentare la struttura del DB:

    Puoi fare una roba del genere:

    Codice PHP:
    $numRecord 13;
    for (
    $i 1$i <= $numRecord$i++) {
        if (
    $campo['record'.sprintf("%02d"$i)] != '') {
            ...
        }

    Dove $numRecord è il numero di campi da controllare.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Originariamente inviato da satifal
    Dove $numRecord è il numero di campi da controllare.
    Visto che in questo caso $campo e' un array puoi usare "indirettamente" sizeof($campo).

    Indirettamente nel senso che ti conviene salvare il risultato in una variabile (tipo $numRecord appunto), invece di usare sizeof() all'interno del ciclo... questo per motivi di performance

  5. #5
    Originariamente inviato da Simo990
    Visto che in questo caso $campo e' un array puoi usare "indirettamente" sizeof($campo).

    Indirettamente nel senso che ti conviene salvare il risultato in una variabile (tipo $numRecord appunto), invece di usare sizeof() all'interno del ciclo... questo per motivi di performance
    Da quello che mi è sembrato di capire $campo, è si un array, ma frutto di un resultset per cui potrebbe ottenere altre chiavi oltre ai vari 'recordXX' in base alla query effettuata.
    E' per questo che non ho utilizzato la funzione size().
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854
    Ho dovuto utilizzare obbligatoriamente tale struttura perchè il framework utilizzato per la realizzazione dell'admin mi obbliga ad avere tale struttura.

    $campo è il risultato di un mysql_fetch_array

    Grazie comunque, per il momento sto utilizzando il ciclo for.

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.