Un site php/mysql pour les débutant ?

Un site php/mysql pour les débutant ? - PHP - Programmation

Marsh Posté le 02-01-2007 à 13:37:57    

Bonjour  :hello:  
 
J'essais de compter des lignes dans mysql , j'ais trouvé la doc :
 
http://dev.mysql.com/doc/refman/5. [...] -rows.html
 
ca semble assez simple , j'ais bien compris la ligne :
 
mysql> SELECT maitre, COUNT(*) FROM animal GROUP BY maitre;
 
mais le truc c'est que je ne sais pas comment faire pour afficher le tableau ?????  :??:
 
 
Accesoirement j'en profite pour poser ma 2 eme question :
connaissez vous un site plutôt axé débutant pour php / mysql ? C'est a dire qui explique pas a pas , car comme vous le voyez dans mon exemple , je suis bloquer car je ne sais pas comment afficher le résultat d'un tableau :/


Message édité par Flora_21 le 02-01-2007 à 13:43:37
Reply

Marsh Posté le 02-01-2007 à 13:37:57   

Reply

Marsh Posté le 02-01-2007 à 13:58:03    

Paraît que ça c'est bien (perso jamais lu) :
http://www.siteduzero.com/tuto-3-4 [...] c-php.html

Reply

Marsh Posté le 02-01-2007 à 14:07:18    

merci bcp !
 
et sinon tu saurais pas comment afficher le tableau de cet exemple ?
mysql> SELECT maitre, COUNT(*) FROM animal GROUP BY maitre;

Reply

Marsh Posté le 02-01-2007 à 14:12:28    

ba une fois que tu a lancé la requéte à l'aide de php, tu dois traiter le résultat... exemple :

Code :
  1. $rq2 = "SELECT * FROM news ORDER BY ID DESC LIMIT 3"; 
  2.    $result = mysql_query($rq2, $connex)
  3.     or die ("Exécution de la requête impossible".$rq2);
  4.     $message=$message. "<p align=left><table width='99%'>\n";
  5.     $i=1;
  6.     while ($ligne = mysql_fetch_array($result, MYSQL_ASSOC))
  7.     { If ($i%2 < 1)
  8.             {
  9.                 $message=$message. "\t<tr bgcolor = 'lightblue'>\n";
  10.             }
  11.         else
  12.             {
  13.                 $message=$message. "\t<tr bgcolor = 'plum'>\n";
  14.             }
  15.         $i++;
  16.         $message=$message. "\t\t<td width='5%' align=center>".$ligne['ID']."</td>\n
  17.         <td width='25%' align=center>".$ligne['Date']."</td>\n
  18.         <td width='70%' align=left>".$ligne['Comment']."</td>\n
  19.          \t</tr>\n";
  20.     }
  21.     $message=$message. "</table></p>\n";
  22.    
  23.     mysql_free_result($result);
  24. echo $message;


 
bon c'est un exemple mais tout y est ;) (sauf la connexion au serveur mysql)

Reply

Marsh Posté le 02-01-2007 à 15:09:59    

Je fais :
 
<?
 
$connect=@mysql_connect($hostname,$username,$password) or die(mysql_error());
 
$query = "SELECT maitre, COUNT(*) FROM animal GROUP BY maitre;"; // j'ais pris le meme exemple et la meme bdd que la doc
 
$result = mysql_query($query , $connect)
 
echo $result[Benny];
 
?>
 
ps : j'ais la meme bdd que l'exemple de la doc : http://dev.mysql.com/doc/refman/5. [...] g-all.html
 
 
 
et ca marque comme erreur :
 
Parse error: syntax error, unexpected T_ECHO
 
 
Comprend pas ..... c'est censé marqué 2 ( car Benny à 2 animaux ... 2 lignes ....)
 

Reply

Marsh Posté le 02-01-2007 à 15:20:45    

Mysql ne te retourne pas un tableau... donc tu ne peux pas le traiter commeun tableau..
 
il faut passer par une fonction du style mysql_fetch_array ;)

Reply

Marsh Posté le 02-01-2007 à 15:24:50    

Reply

Marsh Posté le 02-01-2007 à 15:51:47    

Merci pour votre aide .
 
Ce que je ne comprend pas c'est dans quel variable est enregistré le résultat de COUNT en fait ?
 
mysql_connect($hostname, $username, $password);
mysql_select_db($database);
 
 
$reponse = mysql_query("SELECT maitre, COUNT(*) FROM animal GROUP BY maitre" );
$donnees = mysql_fetch_array($reponse);
 
 
 
( echo $donnees[Benny]; ??????????????????  :??:  :??:  :??: )

Reply

Marsh Posté le 02-01-2007 à 16:01:03    

Mais c'est quoi ton Benny là [:johneh] ? Il apparaît nulle part... Il faut mettre un alias sur la colonne :

Code :
  1. $reponse = mysql_query('SELECT maitre, COUNT(*) AS zeCount FROM animal GROUP BY maitre');
 

Ensuite un fetch_assoc, et ça roule :

Code :
  1. $donnees = mysql_fetch_assoc($reponse);
  2. echo $donnees['zeCount'];


Message édité par FlorentG le 02-01-2007 à 16:01:15
Reply

Marsh Posté le 02-01-2007 à 16:27:57    

hello
 
La table est comme ca :
http://dev.mysql.com/doc/refman/5. [...] g-all.html
 
En fait Benny  c'est le nom d'un maitre, la question en PHP est :
 
"Combien d'animaux à benny ?"
 
ce qui reviens a demander a mysql :
 
" Combien de fois Benny apparait dans la colonne maitre ? "


Message édité par Flora_21 le 02-01-2007 à 16:29:02
Reply

Marsh Posté le 02-01-2007 à 16:27:57   

Reply

Marsh Posté le 02-01-2007 à 16:29:23    

Sauf que là tu sélectionne pas Benny... Ce serait plutôt :

Code :
  1. SELECT COUNT(*) AS zeCOUNT FROM animal WHERE maitre='Benny'


Message édité par FlorentG le 02-01-2007 à 16:29:42
Reply

Marsh Posté le 02-01-2007 à 16:40:56    

ba sa requête était bonne, sauf qu'il fallait qu'il vois pour n'afficher que les résultats ou la colonne nom était benny.
 
Tu peux aussi modifier ta requête pour renvoyer tous les enregistrer dans lesquels il y a benny en tant que maître, et ensuite faire un mysql_num_rows, pour compter le nombre d'occurence dans le résultat retourné par mysql.. (Doc ICI...)

Reply

Marsh Posté le 02-01-2007 à 16:41:33    

Ou faire un count comme moi, à la place du num_rows qui oblige à tout retourner

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed