Modification données via un formulaire

Fermé
toto118 - 9 avril 2008 à 15:29
AdminTOURS Messages postés 403 Date d'inscription jeudi 5 juillet 2007 Statut Membre Dernière intervention 14 janvier 2011 - 9 avril 2008 à 15:47
Bonjour,
J'ai réalisé un script pour modifier ma base donnée avec une page php et mon probleme est que je n'arrive pas à récupérer le paramètre passé à l'URL. Enfaite la requête de ma deuxieme page ne le trouve pas.
L'erreur que cela m'affiche : Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource a la ligne 28 de ma 2eme page.

Script 1ere page :

<?php
//connexion serveur
...

//connexion à la base de données sur le serveur
...

//requête SQL:
$MaRequete="SELECT * FROM client";

//exécution de la requête:
$Curseurclient=mysql_query($MaRequete);
echo"<select name='client'>";
echo"<option value='choisir un client' Selected> - Choisir un client - </option>";

//affichage des données:
while($tuple=mysql_fetch_array($Curseurclient))
{
if ($_POST['client']==$tuple[num_cli])echo "selected";
{
echo"<option value='$tuple[num_cli]'> $tuple[nom_cli] $nbsp$nbsp $tuple[prenom_cli]</option>";
}
}
echo "</select>";

echo "</br></br>";
echo "<form>";
echo "<a href=\"modificationclient2.php?num_cli=".$tuple[num_cli]."\">";
echo "<input type=Submit value=Modifier class=submit3></a>";
echo "</form>";
echo "<form method=POST action=http://localhost/Projet%20PHP/Accueil/menuclient.php>";
echo "<input type=submit value=Retour class=submit2>";
echo "</form>";

?>

Script 2eme page

<?php
$host='localhost';$user='root';$pw='';
$serveur = mysql_connect ($host,$user,$pw) or die(mysql_error()) ;

//connexion à la base de données sur le serveur
$db='ProjetPHP_Valtaud';
mysql_select_db ($db,$serveur) or die(mysql_error()) ;

//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement modifier
$num = $_GET['num_cli'];

//requête SQL:
$MaRequete = "SELECT * FROM client WHERE num_client = ".$num;
echo "$MaRequete";

//exécution de la requête:
$Curseurclient = mysql_query($MaRequete);

//affichage des données:
if($tuple==mysql_fetch_array($Curseurclient)) // ERREUR A CETTE LIGNE
{
?>

En espérant que quelqu'un puisse m'aider.

1 réponse

AdminTOURS Messages postés 403 Date d'inscription jeudi 5 juillet 2007 Statut Membre Dernière intervention 14 janvier 2011 92
9 avril 2008 à 15:47
Pas sûr de ma réponse, mais bon

Le problème c'est ton "*" dans ton select. C'est beaucoup plus facile à maintenir et à gérer quant tu nomme chaque champ de ta sélection.

Je mettrais ton "$tuple==mysql_fetch_array($Curseurclient)" avant le if et dans tons if, tu rajoute une variable dans laquelle tu précise quel champ tu compare :

if($nouveau==$tuple['nom du champ'])
{

@voir !
0