Pagina 1 di 1

campi vuoti con valore zero

MessaggioInviato: dom apr 17, 2011 1:51 pm
da matemathikos
Salve, sto creando una pagina in php per inserire dei valori in un database; ho creato il form e la pagina di elaborazione per l'insert. Il modulo funziona, ma ho un problema: vorrei rendere facoltativi alcuni campi. Se, infatti, lascio vuoti dei campi mi dà errore di sintassi, mentre funziona il tutto se immetto "0". Vorrei quindi fare in modo che, lasciando degli spazi vuoti, il campo vuoto si auto impostasse 0. Come posso fare? Grazie :)

Re: campi vuoti con valore zero

MessaggioInviato: dom apr 17, 2011 1:58 pm
da ste_95
[ciao]

Devi settare i campi interessati come 'NULL' con valore predefinito 0. Puoi farlo tranquillamente da PHPMyAdmin [;)]

Re: campi vuoti con valore zero

MessaggioInviato: dom apr 17, 2011 2:18 pm
da matemathikos
Grazie :)

Intendi cambiando la struttura del database? Se sì, purtroppo non posso farlo per varie ragioni :-( Ho provato a fare una cosa del genere, ma non funziona...

Codice: Seleziona tutto
// Campi facoltativi
 if (($_POST['rep1']) == "NULL")
  {
   $rep1 == 0;
  }   
 else
  {
   echo mysql_error();
  }

Re: campi vuoti con valore zero

MessaggioInviato: dom apr 17, 2011 3:04 pm
da matemathikos
Ho risolto il problema con l'istruzione switch. Grazie :)

Re: campi vuoti con valore zero

MessaggioInviato: dom apr 17, 2011 3:06 pm
da ste_95
matemathikos ha scritto:Se sì, purtroppo non posso farlo per varie ragioni :-(

Se devi per forza agire via codice (sconsigliato), puoi fare una cosa del genere:

Codice: Seleziona tutto
if(!$_POST['rep1'] OR $_POST['rep1'] == '') {
     $rep1 = 0;
  }


Se hai bisogno di spiegazioni sul codice, dimmi [:)]

Re: campi vuoti con valore zero

MessaggioInviato: sab giu 04, 2011 4:08 pm
da Boo
ste_95 ha scritto:Se devi per forza agire via codice (sconsigliato), puoi fare una cosa del genere:

Codice: Seleziona tutto
if(!$_POST['rep1'] OR $_POST['rep1'] == '') {
     $rep1 = 0;
  }

]

Altrimenti fai una query sql di questo tipo
Codice: Seleziona tutto
ALTER TABLE tabella MODIFY campo DEFAULT 0