Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL

Programmation => PHP/MySQL - (x)HTML - ... => Discussion démarrée; par: nitro007 le 15 Décembre 2008, 21:28:10



Titre: problème requête
Posté par: nitro007 le 15 Décembre 2008, 21:28:10
Bonjour, sur mon site wii-dark, j'ai un système de mii. J'ai inclu un système de vote dans celui-ci.
Les choix pour ce vote est: j'aime ou j'aime pas. Alors le visiteur vote (maximum une fois par jour) et ca marche.
Mais je veux faire une requête qui peut dire les plus aimés (top 5 par exemple) en fonction des miis ayant le plus de votes «j'aime» et les plus haies en fonction des miis ayant le plus de votes «j'aime pas». Vous comprenez, mais je ne sais pas comment faire cette requête, pouvez vous m'aidez sil-vous-plaît ?


Titre: Re: problème requête
Posté par: clemgaut le 16 Décembre 2008, 18:45:54
si tu utilises une base de données, il faut faire une requete du type :
Code:
<?php
$top5aime
=mysql_query('SELECT * FROM taTable ORDER BY aime DESC LIMIT 0, 5');
$top5aimepas=mysql_query('SELECT * FROM taTable ORDER BY aimepas DESC LIMIT 0, 5');
?>
Dans ce cas, aime et aimepas sont des champs de ta table.


Titre: Re: problème requête
Posté par: nitro007 le 16 Décembre 2008, 22:44:33
désolé c'est ca que j'avais mis au début mais ca affiche les derniers votes  :-\


Titre: Re: problème requête
Posté par: K@cem le 17 Décembre 2008, 22:01:33
Salut,
Donne nous la structure de ta table de votes ;)
++


Titre: Re: problème requête
Posté par: nitro007 le 18 Décembre 2008, 00:18:07
id
login
vote
timestamp
ip
id_img

Je veux faire top 5 des votes 'jaime'


Titre: Re: problème requête
Posté par: nitro007 le 19 Décembre 2008, 04:21:20
Je veux savoir pour afficher les5 miis ayant le plus de vote  :P


Titre: Re: problème requête
Posté par: Rainbow le 19 Décembre 2008, 09:53:53
Code:
<?php
$top5aime
=mysql_query('SELECT * FROM taTable ORDER BY aime DESC LIMIT 0, 5');
$top5aimepas=mysql_query('SELECT * FROM taTable ORDER BY aimepas DESC LIMIT 0, 5');
?>


Petite explication pour clemgaut :

Par ce code tu demandes dans cette partie :

Code:
$top5aime=mysql_query('SELECT * FROM taTable ORDER BY aime DESC LIMIT 0, 5');

Selectionne dans la table taTABLE le champ aime et affiche les champs de 0 à 5. Stoque les donnés dans la variable $top5aime.



Ici c'est le même principe:

Par ce code tu demandes dans cette partie :

Code:
$top5aimepas=mysql_query('SELECT * FROM taTable ORDER BY aimepas DESC LIMIT 0, 5');

Selectionne dans la table taTABLE le champ aimepas et affiche les champs de 0 à 5. Stoque les donnés dans la variable top5aimepas.


Ici si je cap tu veux que l'on affiche celui qui a le plus grand nombre de "j'aime" puis de "j'aime pas"?

Citation
Fonctions statistiques

Fonctions Rôle
COUNT([DISTINCT] expr [alias] Renvoie le nombre de valeurs dans la colonne. Si DISTINCT est précisé, les doublons sont éliminés.
COUNT(*) Compte toutes les lignes de la table.
AVG(expr [alias]) Renvoie la moyenne des valeurs de la colonne spécifiée.
MIN(expr [alias]) Renvoie la plus petite valeur de la colonne spécifiée.
MAX(expr [alias]) Renvoie la plus grande valeur de la colonne spécifiée.
SUM(expr [alias]) Renvoie la somme des valeurs de la colonne spécifiée.

- Afficher la date de naissance de l'étudiant le plus jeune et de l'étudiant le plus âgé.

SELECT MIN(Dtnaiss) AS "Plus jeune", MAX(Dtnaiss) AS "Plus âgé"
FROM ETUDIANT;

- Afficher le nombre total d'étudiants

SELECT COUNT(*)
FROM ETUDIANT;

Extrait du site: http://www.marc-grange.net/SQL4.htm
Ca devrait t'aider. A toi de l'adapté à toi table par la suite.


Titre: Re: problème requête
Posté par: nitro007 le 19 Décembre 2008, 15:47:59
Un peu compliqué tout ca  ???


Titre: Re: problème requête
Posté par: Rainbow le 20 Décembre 2008, 11:30:55
Code:
<?php
$reponseaime 
=mysql_query('SELECT * FROM taTable MAX(Dtnaiss) AS "aime" ORDER BY aime DESC LIMIT 0, 5');
$reponseaimepas=mysql_query('SELECT * FROM taTable MIN(Dtnaiss)  AS "aimepas" ORDER BY aimepas DESC LIMIT 0, 5');

while (
$donnees mysql_fetch_array($reponseaime) )
{
?>
   
Insère ce que tu veux que ca affiche
<?php
}

while (
$donnees2 mysql_fetch_array($reponseaimepas) )
{
?>
   
Insère ce que tu veux que ca affiche
<?php
}
mysql_close();
?>

J'ai fais cela. Je n'ai pas eu la possibilité de le tester. Essaye. Ci cela ne marche pas envois moi le code SQL de ta table.


Titre: Re: problème requête
Posté par: nitro007 le 20 Décembre 2008, 20:55:28
        id                        
   login                                 
   vote                              
   timestamp                                 
   ip                                 
   id_img


Titre: Re: problème requête
Posté par: Rainbow le 20 Décembre 2008, 22:41:26
la tu tester?


Titre: Re: problème requête
Posté par: nitro007 le 21 Décembre 2008, 02:50:16
oui, que veut dire dtnaiss ?


Titre: Re: problème requête
Posté par: K@cem le 21 Décembre 2008, 10:49:24
oui, que veut dire dtnaiss ?
Il t'a donné un exemple de requête, à toi de l'adapter ...