Page 1 sur 1

Trouvez l'erreur

Posté : 18 déc. 2007, 15:11
par elrohir_74
Salut tout le monde,

je débute en PHP et je suis coincé dans mon projet. Je voudrais réaliser un programe qui me permet de gérer mes BD. Mais comme vous allez le voir ( je vais souventrevenir), j'ai quelques problèmes.
Voici le premier:
<?php
require ('Config.php');

//Lien du formulaire
$link = $_SERVER['PHP_SELF'];

//Récupère l'identifiant de la liste déroulante
if(isset($_GET['Titre_Serie'])&& !empty($_GET['Titre_Serie']))
{
   $Titre_Serie = $_GET['Titre_Serie'];
}
else
{
   $Titre_Serie=0;
}

//Récupère le numéro de page de navigation
if(isset($_GET['Debut']) && !empty($_GET['Debut']))
{
   $Debut=$_GET['Debut'];
}
else
{
   $Debut='0';
}

//Nombre de résultats à afficher par page
$Nb_Affichage = 5;

//Requete pour a liste de choix
$Sql1 = 'select * from Series';
$Query1= mysql_query($Sql1) or die(mysql_error());
$Nb_Result = mysql_num_rows($Query1);

//Requete pour la navigation
$Query_Total = 'select * from BD where Id_Serie = \'$Titre_Serie\'';
$Query2 = mysql_query($Query_Total) or die(mysql_error());
$Nb_Total = mysql_num_rows($Query2);

