Page 1 sur 1

Pb de variables

Posté : 15 avr. 2005, 11:16
par Invité
Bonjour,

Je n'arrive pas à afficher des données venant ds la base. Il me dit que ma variable est indefine.... ma variable 'idpoisson'

Ca dois venir du register global mais j'ai pas bien compris, qi quelqu'un pouvait m'éclairer

<?php

include('connection.inc.php');
$query = "SELECT * FROM poisson WHERE idpoisson='$idpoisson'";
$result = mysql_query($query);

$nb = mysql_numrows($result);

Merci d'avance

while ($val = mysql_fetch_array($result))

{ /* On parcoure les résultats de la requête */


$espece = $val["espece"];
$nom = $val["nom"];
$idpoisson = $val["idpoisson"];
$image = $val["image"];
$taillebac = $val["taillebac"];

echo "
<table width='600' border='0' cellspacing='5' cellpadding='5' >
<tr>
<td width='100'><font size='2' face='Geneva, Arial, Helvetica, sans-serif'><strong><IMG SRC='img/$image' border=0 height='75' width='80'></strong></font></td>
<td width='25%'><font size='2' face='Geneva, Arial, Helvetica, sans-serif'><a href='poisson2.php?idpoisson=$idpoisson'><strong>$espece</strong></A></font></td>
<td width='25%'><font size='2' face='Geneva, Arial, Helvetica, sans-serif'><a href='poisson2.php?idpoisson=$idpoisson'><strong>$nom</strong></A></font></td>
<td width=''><font size='2' face='Geneva, Arial, Helvetica, sans-serif'><a href='poisson2.php?idpoisson=$idpoisson'><strong>$taillebac</strong></A></font></td>
</tr>

</table>

";

}
mysql_close();
?>
</td>
</tr>
</table>
</body>
</html>

Posté : 15 avr. 2005, 11:23
par flitox
Si la valeur de $idpoisson est passée via l'url alors tu mets :
$query = "SELECT * FROM poisson WHERE idpoisson='".$_GET['idpoisson']."'";
Si la valeur de $idpoisson est postée via un formulaire alors tu mets :
$query = "SELECT * FROM poisson WHERE idpoisson='".$_POST['idpoisson']."'";
Explication : http://www.phpfrance.com/forums/voir_sujet-48.php

Posté : 15 avr. 2005, 12:29
par Invité
ok, merci je commence à comprendre.

Mais dans le cas d'une mise à jour ou modifications des donnés, cela se passe de la même maniere au niveau des variables?

Dans mon cas je récupere les donnes et les affichent dans un champ, jusque la tout va bien pas d'erreur.

Mais au moment de mettre à jour la base, il ne sa passe rien pas de message d'erreur rien

voici le code de ma page qui recupere les données

<?php

include('connection.inc.php');
$query = "SELECT * FROM personnel where id='".$_GET['id']."'";
$result = mysql_query($query);

$nb = mysql_numrows($result);

while ($val = mysql_fetch_array($result))

{
$id = $val["id"];
$nom = $val["nom"];
$prenom = $val["prenom"];
}

mysql_close();
?>
</div>
<form method="post" action=" modification.php" enctype="multipart/form-data">
<p>
<strong>Nom :</strong><br>
<input type="texte"name="nom" value="<? echo "$nom"; ?>">
<br>
<BR>
<strong>Prénom :</strong><br>
<input type="texte"name="prenom" value="<? echo "$prenom"; ?>">
<br>
<BR>
<p align="center">
<input type="hidden" name="id" value="<? echo "$id"; ?>">
<input type="submit" value="Valider">
<a href="personnel.php">Annuler</A> </span> </p>
</FORM></td>
</tr>
</table>



et la le code qui met à jour la bdd


<?php

include('connection.inc.php');




$query = "UPDATE personnel SET nom='".$_POST['nom']."',prenom='".$_POST['prenom']."', WHERE id='".$_POST['id']."'";
$result = mysql_query($query);

mysql_close();

header('location: personnel.php');

?>

merci d'avance, désoleé avec mes questions de noobs :/

Posté : 15 avr. 2005, 12:36
par flitox
Peut-être la virgule en trop avant le WHERE :
$query = "UPDATE personnel SET nom='".$_POST['nom']."',prenom='".$_POST['prenom']."', WHERE id='".$_POST['id']."'";

Posté : 15 avr. 2005, 12:37
par iclo
Tu ne fais aucune vérification, c'est normale qu'il n'y ai pas de messages d'erreur
test $result pour savoir si t'on update a donné quelques chose. ou mieux, ajouter un or die(mysql_error())
$result = mysql_query($query) or die(mysql_error());