test asort
This commit is contained in:
parent
d8b19465e4
commit
f5c2f4309f
67
methods/schulzeResults.php
Normal file
67
methods/schulzeResults.php
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class schulze
|
||||||
|
{
|
||||||
|
public int $nvotant;
|
||||||
|
public int $ncandidats;
|
||||||
|
public array $nvotes;
|
||||||
|
|
||||||
|
$v = array(
|
||||||
|
array(5, 1, 3, 2, 4),
|
||||||
|
array(1, 5, 2, 4, 3),
|
||||||
|
array(5, 3, 2, 4, 1),
|
||||||
|
array(5, 1, 3, 2, 4)
|
||||||
|
);
|
||||||
|
|
||||||
|
function matrix()
|
||||||
|
{
|
||||||
|
foreach($nvotes as $votes)
|
||||||
|
{
|
||||||
|
for ($i=1;$i<=$votes;$i++)
|
||||||
|
{
|
||||||
|
for ($j=1;$j<=$ncandidats;$j++)
|
||||||
|
{
|
||||||
|
void
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function test($v)
|
||||||
|
{
|
||||||
|
asort($v);
|
||||||
|
var_dump($v);
|
||||||
|
}
|
||||||
|
|
||||||
|
function result()
|
||||||
|
{
|
||||||
|
for ($i=1;$i<=$ncandidats;$i++)
|
||||||
|
{
|
||||||
|
for ($j=1;$j<=$ncandidats;$j++)
|
||||||
|
{
|
||||||
|
if ($d[$i][$j] > $d[$j][$i])
|
||||||
|
{
|
||||||
|
$p[$i][$j] = $d[$i][$j];
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
$p[$i][$j] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for ($i=1;$i<=$ncandidats;$i++)
|
||||||
|
{
|
||||||
|
for ($j=1;$j<=$ncandidats;$j++)
|
||||||
|
{
|
||||||
|
for ($k=1;$k<=$ncandidats;$k++)
|
||||||
|
{
|
||||||
|
if ($j != $k)
|
||||||
|
{
|
||||||
|
$p[$j][$k] = max($p[$j][$k], min($p[$j][$i],$p[$i][$k]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $p;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
@ -12,9 +12,9 @@ $idVotation = $_GET["v"];
|
|||||||
$dolibarr = new dbDolibarr();
|
$dolibarr = new dbDolibarr();
|
||||||
|
|
||||||
$query = "SELECT * FROM llx_adherent as a LEFT JOIN llx_adherent_type as t ON a.fk_adherent_type=t.rowid WHERE a.login='" . $dolibarr->protect($idVotant) . "' AND (DATE(a.datefin)>=CURDATE() OR t.subscription=0) AND t.vote=1";
|
$query = "SELECT * FROM llx_adherent as a LEFT JOIN llx_adherent_type as t ON a.fk_adherent_type=t.rowid WHERE a.login='" . $dolibarr->protect($idVotant) . "' AND (DATE(a.datefin)>=CURDATE() OR t.subscription=0) AND t.vote=1";
|
||||||
print $query .EOLH;
|
print $query . EOLH;
|
||||||
$result = $dolibarr->query($query);
|
$result = $dolibarr->query($query);
|
||||||
print_r($dolibarr);
|
//print_r($dolibarr);
|
||||||
$votant = $dolibarr->result->fetch_array();
|
$votant = $dolibarr->result->fetch_array();
|
||||||
print('<br><br>
|
print('<br><br>
|
||||||
<!-- lalis Grid Section -->
|
<!-- lalis Grid Section -->
|
||||||
|
@ -64,41 +64,48 @@ print(' <br><br>
|
|||||||
$votes = $db->result->fetch_all(MYSQLI_ASSOC);
|
$votes = $db->result->fetch_all(MYSQLI_ASSOC);
|
||||||
foreach ($votes as $vote)
|
foreach ($votes as $vote)
|
||||||
{
|
{
|
||||||
$total = 0;
|
switch ($vote["method"])
|
||||||
echo "<div><h5>" . $vote["libelle"] . "</h5><br>";
|
{
|
||||||
$query='SELECT * FROM liste_candidats WHERE idVotation=' . $idVotation . ' AND idVote=' . $vote["id"];
|
case 1:
|
||||||
$result = $db->query($query);
|
$total = 0;
|
||||||
$candidats = $db->result->fetch_all(MYSQLI_ASSOC);
|
echo "<div><h5>" . $vote["libelle"] . "</h5><br>";
|
||||||
echo "<pre>";
|
$query='SELECT * FROM liste_candidats WHERE idVotation=' . $idVotation . ' AND idVote=' . $vote["id"];
|
||||||
//$resultatCandidats = '';
|
$result = $db->query($query);
|
||||||
|
$candidats = $db->result->fetch_all(MYSQLI_ASSOC);
|
||||||
|
echo "<pre>";
|
||||||
|
//$resultatCandidats = '';
|
||||||
|
|
||||||
$query='SELECT COUNT(*) as n FROM votes WHERE idVotation=' . $db->protect($idVotation) . ' AND idVote=' . $vote["id"] .' AND idCandidat=0';
|
$query='SELECT COUNT(*) as n FROM votes WHERE idVotation=' . $db->protect($idVotation) . ' AND idVote=' . $vote["id"] .' AND idCandidat=0';
|
||||||
$result = $db->query($query);
|
$result = $db->query($query);
|
||||||
$resultat = $db->result->fetch_array(MYSQLI_ASSOC);
|
$resultat = $db->result->fetch_array(MYSQLI_ASSOC);
|
||||||
$blanc = $resultat["n"];
|
$blanc = $resultat["n"];
|
||||||
echo 'Votes blancs : ' . $blanc . '<br>';
|
echo 'Votes blancs : ' . $blanc . '<br>';
|
||||||
foreach($candidats as $candidat)
|
foreach($candidats as $candidat)
|
||||||
{
|
{
|
||||||
$query='SELECT COUNT(*) as n FROM votes WHERE idVotation=' . $db->protect($idVotation) . ' AND idVote=' . $vote["id"] .' AND idCandidat=' . $candidat["id"];
|
$query='SELECT COUNT(*) as n FROM votes WHERE idVotation=' . $db->protect($idVotation) . ' AND idVote=' . $vote["id"] .' AND idCandidat=' . $candidat["id"];
|
||||||
$result = $db->query($query);
|
$result = $db->query($query);
|
||||||
$resultat = $db->result->fetch_array(MYSQLI_ASSOC);
|
$resultat = $db->result->fetch_array(MYSQLI_ASSOC);
|
||||||
echo $candidat["candidat"] . ' :' . $resultat["n"] . '<br>';
|
echo $candidat["candidat"] . ' :' . $resultat["n"] . '<br>';
|
||||||
$resultatCandidats[$candidat['candidat']] = $resultat["n"];
|
$resultatCandidats[$candidat['candidat']] = $resultat["n"];
|
||||||
$total += $resultat["n"];
|
$total += $resultat["n"];
|
||||||
|
}
|
||||||
|
array_multisort($resultatCandidats, SORT_DESC, SORT_NUMERIC);
|
||||||
|
reset($resultatCandidats);
|
||||||
|
if ($total >= $blanc)
|
||||||
|
{
|
||||||
|
print("<h5>Remporte le vote : " . key($resultatCandidats));
|
||||||
|
unset($resultatCandidats);
|
||||||
|
print("</h5>");
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
print("<h5>Aucun candidat n'emporte le vote, car il y a plus de 50% de votes blancs.</h5>");
|
||||||
|
}
|
||||||
|
listeVotants($idVotation, $vote["id"], $listeAdherents);
|
||||||
|
print("</pre></div><br>" . EOLH);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
array_multisort($resultatCandidats, SORT_DESC, SORT_NUMERIC);
|
|
||||||
reset($resultatCandidats);
|
|
||||||
if ($total >= $blanc)
|
|
||||||
{
|
|
||||||
print("<h5>Remporte le vote : " . key($resultatCandidats));
|
|
||||||
unset($resultatCandidats);
|
|
||||||
print("</h5>");
|
|
||||||
}else
|
|
||||||
{
|
|
||||||
print("<h5>Aucun candidat n'emporte le vote, car il y a plus de 50% de votes blancs.</h5>");
|
|
||||||
}
|
|
||||||
listeVotants($idVotation, $vote["id"], $listeAdherents);
|
|
||||||
print("</pre></div><br>" . EOLH);
|
|
||||||
}
|
}
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
@ -106,7 +113,6 @@ print(' <br><br>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
print (' <div>
|
print (' <div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Reference in New Issue
Block a user