if(isset($Debut))
{
   $Sql2 = 'select 

b.Id_BD,b.Titre_Volume,b.Annee_Parution,b.Original,b.Date_Achat,b.Prix_Achat,b.Nom_Scenariste,b.Nom_Dessinateur,s.Titre_Serie 

from BD b, Series s where s.Id_Serie = b.Id_Serie and s.Titre_Serie = \'$Titre_Serie\'';
   $Query3 = mysql_query($Sql2);
   $Nb_Result2 = mysql_fetch_row($Query3);
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
	<title>BDth&egrave;que</title>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
	<link rel="stylesheet" media="screen" type="text/css" title!"Design" href="Design.css">
	<script type = "text/javascript">
	<!--
	   function jumpmenu(targ,selObj,restore)
	   {
	      eval (targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
	      if (restore) selObj.selectedIndex=0;
	   }
	//-->
	</script>

</head>

<body>

<div id="en-tete">

<h1>Liste des Volumes</h1>

</div>

<div id="menu">

   <div class="element-menu">
      <h3>Menu consultation</h3>
         <ul>
	        <li><a href="Series.php">Les s&eacute;ries</a></li>
	        <li><a href="BD.php">Les BD</a></li>
	        <li><a href="Totaux.php">Les totaux</a></li>
	     </ul>
   </div>

   <div class="element-menu">
      <h3>Menu Modification</h3>
         <ul>
		    <li><a href="Ajout_Serie1.php">Ajouter une s&eacute;rie</a></li>
		    <li><a href="Ajout_BD1.php">Ajouter une BD</a></li>
		 </ul>
   </div>

</div>

<div id="corps">
<form action="#" method="get" enctype="multipart/form-data">

<br />
<h3>S&eacute;lectionnez un titre de s&eacute;rie :<br /></h3>
<select name="Titre" onchange="jumpmenu('parent',this,1)" >
   <option value=" <?php print $link; ?>">Choisir</option>

   <?php
    while($resultat1 = mysql_fetch_object($Query1))
    {
	   print '<option value="'.$link.'?Titre_Serie='.$resultat1->Id_Serie.'"';
	   if ($Titre_Serie == $resultat1->Id_Serie)
	   {
	      print 'selected="selected"';
	   }
	   print '>'.$resultat1->Titre_Serie.'</option>';
	}
	if ($Nb_Result > 0)
	{
		mysql_data_seek($Query1, 0);
		$resultat1 = mysql_fetch_assoc($Query1);
	}
	?>
</select>

</form>

<?php
if ($Nb_Result2 > 0)
{
print '<h3>Voici les titres de la serie : '
?>

<p></p>
   <table>
      <tr>
         <th>Num&eacute;ro du volume</th>
         <th>Titre du volume</th>
         <th><b>Annee de parution</b></th>
         <th><b>Edition Originale</b></th>
         <th><b>Date de l''achat</b></th>
         <th><b>Prix d''achat</b></th>
         <th><b>Nom du scénariste</b></th>
         <th><b>Nom du dessinateur</b></th>
         <th><b>Modifier</b></th>
         <th><b>Supprimer</b></th></tr>
	  </tr>
<?php
while($resultat2 == mysql_fetch_object($Query3))
{
	print '<tr><td>'.$resultat2->Id_BD.'</td>';
	print '<td>'.$resultat2->Titre_Volume.'</td>';
	print '<td>'.$resultat2->Annee_Parution.'</td>';
	print '<td>'.$resultat2->Original.'</td>';
	print '<td>'.$resultat2->Date_Achat.'</td>';
	print '<td>'.$resultat2->Prix_Achat.'</td>';
	print '<td>'.$resultat2->Nom_Scenariste.'</td>';
	print '<td>'.$resultat2->Nom_Dessinateur.'</td></tr>';
} // while
?>
   </table>
<?php
// barre de navigation
  if($Debut != 0) {
    echo '<a href="',$link,'?Titre_Serie=',$Titre_Serie,'&debut=0">Début</a>&nbsp;&nbsp;' ;
    echo '&nbsp;&nbsp;<a href="',$link,'?Titre_Serie=',$Titre_Serie,'&debut=' ;
    $resultat = ($Debut - $Nb_Result2) ;
    if($resultat < 0) {
      $resultat = 0 ;
    }
    echo $resultat ;
    echo '">Page précédente</a>&nbsp;&nbsp;' ;
  }
  if(($Debut + $Nb_Result2) < $Nb_Total) {
    echo '<a href="',$link,'?Titre_Serie=',$Titre_Serie,'&debut=' ;
    $final = ($Debut + $Nb_Result2) ;
    if($final >= $Nb_Total) {
      $final = ($Nb_Total - $Nb_Result2) ;
    }
    echo $final ;
    echo '">Page suivante</a>&nbsp;&nbsp;' ;
    $derniere = ($Nb_Total - $Nb_Result2) ;
    echo '<a href="',$link,'?Titre_Serie=',$Titre_Serie,'&debut=',$derniere ;
    echo '">Fin</a></p>' ;
  }
}
?>

</div>

<div id="pied-de-page">
   Copyright Bouchet Christophe 2007, tous droits r&eacute;serv&eacute;s</p>
</div>
</body>
</html>
La liste s'affiche correctement mais aucun résultat ne s'affiche. Pourquoi?
Tant que vous y êtes, s'il y a quelque chose à épurer...

Merci d'avance.

Posté : 18 déc. 2007, 15:27
par Berzemus
Salut,

c'est courageux, mais d'un certain côté, on n'est pas des machines. On va pas interpreter ton code et sortir des messages d'erreur.

Si tu pouvais mettre ton code dans les tag's adaptés (code, php, etc..), ce sera déjà plus lisible. De même qu'isoler les élements qui te semblent ne pas fonctionner, ça ira d'autant plus vite. (et indiquer les messages d'erreur aussi..)

Posté : 18 déc. 2007, 15:48
par elrohir_74
Je me doute bien que vous n'êtes pas des compilateurs humains lol, mais c'est vrai que j'aurais dû être plus clair.

Ma liste s'affiche correctement mais le problème est que lorsque je choisi un titre de série dans la liste elle ne me retourne rien comme résultat.
Je pense que l'erreur est dans le code de la liste (le <select>) mais comme je n'en suis pas sûr, je vous ai tapé tout le code.

Sinon, si vous voulez voir ce que cela donne, je veux bien vous mettre un zip avec mon projet mias il faut m'expliquer cmment faire et si on peut...

Posté : 18 déc. 2007, 15:51
par Jules Petibidon
hello,

J'ai pas tout lu car comme le dit Berzemus... Edite ton post pour retirer les balises code pour garder que les php, ce sera beaucoup plus confortable pour ceux qui se pencheront sur la question.

Sinon, fais un echo de tes requêtes sql avant des les exécuter et tu comprendras une partie de ton problème.

Bon courage !

Posté : 18 déc. 2007, 17:01
par Truc
Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "Débuter en PHP".
Les réponses sont plus adaptées au
je débute en PHP



Idem pour le titre que sur ton autre sujet... essaie de trouver plus explicite sous peine de trouver tes sujets verrouillés