MERCI: j'ai besoin d'une fonction!

baradoss
Invité n'ayant pas de compte PHPfrance

22 janv. 2006, 16:17

salut
j'ai besoin chers programmeurs d'une fonction PHP qui me permet d'afficher le nom le plus frequent dans une table de ma base de donnés ! par exemle: le visiteur qui a ajouté plus de blagues est Baradoss!
Merci d'avance

Mammouth du PHP | 19672 Messages

22 janv. 2006, 16:20

Pourquoi une fonction PHP quand tu pourrais l'obtenir en SQL avec MAX()

Comment est la structure de tes tables ?[/code]
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

baradoss
Invité n'ayant pas de compte PHPfrance

22 janv. 2006, 16:24

la structure!?
bah c'est une simple table créee manuellemnt par phpmyadmin! alors je suis un zero en SQL merci de me detailler tout :cry:

ViPHP
ViPHP | 2144 Messages

22 janv. 2006, 16:31

oui, mais on a justement besoin de la dite structure ;)

Mammouth du PHP | 19672 Messages

22 janv. 2006, 16:38

Ce que tu vas faire, c'est ouvrir phpMyAdmin, sélectionner ta base de données et en haut, chercher le bouton [Exporter] : exporte la structure et décoche la case "Données" : puis clique en bas sur le bouton exécuter : tu as voir apparaitre le script SQL de création des tables : c'est de ça qu'on a besoin ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

22 janv. 2006, 18:09

Dico :
La structure d'une table indique :
  • les champs qui la composent ;
  • leurs types respectifs ;
  • leurs valeurs par défaut ;
  • les clés et index de la table
J'ai rien oublié ? :roll:

baradoss
Invité n'ayant pas de compte PHPfrance

22 janv. 2006, 21:36

merci et excusez moi pour ce retard
la structure est la suivante:

-- phpMyAdmin SQL Dump
-- version 2.6.3-pl1
-- http://www.phpmyadmin.net
--
-- Serveur: baradoss.sql.free.fr
-- Généré le : Dimanche 22 Janvier 2006 à 20:32
-- Version du serveur: 4.1.15
-- Version de PHP: 4.4.0
--
-- Base de données: `baradoss`
--

-- --------------------------------------------------------

--
-- Structure de la table `paroles_b`
--

CREATE TABLE `paroles_b` (
`id` mediumint(9) NOT NULL auto_increment,
`nom` varchar(50) NOT NULL default '',
`email` varchar(50) NOT NULL default '',
`titre` varchar(50) NOT NULL default '',
`url` varchar(25) NOT NULL default '',
`paroles` longtext NOT NULL,
`date` varchar(20) NOT NULL default '',
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=87 ;

--
-- Contenu de la table `paroles_b`
--

INSERT INTO `paroles_b` VALUES (1, 'Baradoss', '[email protected]', 'Darja Darja!', '', 'derja derj ila bguitte terbeh \r\naandak ghir ittih dreb gui errih {15}\r\ntessdek nedman ou tekhsser fi la fin\r\nchedda fellah oul 3ati rebbi \r\nel 3ibe machi mllih \r\ne7en eda rouihh\r\nma nekhtebchi la nesbeh moussal\r\n\r\nya 3ita 3ita jaou nedmou {13}\r\nhasbouha dayma wirraki ya mma\r\nelwaktte ess3abe ou lkebda yandelle\r\nmen hak ou hak jaou zetmou\r\noulla wach wakra charika gadra\r\neddinya gharrara ou zeltte ehabbelle!\r\n\r\nhad elkmesse jaybenne fi la chaine {10}\r\nfejbelle aalia essa3a 3amia \r\ngbina ou dikk moll eddar essal \r\nebbelatte finnasse laabha yafhemme\r\noulhadra harra amrah makra \r\naybenh guaa tellement behdalle\r\n\r\nya tji ghdoua tetjayyer aalik {15}\r\ntemma tballek tbanne echtartek\r\nouila rak terrasse kimmel a khoya \r\nchhalle men maregh lli kanne yanssef \r\noullah walla yechhef \r\ntemma aad earef \r\nantahh ennasse ouwalla di3aya \r\n\r\nderja derj ila bguitte terbeh \r\naandak ghir ittih dreb gui errih\r\ntessdek nedman ou tekhsser fi la fin\r\nchedda fellah oul ati rebbi \r\nel 3ibe machi mllih \r\nehhen eda rouihh\r\nma nekhtebchi la nesbeh moussal {18}', '16/09/2005');
INSERT INTO `paroles_b` VALUES (2, 'Baradoss', '[email protected]', 'Kendir!', '', 'kendir m3ak enti ya hayaha {13} \r\nhabbeltini ghir bel3inine \r\nkendir maak enti ya \r\nmen nebda lehkaya menne\r\n\r\nbentte ennasse kwitni {10}\r\nrani wallah fi aadabe\r\nellah ghaleb aadrini\r\ngalbi elmaskinne rah dabbe\r\n\r\nrani saber en sais jamais\r\nyahdek rabbi gouli kelma\r\nhabbeltini ya ben ammi\r\nchayabtini ya bente mma\r\n\r\ndes fois nguoule reyeh galbi \r\nnehder maak ounethanna\r\nnkhaffe la yzidde 3dabi\r\ntwelli omri fih ghbina\r\n\r\nKendir M3ak nti ya hayaha {13}', '16/09/2005');

Mammouth du PHP | 19672 Messages

22 janv. 2006, 21:54

J'y vois une première erreur technique: nommer un champ "date" est une très mauvaise idée parce que c'est un mot réservé en SQL.

Ceci dit, essaye une requête comme ceci:

Code : Tout sélectionner

SELECT `nom` , COUNT( * ) AS 'total' FROM `paroles_b` GROUP BY `nom` ORDER BY `total` DESC LIMIT 0 , 1;
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

baradoss
Invité n'ayant pas de compte PHPfrance

22 janv. 2006, 22:15

merci bien cher Cyrano!

mais comment je peux moi afficher le nom le plus frequent?
alors comment je peux melanger entre sql et php?

Excusez moi pour mes questions: je croie que ce forum est pour les nuls comme moi :( !

Mammouth du PHP | 19672 Messages

23 janv. 2006, 03:03

En mettant cette requête dans une variable:
$sql = "SELECT `nom` , COUNT( * ) AS 'total' ".
       "FROM `paroles_b` ".
       "GROUP BY `nom` ".
       "ORDER BY `total` DESC ".
       "LIMIT 0 , 1;"
//... suite des instruction pour l'exécution de la requête
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

baradoss
Invité n'ayant pas de compte PHPfrance

23 janv. 2006, 22:14

Merci Cyrano mon probleme est maintenant resolu!
Tanmirt! :) : c'est juste merci en TAMAZIGHT ma langue maternel! :wink: