Affichage de données PHP/MYSQL

Fermé
Ricky38 Messages postés 4349 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 - 5 août 2008 à 06:52
Ricky38 Messages postés 4349 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 - 6 août 2008 à 01:53
Bonjour,

normalement je me débrouille tout seul mais là vraiment je me cherche. Je vous explique :

j'ai 2 tables soit genres et artistes
la page 1 je fait afficher toutes les données avec ce code :

 <?php
$h = $_POST['name'];

  // how many rows to show per page
    $rowsPerPage = 24;
    
    // by default we show first page
    $pageNum = 1;
    
    // if $_GET['page'] defined, use it as page number
if(isset($_GET['page']))
{
	$pageNum = $_GET['page'];
}

// counting the offset
$offset = ($pageNum - 1) * $rowsPerPage;


    
    $requete = mysql_query("SELECT nom,genres,origine,images_tn FROM groupes WHERE genres LIKE '%$h%' UNION SELECT nom,genres,origine,images_tn FROM artistes WHERE genres LIKE '%$h%' ORDER BY nom LIMIT $offset, $rowsPerPage");
 
    
    while($donnees = mysql_fetch_array($requete)) 
    { // boucle parcours des resultats
    $id = $donnees['id'];
    $nom = $donnees['nom'];
    $quand = $donnees['quand'];
	$lieu = $donnees['lieu'];
    $ville = $donnees['ville'];
	$origine = $donnees['origine'];
	$genres = $donnees['genres'];
    $images = $donnees['images']; 
	$images_tn = $donnees['images_tn'];  
    ?>
      </p>
  <p>
<p>
<p>
<center>
  <table align="center" width="450" border="0" cellpadding="0">
    <tr>
    <td width="52" valign="middle"><form method="post" action="genres_details.php">
              <input type="image" border="0" value="Submit" src="<?php echo "$images_tn"; ?>" name="img" border="0">
              <input type="hidden" name="img" value="<?php echo "$id"; ?>">
      </form></td>
    <td width="133" valign="middle" class="Style23"><?php echo "$nom"; ?></td>
    <td width="133" valign="middle" class="Style23"><?php echo "$genres"; ?></td>
	<td width="133" valign="middle" class="Style23"><?php echo "$origine"; ?></td>
  </tr>
</table>
 
  
<?php
}

echo '<br>';

// how many rows we have in database
$query   = "SELECT COUNT(*) AS numrows FROM groupes";
$result  = mysql_query($query) or die('Error, query failed');
$row     = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];

// how many pages we have when using paging?
$maxPage = ceil($numrows/$rowsPerPage);

$self = $_SERVER['PHP_SELF'];

// creating 'previous' and 'next' link
// plus 'first page' and 'last page' link

// print 'previous' link only if we're not
// on page one
if ($pageNum > 1)
{
	$page = $pageNum - 1;
	$prev = " <a href=\"$self?page=$page\">[Précédente]</a> ";
	
	$first = " <a href=\"$self?page=1\">[Première Page]</a> ";
} 
else
{
	$prev  = ' [Précédente] ';       // we're on page one, don't enable 'previous' link
	$first = ' [Première Page] '; // nor 'first page' link
}

// print 'next' link only if we're not
// on the last page
if ($pageNum < $maxPage)
{
	$page = $pageNum + 1;
	$next = " <a href=\"$self?page=$page\">[Suivante]</a> ";
	
	$last = " <a href=\"$self?page=$maxPage\">[Dernière Page]</a> ";
} 
else
{
	$next = ' [Suivante] ';      // we're on the last page, don't enable 'next' link
	$last = ' [Dernière Page] '; // nor 'last page' link
}

// print the page navigation link
echo $first . $prev . " <strong>Page $pageNum de $maxPage</strong> " . $next . $last;
?>


Jusqu'ici tout va bien les données des 2 tables s'affichent très bien.

Mon problème est quand je clique sur une images de cette page il m'envoit sur la page genres_details.php

Le problème est que je ne suis pas capable de faire afficher les donnees sur cette page, il me donne un message d'erreur Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home2/nb3390/public_html/zonespectacle/genres_details.php on line 13

voici mon code pour la page genres_details.php

<?php
if (isset($_POST['img'])) // Si la variable existe
{
$pict = $_POST['img'];

}
include ("connexion.php");
 
$reponse = mysql_query("SELECT * FROM groupes WHERE id=$pict UNION SELECT * FROM artistes WHERE id=$pict"); // Requête SQL

// On fait une boucle pour lister tout ce que contient la table :

while ($donnees = mysql_fetch_array($reponse) )

{ // boucle parcours des resultats


?>

<div id="donnees">
      <p align="center" class="Style29"><?php echo $donnees['nom']; ?><br />
      <br />
  <p align="center" class="Style23"><img src="<?php echo $donnees['images']; ?>"/><br />
      <br />
      <br />
    <p align="center" class="Style23"><?php echo $donnees['quand']; ?><br />
    
  <p align="center" class="Style23"><?php echo $donnees['lieu']; ?><br />
  <p align="center" class="Style23"><?php echo $donnees['ville']; ?><br />  
</div>


Si quelqu'un pouvait m'éclairer j'en serais ravi car je cherche depuis longtemps et je ne trouve pas le problème. À noter que l'erreur est pour cette ligne :
while ($donnees = mysql_fetch_array($reponse) )

Donc c'est forcément ma requête qui n'est pas bonne.

Merci d'avance pour l'aide.
A voir également:

4 réponses

Bonjour,
Je commence aussi, mais il me semble que dans ta requete, tu ne demandes pas tous les parametres, dont la variable id : il faut que tu modifies ta requete..
en effet tu appelles nom,genres,origine,images_tn
dans $requete = mysql_query("SELECT n..........)

et tu attribues
$id = $donnees['id']; => non !
$nom = $donnees['nom']; => ok
$quand = $donnees['quand']; => non
$lieu = $donnees['lieu']; => non
$ville = $donnees['ville']; => non
$origine = $donnees['origine']; => oui
$genres = $donnees['genres']; => oui
$images = $donnees['images']; => non !
$images_tn = $donnees['images_tn']; => ok

tu comprends maintenant pourquoi ta page n'est pas mise à jour,

bon courage !
0
Ricky38 Messages postés 4349 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 1 459
5 août 2008 à 14:45
salut :)

non ça n'a aucun rapport car ma première page fonctionne parfaitement comme je l'ai mentionné.

Le problème se situe dans ma requête de la deuxième page soit genres_details.php


Merci quand même :)
0
Ricky38 Messages postés 4349 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 1 459
5 août 2008 à 16:40
up
0
Ricky38 Messages postés 4349 Date d'inscription samedi 15 mars 2008 Statut Contributeur Dernière intervention 2 novembre 2013 1 459
6 août 2008 à 01:53
un autre petit up ;)

Il y a surement un pro ici qui voit ce qui cloche :)
0