Mammouth du PHP |
790 Messages
26 déc. 2011, 15:31
donc, j'en suis la:
page principale:
<!--ZONE VOTES-->
<center>
<?php
// js crée un array pour recuperer id du pere
$id_ch = array ($donnees['id_chien']);
include "webroot/parents/chien.php"
?>
</center>
<!-- FIN ZONE DE VOTES-->
ensuite, le script qui calcul, je met les 2 codes pour éviter de changer de page pour comparer...
<script type="text/javascript" src="webroot/vote/jquery-1.4.1.min.js"></script>
<script type="text/javascript" src="webroot/vote/jquery.rater.js"></script>
<?php
//connexion
$dbh = new PDO('.........', $pdo_options);
$dbh -> setAttribute (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$id_question = '3';
$id_chien = $donnees['id_chien'];
try
{
// calcul de la moyenne des notes d'une quesion pour un chien
$moy = $dbh->query("SELECT AVG(note) as moyenne FROM vote where `id_question` = '".$id_question."' AND `id_chien`='".$id_chien."'");
$data = $moy->fetch();
$moyenne_1 = round($data["moyenne"]);
}
catch( PDOException $exception )
{
die($exception->getMessage());
}
$dbh = NULL;
?>
<table align="center">
<tr>
<td>IMG</td>
<td>
<div id="1" class="vote"></div>
<script type='text/javascript'>
$('#1').rater("webroot/vote/ratingsdemo.php?id_question=3&id_chien=1", {curvalue:<?php echo $moyenne_1; ?>});
</script>
</td>
</tr>
</table>
<?php
if (!empty($donnees[lof_chien]))
{
/**
* On traite le pere du chien
*/
foreach($id_ch as $c => $idc)
{
// nouvelle requete pour lier les votes aux IDs
$sql_ch = "SELECT
qt.id_question,
vt.id_chien,
COUNT( vt.note ) AS nombre_de_notes,
IFNULL( ROUND(AVG( vt.note )), 0.00 ) AS note_moyenne
FROM questionnaire qt
LEFT OUTER JOIN vote vt ON qt.id_question = vt.id_question AND vt.id_chien = ". $idc ."
GROUP BY qt.id_question
ORDER BY qt.id_question";
$req_ch = $bdd->query($sql_ch);
// On affiche chaque entrée une à une
if(false !== ($infosvotes = $req_ch->fetchAll(PDO::FETCH_ASSOC)))
{
/**
* $c est l'index du tableau $id_chien, donc 0 pour le chien, 1 pour le
* père et 2 pour la mère.
* On va maintenant boucler sur les résultats de la seconde requête
* pour construire les lignes de notation :
* d'abord, ouverture du tableau
*/
$sLigneNotes = '';
$sNombreQuestion = '';
/* Maintenant on boucle sur les notes : */
foreach($infosvotes as $l => $info)
{
/* S'il y a une ligne pour la note traitée */
if($info['nombre_de_notes'] > 0)
{
/**
* Comme la note moyenne est un nombre flottant, on doit récupérer uniquement la valeur entière :
*/
$note = abs($info['note_moyenne']);
$sLigneNotes .= <<<CODE_HTML
<td><center><img src="webroot/images/votes/{$note}.png" title="Moyenne ({$note})"/></center></td>
CODE_HTML;
}
else
{
$sLigneNotes .= <<<CODE_HTML
<td><center><img src="webroot/images/votes/0.png" title="Moyenne des votes"/></center></td>
CODE_HTML;
}
$sNombreQuestion .= <<<CODE_HTML
<td title="Nombres des votes"><center>{$info['nombre_de_notes']}</center></td>
CODE_HTML;
}
$sTableau = <<<CODE_HTML
<hr width="70%"/>
Questions, moyennes et nombres de votes
<table width="90%">
<tr>
<td title="Question 1"><center>1</center></td>
<td title="Question 2"><center>2</center></td>
<td title="Question 3"><center>3</center></td>
<td title="Question 4"><center>4</center></td>
<td title="Question 5"><center>5</center></td>
<td title="Question 6"><center>6</center></td>
<td title="Question 7"><center>7</center></td>
<td title="Question 8"><center>8</center></td>
<td title="Question 9"><center>9</center></td>
<td title="Question 10"><center>10</center></td>
</tr>
<tr>
{$sLigneNotes}
</tr>
<tr>
{$sNombreQuestion}
</tr>
</table>
CODE_HTML;
}
/* Fin du tour de boucle traitant un chien, le tableau est prêt, on peut l'afficher */
echo($sTableau);
}
$req_ch->closeCursor(); // Important : on libère le curseur pour la prochaine requête
}
else
{ // Le pseudo est déjà utilisé
echo '<br />';
echo 'Ce chien n\'est pas enregistrer';
}
?>
je pense que maintenant mes seul modif a faire sont au niveau du tableau html pour obtenir l'affichage que je veux ?
la le résultats a l'affichage est:
http://i45.servimg.com/u/f45/13/05/90/60/captur13.png
IMG + les 9 led bleu correspondent a la 1ere partie du script et "question moyenne vote" correspond au forech...
Modifié en dernier par
juliette le 26 déc. 2011, 20:27, modifié 1 fois.
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.