Un petit problème de syntaxe>.<

Invité
Invité n'ayant pas de compte PHPfrance

17 nov. 2006, 17:55

Bonjour,
Voilà mon code :
//appel de la base
require("connection.php");
//écri le resultat qui est dans la base ici les films en salle
$requete = "
SELECT *
FROM films 
GROUP BY genre_film
LIMIT 0,10";





$result = mysql_query($requete) or die (mysql_error());
$requete2 = "    (SELECT COUNT( genre_film ) AS nombre_films
FROM films
GROUP BY genre_film 
LIMIT 0,10)";
$result2 = mysql_query($requete2) or die (mysql_error());
//titre
echo "<b><center>Films par genre :</center></b></td><td style='background-image: url(http://XXX.free.fr/fond/img_fond3.GIF);'> <b><center>Prochainement :</center></b></td></tr><tr><td>";
//recupération de la table
while ($row = mysql_fetch_array($result))

 {

 echo "<a href=http://XXXX.free.fr/admin/genre_film.php?genre_film=";echo $row["genre_film"];echo ">"; 
 echo $row["genre_film"];echo "</a>";while ($row2 = mysql_fetch_array($result2))

{echo $row2["nombre_films"];
}echo "<br>";}

Mais voilà moi je veu que le nombre de films (count..) apparaisse dèrière le genre du film mais j'y arrive pas>.<
voilà je suis sur que c juste un truck tout comme à mes habitudes :cry:
Merci à tous !

Mammouth du PHP | 19672 Messages

17 nov. 2006, 18:13

Pourquoi deux requêtes là où une seule suffirait ? :-k

Essaye avec quelque chose comme ceci :

Code : Tout sélectionner

SELECT DISTINCT (`genre`) AS genre, COUNT( `titre` ) AS nombre_films FROM `film` GROUP BY genre LIMIT 0 , 10;
Tu obtiendras deux colonnes, une avec chaque genre et la seconde avec le nombre par genre.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

17 nov. 2006, 20:04

Voilà ma requette modiffiée :
$requete = "
SELECT DISTINCT (`genre_film`) AS genre_film, COUNT( `genre_film` ) AS nombre_films
FROM `films`
GROUP BY genre_film
LIMIT 0 , 10;";





$result = mysql_query($requete) or die (mysql_error());

//titre
echo "<b><center>Films par genre :</center></b></td><td style='background-image: url(http://****.free.fr/fond/img_fond3.GIF);'> <b><center>Prochainement :</center></b></td></tr><tr><td>";
//recupération de la table
while ($row = mysql_fetch_array($result))

 {

 echo "<a href=http://d***e***s.free.fr/films/genre_film.php?genre_film=";echo $row["genre_film"];echo ">"; 
 echo $row["genre_film"];echo "</a>";while ($row2 = mysql_fetch_array($result2))

{echo $row["nombre_films"];
}echo "<br>";}
ça m'affiche les genres mais dessous j'ai ça!
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/136/sdb/a/e/X***X**X/films/index_genre_film.php on line 54

Mammouth du PHP | 19672 Messages

17 nov. 2006, 20:27

As-tu testé la requête dans phpMyAdmin par exemple pour au moins vérifier qu'elle retournait le résultat attendu ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

24 nov. 2006, 09:31

ça marche mais pas en php :cry:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 nov. 2006, 09:55

enleve le ; à la fin de la chaine $requete ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 19672 Messages

24 nov. 2006, 11:18

Tu as modifié ta requête, mais tu as toujours deux boucles imbriquées, la seconde faisant référence à une requête qui n'est plus là, donc non seulement ça ne fonctionne pas, mais ça doit même générer des messages d'erreur. Proposition de correction/Nettoyage du code :
<?php
$requete = "SELECT DISTINCT (`genre_film`) AS genre_film, COUNT( `genre_film` ) AS nombre_films ".
           "FROM `films` ".
           "GROUP BY genre_film ".
           "LIMIT 0 , 10;";

$result = mysql_query($requete) or die (mysql_error());
//titre
?>
      <b><center>Films par genre :</center></b>
    </td>
    <td style="background-image: url('http://d***e***s.free.fr/fond/img_fond3.GIF');"><b><center>Prochainement :</center></b></td>
  </tr>
  <tr>
    <td>
<?php
//recupération de la table
while(false != ($row = mysql_fetch_array($result)))
{
?>
<a href="http://d***e***s.free.fr/films/genre_film.php?genre_film=<?php echo($row['genre_film']); ?>"><?php echo($row['genre_film']); ?></a><?php echo($row['nombre_films']); ?><br />
<?php
}
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

24 nov. 2006, 23:47

oué c bon^^ merci à tous!! :D

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 nov. 2006, 23:48

Modération : Puisque ta question est résolue, j'ajoute le tag [Résolu] pour indiquer aux personnes qui voudront consulter ce thread qu'il contient une solution.

Tu peux réaliser cette opération en cliquant sur le bouton [Résolu] en haut à gauche de ce thread lorsque tu as posté le 1er message en tant que membre
;).
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer