Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL Webou Webou Pro
Recherche avancée  
*
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?
24 Août 2019, 16:37:54


Connexion avec identifiant, mot de passe et durée de la session


Pages: [1]   Bas de page
  Imprimer  
Auteur Fil de discussion: problème requête  (Lu 4045 fois)
0 Membres et 1 Invité sur ce fil de discussion.
nitro007
Invité
« 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 ?
Journalisée
Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL
« le: 15 Décembre 2008, 21:28:10 »

 Journalisée
clemgaut
Bavard
***
Hors ligne Hors ligne

Messages: 141


Voir le profil WWW
« Répondre #1 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.
Journalisée

1 c'est bien, 2 c'est mieux Sourire
Site sur la TI-82
nitro007
Invité
« Répondre #2 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  Ind&eacute;ci
Journalisée
K@cem
Never trust user input
Big boss
*****
Hors ligne Hors ligne

Messages: 2 724



Voir le profil WWW
« Répondre #3 le: 17 Décembre 2008, 22:01:33 »

Salut,
Donne nous la structure de ta table de votes Clin d'oeil
++
Journalisée

Le support ne se fait pas par MP, merci de le respecter !
nitro007
Invité
« Répondre #4 le: 18 Décembre 2008, 00:18:07 »

id
login
vote
timestamp
ip
id_img

Je veux faire top 5 des votes 'jaime'
Journalisée
Forums Webou.net - Hébergement gratuit et sans publicités avec PHP/MySQL
« Répondre #4 le: 18 Décembre 2008, 00:18:07 »

 Journalisée
nitro007
Invité
« Répondre #5 le: 19 Décembre 2008, 04:21:20 »

Je veux savoir pour afficher les5 miis ayant le plus de vote  Tire la langue
Journalisée
Rainbow
Invité
« Répondre #6 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.
Journalisée
nitro007
Invité
« Répondre #7 le: 19 Décembre 2008, 15:47:59 »

Un peu compliqué tout ca  Huh
Journalisée
Rainbow
Invité
« Répondre #8 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.
Journalisée
nitro007
Invité
« Répondre #9 le: 20 Décembre 2008, 20:55:28 »

        id                        
   login                                 
   vote                              
   timestamp                                 
   ip                                 
   id_img
Journalisée
Rainbow
Invité
« Répondre #10 le: 20 Décembre 2008, 22:41:26 »

la tu tester?
Journalisée
nitro007
Invité
« Répondre #11 le: 21 Décembre 2008, 02:50:16 »

oui, que veut dire dtnaiss ?
Journalisée
K@cem
Never trust user input
Big boss
*****
Hors ligne Hors ligne

Messages: 2 724



Voir le profil WWW
« Répondre #12 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 ...
Journalisée

Le support ne se fait pas par MP, merci de le respecter !
Pages: [1]   Haut de page
  Imprimer  
 
Aller à:  

Propulsé par MySQL Propulsé par PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Dilber MC Theme by HarzeM
Page générée en 0.036 secondes avec 23 requêtes.