Vous n'êtes pas identifié(e).
Pages : 1
J'ai pu m'en sortir avec un peu de ça ici et ailleurs, merci.
Ensuite il est vrai qu'il y a un aspect un peu obscur dans votre fonctionnalité du à l'absence totale d'un modèle de données cohérent.
Corrigez donc moi si je me trompe, mais un auteur peut avoir 0 ou plusieurs citations et chaque citation peut être l'objet de 0 ou plusieurs votes. Par contre il semble juste de dire qu'une citation ne peut avoir qu'un seul et unique indice de popularité (vos étoiles).
Donc si cela est le cas, il est vrai qu'une petite modification au niveau de la requête que je vous ais fournie, reste nécessaire.++
Bonjour,
Oui, c'est bien ça. Je m'y colle.
Ensuite il vous suffit de récupérer la page courante via l'url par exemple via $page=intval($_GET['page']) et d'afficher les lignes correspondantes ($a=$page*8;$a<(($page+1)*8);$a++)
en changeant de paragraphe d'affichage lorsque la valeur de t0.id change.
Merci beaucoup, mais je pense que c'est un peu trop compliqué pour moi.
Le voilà entier du coup:
C'est un fichier téléchargé en package qu'on trouve partout.
$result = mysql_query($sql);
$ids = array();
while ($row = mysql_fetch_assoc($result)){
$ids[] = $row['id'];
}
?>
<html>
<head>
<script src="jquery.js" type="text/javascript"></script>
<link rel="stylesheet" href="rating.css" />
<script type="text/javascript" src="rating.js"></script>
</head>
<body>
<?php
for($i=0;$i<count($ids);$i++)
{
$rating_tableName = 'ratings';
$id=$ids[$i];
$q="SELECT ratings.total_votes, ratings.total_value FROM $rating_tableName WHERE ratings.id=$id";
$r=mysql_query($q);
if(!$r) echo mysql_error();
while($row=mysql_fetch_array($r))
{
$v=$row['total_votes'];
$tv=$row['total_value'];
$rat=$tv/$v;
}
$j=$i+1;
$id=$ids[$i];
echo'<div class="product">
Rate Item '.$j.'
<div id="rating_'.$id.'" class="ratings">';
for($k=1;$k<6;$k++){
if($rat+0.5>$k)$class="star_".$k." ratings_stars ratings_vote";
else $class="star_".$k." ratings_stars ratings_blank";
echo '<div class="'.$class.'"></div>';
}
echo' <div class="total_votes"><p class="voted"> Rating: <strong>'.@number_format($rat).'</strong>/5 ('.$v. ' vote(s) cast)
</div>
</div></div>';}
?>
</body></html>
La requête $sql vient de la page principale:
Voilà la structure des 2 tables:
CREATE TABLE `ratings` (
`id` int(10) NOT NULL default '0',
`total_votes` int(5) NOT NULL default '0',
`total_value` int(5) NOT NULL default '0',
`used_ips` longtext NOT NULL,
`date` timestamp(14) NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM
CREATE TABLE `citations_celebres` (
`id` int(11) NOT NULL auto_increment,
`citation` longtext,
`numcitateur` int(11) default '0',
`votes` int(5) NOT NULL default '0',
`score` int(15) NOT NULL default '0',
`twitter` int(11) default NULL,
PRIMARY KEY (`id`),
KEY `numcitateur` (`numcitateur`),
KEY `id` (`id`),
KEY `score` (`score`),
KEY `votes` (`votes`),
KEY `twitter` (`twitter`)
) TYPE=MyISAM
Pour la requête, c'est l'INCLUDE mais je ne suis pas sur que c'est bien ça que tu, heu vous voulez voir. (On tutoyait pas d'office sur les forums avant ? )
Bonjour,
Je sais le titre est bizarre mais pourtant j'aimerais savoir jusqu'ou s'arrête cette fonction LIMIT dans ma requête.
Mon problème:
Sur ma page, j'appelle des extraits depuis un BDD. Je limite le nbre à 8 par page.
Je suis en train de mettre en place un système de vote par étoiles. J'appelle cette page avec la fonction INCLUDE.
Mais plutôt que d'avoir ça:
Extrait1
noteExtrait1Extrait2
noteExtrait2Extrait3
noteExtrait3etc jusqu'à 8
J'ai ça:
Extrait1
noteExtrait1
noteExtrait2
noteExtrait3etc... les 8 notes à chaque Extrait
Pas si facile à expliquer...
Comment de pas impacter la fonction LIMIT à ma fonction INCLUDE ?
Merci.
Pages : 1