getMessage ()); else { // Si mode débug, on affiche la connexion est OK if ($DEBUG == 1) echo "La base ".$dsn['database']." est connectée.
"; // Récupération des variables collectivites // ****************************************** // nb siege /election prudhommale //******************************************** // get if (isset ($_GET['idx'])){ $elec = $_GET ['idx']; } if (trim($elec)==""){ $flag_election=0; } $sql_election = "select sieges from election where election='".$elec."'"; $res = $db -> query ($sql_election); if (DB :: isError ($res)) die ($res -> getMessage ()."erreur ".$sql_election); else { $k = 0; while ($row =& $res -> fetchRow (DB_FETCHMODE_ASSOC)) { $siegeCM = $row ['sieges']; } } $res -> free (); } $flag_election=1; if ($siegeCM>0){ if (file_exists ("../aff/".$elec."/resultats.inc") and $flag_election==1){ include ("../aff/".$elec."/resultats.inc"); // nombre de candidat $nbcandidat=sizeof($candidats)+1; // for($i=1;$i<=sizeof($candidats);$i++){ // *** constitution du tableau des voix ****************************** $voix[$i]= $candidats[$i]['voix']; //4-02-2008*** constitution du tableau code candidat ***************** $code[$i]= $candidats[$i]['code']; // *** constitution du tableau des nom candidats ************************ // $sql_age=""; $sql_age=" select candidat_nom from liste inner join candidat on liste.candidat=candidat.candidat "; $sql_age=$sql_age." where election='".$elec."' and liste.candidat='".$candidats[$i]['code']."'"; // $res1 = $db -> query ($sql_age); if (DB :: isError ($res1)) die ($res1 -> getMessage ()."erreur ".$sql_age); else { while ($row =& $res1 -> fetchRow (DB_FETCHMODE_ASSOC)) { $candidat[$i]= $row ['candidat_nom']; } } $res1 -> free (); // } // //print_r(array_values ($age)); //print_r(array_values ($voix)); //print_r(array_values ($code)); // Meta balise HTML ========================================================== echo ""; echo "OpenMairie, repartition de sieges prudhomale"; // css ========================================================================= ?> "; echo "
"; // ============================================================================= // Affichage du calcul de repartition des sieges // ============================================================================= // post resultat candidat-liste // ****** affichage ****** echo ""; // *** sieges, calcul du bonus, siege_proportionnel *** echo ""; // pas de bonus $siege_proportionnel = $siegeCM; echo ""; // *** constitution du tableau des voix *** echo ""; } // *** attribution à la proportionnelle $siege_proportionnel *** // total $total =array_sum($voix); echo ""; // elimination des listes inferieure à 5% //echo ""; // $total=$total-$voix[$i]; // $voix[$i]=0; // $total_recalcul=1; // } //} //if($total_recalcul==1) // echo ""; //else // echo ""; // calcul du quotient electoral echo ""; for($i=1;$i<=sizeof($voix);$i++){ if($voix[$i]!=''){ $siege[$i] = intval($voix[$i]/$quotientelectoral); echo ""; } } // reste a attribuer a la proportionnelle $reste_a_attribuer = $siege_proportionnel-array_sum($siege); echo ""; // *** attribution a la plus forte moyenne *** $k=0; while (array_sum($siege)<$siege_proportionnel){ // plus forte moyenne $k++; if($k==1) $suffixe="er"; else $suffixe="eme"; echo ""; // for($i=1;$i<=sizeof($voix);$i++){ // moyenne par liste avec un siege de plus // attribué a chaque liste if($voix[$i]!=''){ $temp[$i] = $voix[$i]/($siege[$i]+1); $temp1= $siege[$i]+1; $temp2= intval($temp[$i]*100)/100; $temp2= number_format($temp2,2); echo ""; } } $maxmoyenne=max($temp); $siege2fois=0; $liste=array(); for($i=1;$i<=sizeof($voix);$i++){ if($voix[$i]!=''){ if($temp[$i]== $maxmoyenne ){ $siege2fois++; $liste[$siege2fois]=$i; } } } if($siege2fois==1){ $siege[$liste[1]] = $siege[$liste[1]]+1; echo ""; }else{ // egalite de moyenne // le siege est attribue à la liste qui a le plus grand nombre de suffrage $siege2fois=0; for($i=1;$i<=sizeof($liste);$i++){ $voixliste[$i]=$voix[$liste[$i]]; } $voixmax = max($voixliste); for($i=1;$i<=sizeof($liste);$i++){ if($voix[$liste[$i]]==$voixmax){ // $i = $liste[$i] $siege2fois++; if($siege2fois==1){ $siege[$liste[$i]] = $siege[$liste[$i]]+1; echo ""; }else{ echo ""; } } } } } // *** attribution du bonus *** non utile // resultat final echo ""; } echo "
ELECTION ".$elec." - Sieges à pourvoir
"; echo "
Sieges à pourvoir au prudhommes : ".$siegeCM." sieges
A répartir entre les listes à la proportionnelle : ".$siege_proportionnel." sieges
Suffrages exprimées
"; for($i=1;$i<=sizeof($voix);$i++){ if($voix[$i]!='') echo "
Liste ".$candidat[$i]." : ".$voix[$i].""."
Total exprime ".$total."
Liste (s) inferieure(s) à 5%
"; //$elimination = intval($total/20); //$total_recalcul = 0; //$total_depart=$total; // controle 1 er tour //for($i=1;$i<=sizeof($voix);$i++){ // if($voix[$i]<$elimination and $voix[$i]!=''){ // echo "
Liste ".$i." est eliminee car elle n'obtient pas 5% des suffrages exprimes
Total exprime apres elimination de liste(s) ".$total."
aucune liste
Premiere Repartition
"; $quotientelectoral = $total/$siege_proportionnel; $temp3= intval($quotientelectoral*100)/100; $temp3=number_format($temp3,2); echo "
Quotient Electoral = ".$total." voix /".$siege_proportionnel." sieges a repartir ".$temp3."
Liste ".$candidat[$i]." obtient dans la premiere repartition ".$siege[$i]." siege(s)
Il reste à attribuer ".$reste_a_attribuer." siege(s)
".$k.$suffixe." siege a attribuer
Liste ".$candidat[$i]." a comme moyenne si elle obtient ".$temp1." siege(s) ".$temp2."
Liste ".$candidat[$liste[1]]." obtient le siege en plus, elle dispose donc de ".$siege[$liste[1]]." siege(s)
Liste ".$liste[$i]. " obtient le siege en plus, car elle a
le plus grand nombre de suffrage, et elle dispose donc de
". $siege[$liste[$i]]." siege(s)
Il y a egalite de moyenne et de suffrage, pour la liste ".$candidat[$i]."
"; echo " l attribution a ete faite a la 1 ere liste trouvee.
"; echo "LE SIEGE DOIT ETRE ATTRIBUE AU PLUS AGEE
DES CANDIDATS SUCEPTIBLE D ETRE ELU
[openElu n a pas cette donnee]
"; echo "
!
Resultat final
"; for($i=1;$i<=sizeof($voix);$i++){ if($voix[$i]!='') echo "
La liste ".$candidat[$i]." obtient au final ".$siege[$i]." sieges
"; //print_r(array_values ($voix)); //print_r(array_values ($code)); //print_r(array_values ($siege)); for($w=1;$w<=sizeof($voix);$w++){ $cletmp=""; $cletmp=$elec."-".$code[$w]; $sql_maj_liste = "UPDATE liste SET siege = '".$siege[$w]."'"; $sql_maj_liste .= " WHERE liste = '".$cletmp."'"; $res = $db -> query ($sql_maj_liste); if (DB :: isError ($res)) die ($res -> getMessage ()."erreur ".$sql_maj_liste); else if ($DEBUG == 1) echo "La requête de mise à jour ".$sql_maj_liste." est effectuée.
"; } //============================================================================== echo "
"; // Si le dossier "aff/".$election."/" n'existe pas on le cré if (!file_exists ("../aff/".$elec)) mkdir ("../aff/".$elec); // On écrit le fichier resultats.inc $fp = fopen ("../aff/".$elec."/sieges_lm.inc", "w"); $contenu = ""; fwrite ($fp, $contenu); fclose ($fp); //============================================================================= include ("../dyn/menu.inc"); echo ""; }else{//fin flagelection==1 echo ""; echo "
"; echo "Election en cours absente ou resultats.inc absent"; echo "
"; include ("../dyn/menu.inc"); echo ""; } }else{// siegeCM=0 echo ""; echo "
"; echo "ELECTION PRUD HOMALES

"; echo "
"; echo "NOMBRE DE SIEGES = 0

"; echo "SAISIE DES SIÈGES A POURVOIR : Parametrage -> Collectivité "; echo "
"; include ("../dyn/menu.inc"); echo ""; } ?>