PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » Limiter la fonction LIMIT » 28-09-2013 07:08:05

J'ai pu m'en sortir avec un peu de ça ici et ailleurs, merci.

#2 Re : Forum Général PHP » Limiter la fonction LIMIT » 28-09-2013 07:08:05

Jc a écrit :

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. wink

#3 Re : Forum Général PHP » Limiter la fonction LIMIT » 28-09-2013 07:08:05

Jc a écrit :

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.

#4 Re : Forum Général PHP » Limiter la fonction LIMIT » 28-09-2013 07:08:05

Le voilà entier du coup:
C'est un fichier téléchargé en package qu'on trouve partout.

<?php


$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:

$sql = "SELECT citateurs_celebres.nom, citateurs_celebres.prenom, citations_celebres.citation, citations_celebres.id FROM citateurs_celebres LEFT JOIN citations_celebres ON citateurs_celebres.id = citations_celebres.numcitateur ORDER BY id LIMIT $limit_start, $pagination";
 

#5 Re : Forum Général PHP » Limiter la fonction LIMIT » 28-09-2013 07:08:05

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 ? wink )

<?php include ("rating.php"); ?>

#6 Forum Général PHP » Limiter la fonction LIMIT » 28-09-2013 07:08:05

Stegue
Réponses : 9

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
noteExtrait1

Extrait2
noteExtrait2

Extrait3
noteExtrait3

etc jusqu'à 8

J'ai ça:

Extrait1
noteExtrait1
noteExtrait2
noteExtrait3

etc... les 8 notes à chaque Extrait

Pas si facile à expliquer... hmm

Comment de pas impacter la fonction LIMIT à ma fonction INCLUDE ?

Merci.

Pied de page des forums

Propulsé par FluxBB