Inserire Circoscrizioni e candidati di lista

Avvisi e discussioni su bug, soluzioni e migliorie del software

Moderatori: roby, Moderators

Rispondi
Marsciano
Newbie
Newbie
Messaggi: 8
Iscritto il: mer giu 03, 2009 12:00 am

Inserire Circoscrizioni e candidati di lista

Messaggio da Marsciano »

Quando cerco di aggiungere una nuova circoscrizione attengo il seguente messaggio:
(1004) Non e' stato possibile inserire i dati nel database! contattare l'amministratoreIncorrect integer value: '' for column 'id_circ' at row 1.

Inoltre ho il problema di non risciuscire ad inserire i candidati di lista.
Ho provato con la soluzione proposta da Roberto per l'aggiunta del modulo delle circoscrizioni:

mysql -u NUMEUTENTE -p

una volta nel
prompt di mysql dai questo comando:
SET sql_mode = '';

esci da mysql e
riprova il programma.

Ma niente da fare
comuneponzano
Newbie
Newbie
Messaggi: 2
Iscritto il: lun giu 01, 2009 12:00 am

confermo l'errore

Messaggio da comuneponzano »

Nel tentativo di inserire la circoscriczione unica mi appare il medesimo errore..
Piattaforma:windows xp professional
Versione eleonline: 1.1.1
che fare?
grazie
Alberto
alex
Newbie
Newbie
Messaggi: 18
Iscritto il: lun mag 04, 2009 12:00 am
Contatta:

Messaggio da alex »

Ciao Marsciano,

se hai un mysql con versione >= 4.0.0 allora stai impostando una variabile di sessione, ovvero relativa al solo client ( nel tuo caso quello "a riga di comando" che l'ha eseguita) e solo per la durata della sua sessione e inoltre non visibile dagli altri thread/client.
Quindi o la imposti, in tal modo, nelle sessioni lanciate dagli script php oppure se non hai altre applicazioni che utilzzano il mysql e che hanno bisogno di un particolare valore di sql-mode la setti a livello globale.
Ricordati che le modifiche effettuate dal set non sono permanenti quindi impostale eventualmente nel cnf.

Se la versione di mysql è minore della 4.0.0. dovresti vedere se quella versione è effettivamente poco permissiva e in tal caso impostala nel cnf, sempre se non hai altre applicazioni che utilizzano un diverso sql-mode.
In caso contrario, ovvero mysql "permissivo", non dovresti avere problemi.

Alessandro
Marsciano
Newbie
Newbie
Messaggi: 8
Iscritto il: mer giu 03, 2009 12:00 am

Inserire Circoscrizioni e candidati di lista

Messaggio da Marsciano »

Io sono riuscita a risolvere, grazie anche all'aiuto di Roberto, facendo alcune modifiche alle pagine php relative alle circoscrizioni, alle sedi elettorali e ai candidati.

Se Alberto, comune di Ponzano, ha ancora problemi posso inviare i files.
Ciao
Chiara
comuneponzano
Newbie
Newbie
Messaggi: 2
Iscritto il: lun giu 01, 2009 12:00 am

Messaggio da comuneponzano »

Ciao gentilissima Chiara,
credo d'esser riuscito a risolvere il problema togliendo dal file my.ini la variabile
STRICT_TRANS_TABLES
come era stato risposto a qualcuno qui sul forum..
probabilmente non è il modo più elegante o corretto..e la mia conoscenza in materia non mi permette di giudicarlo, ma per ora funziona..
mi piacerebbe comunque sapere il tipo di modifiche alle pagine php che hai fatto..chissà..magari domani sera potrebbe servire :-)
grazie mille della cortesia
Alberto
Marsciano
Newbie
Newbie
Messaggi: 8
Iscritto il: mer giu 03, 2009 12:00 am

Modifiche da fare

Messaggio da Marsciano »

Le modifiche che ho fatto riguardano le operazioni di INSERT e UPDATE presenti nella parte finale delle pagine php presenti all'interno della cartella admin\Modules\Elezioni.

Ti lascio il codice da sostituire, ma se preferisci posso inviarti i files.


File ELE_CIRCO

$result = mysql_query("insert into ".$prefix."_ele_circoscrizione values ('$id_cons', NULL,'$num_circ','$descr_circ')", $dbi)|| die("(1004) Non e' stato possibile inserire i dati nel database! contattare l'amministratore".mysql_error());


$result = mysql_query("update ".$prefix."_ele_circoscrizione set num_circ='$num_circ' , descrizione='$descr_circ' WHERE id_circ='$id_circ'", $dbi)|| die("(1005) Non e' stato possibile aggiornare i dati! contattare l'amministratore".mysql_error());


Per quanto riguarda il file ELE_SEZIONE

$result = mysql_query("insert into ".$prefix."_ele_sezioni values ('$id_cons', NULL, '$id_sede', '$num_sez','$maschi','$femmine',0,0,0,0,0, 0, 0,0,0,0,0)", $dbi)


per quanto riguarda il file ELE_SEDE

$result = mysql_query("insert into ".$prefix."_ele_sede values ('$id_cons', null, '$id_circ','$indir','$tel1','$tel2', '$fax','$resp','$mappablob','$mappanome')", $dbi)


infine per quanto riguarda ELE_CANDIDATO
devi sostituire le due righe consecutive relative alla INSERT:

$result = mysql_query("update ".$prefix."_ele_candidati set id_lista='$id_lista', cognome='$cognome', nome='$nome', num_cand='$num_cand' $cond where id_cand='$id_cand' ", $dbi)|| die("(1004) Non e' stato possibile inserire i dati nel database! contattare l'amministratore".mysql_error());

mysql_query("insert into ".$prefix."_ele_log values ('$id_cons','$id_sez','$username','$data','$tempo','UPDATE:id_lista:$pro[id_lista],cognome:$pro[cognome],nome:$pro[nome],num_cand:$pro[num_cand]','id_lista:$id_lista,cognome:$cognome,nome:$nome,num_cand:$num_cand','".$prefix."_ele_candidati')", $dbi);

devi poi sostituire le due righe consecutive relative all'UPDATE:

$result = mysql_query("update ".$prefix."_ele_candidati set id_lista='$id_lista', cognome='$cognome', nome='$nome', num_cand='$num_cand' $cond where id_cand='$id_cand' ", $dbi)|| die("(1004) Non e' stato possibile inserire i dati nel database! contattare l'amministratore".mysql_error());

mysql_query("insert into ".$prefix."_ele_log values ('$id_cons','$id_sez','$username','$data','$tempo','UPDATE:id_lista:$pro[id_lista],cognome:$pro[cognome],nome:$pro[nome],num_cand:$pro[num_cand]','id_lista:$id_lista,cognome:$cognome,nome:$nome,num_cand:$num_cand','".$prefix."_ele_candidati')", $dbi);

Spero che sia tutto chiaro :wink:

Buon lavoro
Chiara
Rispondi