Page 1 sur 1

MERCI: j'ai besoin d'une fonction!

Posté : 22 janv. 2006, 16:17
par baradoss
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

Posté : 22 janv. 2006, 16:20
par Cyrano
Pourquoi une fonction PHP quand tu pourrais l'obtenir en SQL avec MAX()

Comment est la structure de tes tables ?[/code]

Posté : 22 janv. 2006, 16:24
par baradoss
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:

Posté : 22 janv. 2006, 16:31
par iclo
oui, mais on a justement besoin de la dite structure ;)

Posté : 22 janv. 2006, 16:38
par Cyrano
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 ;)

Posté : 22 janv. 2006, 18:09
par albat
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:

Posté : 22 janv. 2006, 21:36
par baradoss
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');

Posté : 22 janv. 2006, 21:54
par Cyrano
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;

Posté : 22 janv. 2006, 22:15
par baradoss
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 :( !

Posté : 23 janv. 2006, 03:03
par Cyrano
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

Posté : 23 janv. 2006, 22:14
par baradoss
Merci Cyrano mon probleme est maintenant resolu!
Tanmirt! :) : c'est juste merci en TAMAZIGHT ma langue maternel! :wink: