Petit souci de classement de données

Répondre
UnZiPPeD
le 30/05/2003 à 07:39
UnZiPPeD
Salut la compagnie !!!
Voilà, je suis nouveau et j'apprécis beaucoup ce site, je félicite son Webmestre :)
Avant de venir ici je ne connaissait pas du tout la fonction imagecreate et maintenant je m'eclate comme un fou avec smiley
Je suis administrateur de PhpNuke-France.org (je pense que vous devez tous connaître smiley
Je créer des scripts pour la communauté nukienne, je les aide sur notre forum etc...
Je connais très bien le language PHP et je connais le HTML sur le bout des doigts ^^
J'adore travailler sur le PHP, j'y prend un réel plaisir !

Voilà pour les présentations :)
J'ai un problème et je ne sait pas si il est résolvable ou pas, c'est la raison pour laquelle je passe ici.
Je vous l'expose:
Je me suis fait un petit script (utilisation personnelle) pour afficher les statistiques des smileys de mon forum (en occurance le nombre de fois qu'il a été utilisé (visible ici: http://www.gopsfrench.net/modules.php?name=Team)
J'ai utilisé la fonction LIKE (recherche) afin de compter le nombre d'utilisation dans chacun des messages de mon forum -> jusque là rien de compliqué smiley
Seulement j'aimerais les classer par nb de clicks ces smileys !

Voici mes requète SQL pour la table des smileys ainsi que la fonction recherche des mes posts pour le forum:
--------------------------------------------
$result6 = sql_query("select smile_url, active from nuke_smiles WHERE active=1", $dbi);
while ($session = sql_fetch_array($result6,$dbi)) {
$result7 = sql_query("select * from nuke_XForum_posts where (message like '%$session[smile_url]%')", $dbi);
while(list($message) = mysql_fetch_row($result7)) {
$nbrésultats = mysql_num_rows($result7);
}
echo "<img src=images/forum/smilies/$session[smile_url] align=absmiddle> $nbrésultats x";
}
-------------------------------------
(je l'ai simplifié et enlever le HTML ppur y voir plus clair)

La fonction qui nous interesse est celle-ci:
-----------------------------
$result7 = sql_query("select * from nuke_XForum_posts where (message like '%$session[smile_url]%')", $dbi);
-----------------------------

or la variable de numbre de résultat est celle-ci:
--------------------
$nbrésultats
--------------------

Et elle se trouve en dessous de notre requête (evidemment)

Ma question est donc la suivante: Comment contourner ce problème ?

Je remercie d'avance celles ou ceux qui pourront m'eclaircir sur cet inconvénient

Bon week-end :)
LA GLOBULE
le 30/05/2003 à 10:19
LA GLOBULE
Peux - tu nous donner la structure de tes tables nuke_smiles et nuke_XForum_posts ?

(ton truc doit pouvoir se faire en une seule requete)
Cart
le 30/05/2003 à 11:44
Cart
avec une requete imbriquée peut etre que ca marchera


SELECT S.smiley_url, count(NF.message) as total
FROM nuke_forum NF , smile S
WHERE NF.message LIKE S.smile_url
ORDER by TOTAL


mais je connay pas bien ta table et les noms
mais si ca doit marcher comme tu le souhaite fo que tu fasse un truc dans le genre

DU SQL pure ca vive l'iut iformatique lol
ViTcH
le 30/05/2003 à 12:21
ViTcH
Salut Unzip, ça fait bizarre de te voir ici :)
Si vous avez besoin de rien, je suis l&agrave; :)
UnZiPPeD
le 30/05/2003 à 14:07
UnZiPPeD
Et Vitch t'es partout smiley

Sinon voici la structure de mes tables:

CREATE TABLE nuke_XForum_posts (
fid smallint(6) NOT NULL default '0',
tid smallint(6) NOT NULL default '0',
pid smallint(8) NOT NULL auto_increment,
author varchar(40) NOT NULL default '',
message text NOT NULL,
dateline bigint(30) NOT NULL default '0',
icon varchar(50) default NULL,
usesig varchar(15) NOT NULL default '',
useip varchar(40) NOT NULL default '',
bbcodeoff varchar(15) NOT NULL default '',
smileyoff varchar(15) NOT NULL default '',
emailnotify varchar(15) NOT NULL default '',
PRIMARY KEY (pid),
KEY dateline (dateline),
KEY tid (tid),
KEY fid (fid),
KEY author (author)
) TYPE=MyISAM;


CREATE TABLE nuke_smiles (
id int(10) NOT NULL auto_increment,
code varchar(50) default NULL,
smile_url varchar(100) default NULL,
emotion varchar(75) default NULL,
active tinyint(2) default '1',
PRIMARY KEY (id),
KEY id (id)
) TYPE=MyISAM;


Merci pour tout les gars :)
Cart
le 30/05/2003 à 15:53
Cart
tu as essayé& ce que jai marqué ?

c pas le bon nim des attribut mai sje pense que ca devrai marcher

moi direction plage je regarderai en detail ce soir
UnZiPPeD
le 30/05/2003 à 17:16
UnZiPPeD
Non je n'ai pas essayé, je connais ce genre de requète seulement je ne sais pas encore l'interprêter (çà viendra smiley)

Dans ta requète je ne vois pas le nom de la table des smileys donc je me demande si elle est bien complète !

----------------
SELECT S.smiley_url, count(NF.message) as total
FROM nuke_forum NF , smile S
WHERE NF.message LIKE S.smile_url
ORDER by TOTAL
-----------------

Quelles seront les variables qui en ressortiront ?
Merci d'être plus précis :)

@+
L4_Hyr3
le 30/05/2003 à 17:33
L4_Hyr3
unziped juste un truc vu ke t nvo : utilise le wall pour les codes
epita promo 2009
UnZiPPeD
le 30/05/2003 à 17:35
UnZiPPeD
Allons allons, pourquoi utiliser l'help desk ??
Il a ecrit ce code alors il doit le connaître mieux que quiconque donc aucun interêt non plus de déranger l'admin pour une simple requête SQL smiley
Cart
le 30/05/2003 à 19:40
Cart
----------------
SELECT S.smiley_url, count(NF.message) as total
FROM nuke_forum NF , smile S
WHERE NF.message LIKE S.smile_url
ORDER by TOTAL
-----------------


ba ce qui va ressortir c les smiley et le nbre de fois que ca ete appelé

Enfin --> totu ce qui se trovue rderriere le select (c son role )

la table des smileys dans mon truc c "smile"
Répondre
LoadingChargement en cours