par
atome13 » 20 janv. 2012, 20:08
Voici l'erreur :
Notice: Undefined offset: 1 in C:\wamp\www\test\index.php on line 249
Mes tables dans la DB:
console : id_console, console
jeux : id_jeux, jeux, description, image, id_console
Voici le code complet du script :
Code : Tout sélectionner
<?php
echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");
/* Variables de connexion : ajustez ces paramètres selon votre propre environnement */
$serveur = "localhost";
$admin = "root";
$mdp = "";
$base = "site";
/* On récupère si elle existe la valeur de la console envoyée par le formulaire */
$idr = isset($_POST['console'])?$_POST['console']:null;
?>
<body style="font-family: verdana, helvetica, sans-serif; font-size: 85%">
<h3>Trouver un jeux</h3>
<?php
/* On établit la connexion à MySQL avec mysql_pconnect() plutôt qu'avec mysql_connect()
* car on aura besoin de la connexion un peu plus loin dans le script */
$connexion = mysql_pconnect($serveur, $admin, $mdp);
if($connexion != false)
{
$choixbase = mysql_select_db($base, $connexion);
$sql1 = "SELECT `id_console`, `console`".
" FROM `console`".
" ORDER BY `id_console`";
$rech_consoles = mysql_query($sql1);
$code_console = array();
$console = array();
/* On active un compteur pour les consoles */
$nb_consoles = 0;
if($rech_consoles != false)
{
while($ligne = mysql_fetch_assoc($rech_consoles))
{
array_push($code_console, $ligne['id_console']);
array_push($console, $ligne['console']);
/* On incrémente de compteur */
$nb_consoles++;
}
}
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">
<fieldset style="border: 3px double #333399">
<legend>Sélectionnez une console</legend>
<select name="console" id="console" onchange="document.forms['chgdept'].submit();">
<option value="-1">- - - Choisissez une console - - -</option>
<?php
for($i = 0; $i < $nb_consoles; $i++)
{
?>
<option value="<?php echo($code_console[$i]); ?>"<?php echo((isset($idr) && $idr == $code_console[$i])?" selected=\"selected\"":null); ?>><?php echo($console[$i]); ?></option>
<?php
}
?>
</select>
<?php
mysql_free_result($rech_consoles);
/* On commence par vérifier si on a envoyé un numéro de console et le cas échéant s'il est différent de -1 */
if(isset($idr) && $idr != -1)
{
/* Création de la requête pour avoir les jeux de cette console */
$sql2 = "SELECT `id_jeux`, `jeux`".
" FROM `jeux`".
" WHERE `id_console` = ". $idr ."".
" ORDER BY `id_jeux`;";
if($connexion != false)
{
$rech_jeux = mysql_query($sql2, $connexion);
/* Un petit compteur pour les jeux */
$nd = 0;
/* On crée deux tableaux pour les numéros et les noms des jeux */
$code_jeux = array();
$nom_jeux = array();
/* On va mettre les numéros et noms des jeux dans les deux tableaux */
while($ligne_dept = mysql_fetch_assoc($rech_jeux))
{
array_push($code_jeux, $ligne_dept['id_jeux']);
array_push($nom_jeux, $ligne_dept['jeux']);
$nd++;
}
/* Maintenant on peut construire la liste déroulante */
?>
<select name="jeux" id="jeux">
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($code_jeux[$d]); ?>"<?php echo((isset($jeux_selectionne) && $jeux_selectionne == $code_jeux[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_jeux[$d]." (". $code_jeux[$d] .")"); ?></option>
<?php
}
?>
</select>
<?php
}
/* Un petit coup de balai */
mysql_free_result($rech_jeux);
}
?>
<br /><input type="submit" name="ok" id="ok" value="Envoyer" />
</fieldset>
</form>
<?php
/* Terminé, on ferme la connexion */
mysql_close($connexion);
}
else
{
/* Si on arrive là, c'est pas bon signe, il faut vérifier les
* paramètres de connexion, mot de passe, serveur pas démarré etc... */
?>
<p>Un incident s'est produit lors de la connexion à la base de données, veuiillez essayer à nouveau ultérieurement.</p>
<?php
}
?>
<?php
if(isset($_POST['ok']) && isset($_POST['jeux']) && $_POST['jeux'] != "")
{
$console_selectionnee = $_POST['console'];
$jeux_selectionne = $_POST['jeux'];
?>
<p>Vous avez sélectionné le jeux <?php echo($jeux_selectionne); ?> sur la console <?php echo($console_selectionnee); ?></p>
<?php
if (isset($_POST[$code_jeux[$d]])) {
$sql = 'SELECT titre FROM jeux WHERE id_jeux = "'.$jeux_selectionne.'"';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
while ($donnees=mysql_fetch_array($req))
{
echo "<table>
<tr>
<td>".$donnees['titre']."</td>
<td>".$donnees['image']."</td>
</tr>
</table>
";
}}
else {
echo '';
}
}
?>
</body>
</html>
Merci de votre aide.
Voici l'erreur :
Notice: Undefined offset: 1 in C:\wamp\www\test\index.php on line 249
Mes tables dans la DB:
console : id_console, console
jeux : id_jeux, jeux, description, image, id_console
Voici le code complet du script :
[code]<?php
echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");
/* Variables de connexion : ajustez ces paramètres selon votre propre environnement */
$serveur = "localhost";
$admin = "root";
$mdp = "";
$base = "site";
/* On récupère si elle existe la valeur de la console envoyée par le formulaire */
$idr = isset($_POST['console'])?$_POST['console']:null;
?>
<body style="font-family: verdana, helvetica, sans-serif; font-size: 85%">
<h3>Trouver un jeux</h3>
<?php
/* On établit la connexion à MySQL avec mysql_pconnect() plutôt qu'avec mysql_connect()
* car on aura besoin de la connexion un peu plus loin dans le script */
$connexion = mysql_pconnect($serveur, $admin, $mdp);
if($connexion != false)
{
$choixbase = mysql_select_db($base, $connexion);
$sql1 = "SELECT `id_console`, `console`".
" FROM `console`".
" ORDER BY `id_console`";
$rech_consoles = mysql_query($sql1);
$code_console = array();
$console = array();
/* On active un compteur pour les consoles */
$nb_consoles = 0;
if($rech_consoles != false)
{
while($ligne = mysql_fetch_assoc($rech_consoles))
{
array_push($code_console, $ligne['id_console']);
array_push($console, $ligne['console']);
/* On incrémente de compteur */
$nb_consoles++;
}
}
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">
<fieldset style="border: 3px double #333399">
<legend>Sélectionnez une console</legend>
<select name="console" id="console" onchange="document.forms['chgdept'].submit();">
<option value="-1">- - - Choisissez une console - - -</option>
<?php
for($i = 0; $i < $nb_consoles; $i++)
{
?>
<option value="<?php echo($code_console[$i]); ?>"<?php echo((isset($idr) && $idr == $code_console[$i])?" selected=\"selected\"":null); ?>><?php echo($console[$i]); ?></option>
<?php
}
?>
</select>
<?php
mysql_free_result($rech_consoles);
/* On commence par vérifier si on a envoyé un numéro de console et le cas échéant s'il est différent de -1 */
if(isset($idr) && $idr != -1)
{
/* Création de la requête pour avoir les jeux de cette console */
$sql2 = "SELECT `id_jeux`, `jeux`".
" FROM `jeux`".
" WHERE `id_console` = ". $idr ."".
" ORDER BY `id_jeux`;";
if($connexion != false)
{
$rech_jeux = mysql_query($sql2, $connexion);
/* Un petit compteur pour les jeux */
$nd = 0;
/* On crée deux tableaux pour les numéros et les noms des jeux */
$code_jeux = array();
$nom_jeux = array();
/* On va mettre les numéros et noms des jeux dans les deux tableaux */
while($ligne_dept = mysql_fetch_assoc($rech_jeux))
{
array_push($code_jeux, $ligne_dept['id_jeux']);
array_push($nom_jeux, $ligne_dept['jeux']);
$nd++;
}
/* Maintenant on peut construire la liste déroulante */
?>
<select name="jeux" id="jeux">
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($code_jeux[$d]); ?>"<?php echo((isset($jeux_selectionne) && $jeux_selectionne == $code_jeux[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_jeux[$d]." (". $code_jeux[$d] .")"); ?></option>
<?php
}
?>
</select>
<?php
}
/* Un petit coup de balai */
mysql_free_result($rech_jeux);
}
?>
<br /><input type="submit" name="ok" id="ok" value="Envoyer" />
</fieldset>
</form>
<?php
/* Terminé, on ferme la connexion */
mysql_close($connexion);
}
else
{
/* Si on arrive là, c'est pas bon signe, il faut vérifier les
* paramètres de connexion, mot de passe, serveur pas démarré etc... */
?>
<p>Un incident s'est produit lors de la connexion à la base de données, veuiillez essayer à nouveau ultérieurement.</p>
<?php
}
?>
<?php
if(isset($_POST['ok']) && isset($_POST['jeux']) && $_POST['jeux'] != "")
{
$console_selectionnee = $_POST['console'];
$jeux_selectionne = $_POST['jeux'];
?>
<p>Vous avez sélectionné le jeux <?php echo($jeux_selectionne); ?> sur la console <?php echo($console_selectionnee); ?></p>
<?php
if (isset($_POST[$code_jeux[$d]])) {
$sql = 'SELECT titre FROM jeux WHERE id_jeux = "'.$jeux_selectionne.'"';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
while ($donnees=mysql_fetch_array($req))
{
echo "<table>
<tr>
<td>".$donnees['titre']."</td>
<td>".$donnees['image']."</td>
</tr>
</table>
";
}}
else {
echo '';
}
}
?>
</body>
</html>[/code]
Merci de votre aide.