Auteur |
Message |
oceane751
Forumeur fréquent
Sexe:
Messages: 93
|
Posté le:
Mer 09 Nov 2005 - 22:28 |
|
bonjour!
j'ai un petit problème avec ma page administration de mon site
en effet, les données de ma table "rat" s'affiche tres bien mais lorsque je veux les modifier plus rien ne va!!!
les données affichées sont de type "text"
rat(id_rat, nom_rat, sexe_rat, poids_rat, age_rat, couleur_rat, maladie_rat)
par exple :
1 robby male 700 grs 2 ans albinos rhume
2 rox male 400 grs 1 an marron
.........
18 joe male 300 grs 1 an noir
donc quand je veux modifier, par exple, l'age du rat dont l'id est = 1 et y mettre 2 ans et demi, et bien il m'affiche automatiquement toutes les données (nom_rat, sexe_rat, poids_rat, age_rat, couleur_rat, maladie_rat) du rat ayant l'id = 18
donc je ne comprends pas vraiment pourquoi il m'affiche ça
voici le code :
Code: |
<?
echo "<b><p align = \"center\"><font face = \"comic sans ms\" color = \"green\" size = \"+1\">Liste des rats trouvés dans la base de données:</p></font>";
echo "<br>";
echo "<br>";
echo "<font face = \"comic sans ms\">";
$db = mysql_connect('localhost', 'root', 'pouet');
mysql_select_db('oye',$db);
// suppression
if(isset($_POST['sub_form']))
{
$sql = "DELETE FROM rat WHERE id_rat = ".$_POST['supp'];
$res = mysql_query($sql) or die (mysql_error());
}
// modifier
if(isset($_POST['sub_form2']))
{
$sql2 = "UPDATE rat SET nom_rat = '".$_POST['nom']."', sexe_rat = '".$_POST['sexe']."', poids_rat = '".$_POST['poids']."', age_rat = '".$_POST['age']."', couleur_rat = '".$_POST['couleur']."', maladie_rat = '".$_POST['maladie']."' WHERE id_rat = \"".$_POST['supp']."\"";
$res2 = mysql_query($sql2) or die (mysql_error());
echo "donnée rat modifiée";
}
echo "<br>";
echo "<br>";
$SQL = "SELECT * FROM rat";
$req = mysql_query($SQL) or die('Erreur SQL !<br>'.$SQL.'<br>'.mysql_error());
echo "<form method=\"post\" action=\"{$_SERVER['PHP_SELF']}\">";
while($data = mysql_fetch_assoc($req))
{
echo "<b><table border = 0 cellpadding = 3 cellspacing = 3 bordercolor= green>";
echo "<tr>";
echo "<td>Identifiant : "."<input type ='text' name='id' value=\"".$data['id_rat']."\"></td>"."<br>" ;
echo "<td>Nom : "."<input type ='text' name='nom' value=\"".$data['nom_rat']."\"></td>" ;
echo "<td>Sexe : "."<input type ='text' name='sexe' value=\"".$data['sexe_rat']."\"></td>" ;
echo "<td>Poids : "."<input type ='text' name='poids' value=\"".$data['poids_rat']."\"></td>" ;
//echo "<td>Adresse : "."<input type ='text' name='adr' value=".$data['adr_volontaire']."></td>" ;
echo "<td>Age : "."<input type ='text' name='age' value=\"".$data['age_rat']."\"></td>" ;
echo "<td>Couleur : "."<input type ='text' name='couleur' value=\"".$data['couleur_rat']."\"></td><br>" ;
echo "<td>Maladie : "."<input type ='text' name='maladie' value=\"".$data['maladie_rat']."\"></td>" ;
echo"</tr>";
echo"<tr>";
echo "<td><input type='radio' name='supp' value=\"{$data['id_rat']}\">"."</td>";
echo "</tr></table>";
}
echo "<input type=\"submit\" name=\"sub_form\" value=\"supprimer\" />";
echo "<input type=\"submit\" name=\"sub_form2\" value=\"modifier\" />";
?>
|
j comprends plus rien car ce code marchait tres bien il y a quelque jour et là je en sais vraiment plus quoi faire
merci de votre aide... |
|
|
|
|
N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire. |
telynor
Résident du forum
Sexe:
Messages: 345
Localisation: IDF
|
Posté le:
Mer 09 Nov 2005 - 22:45 |
|
A tous hazard, le contenu de ta base de donnée est intact ? et tous les rats n'ont pas le meme ID ? |
|
|
|
|
oceane751
Forumeur fréquent
Sexe:
Messages: 93
|
Posté le:
Mer 09 Nov 2005 - 23:02 |
|
non non chaque rat a son propre id....
rat (id_rat, nom_rat, sexe_rat, poids_rat, age_rat, couleur_rat, maladie_rat) variables de type varchar
1 robby male 700 grs 2 ans albinos rhume
2 mouska male 400 grs 1 an siamois
........
18 joe male 300 grs 1 an marron
mais ce qui est bizard c'est que lorsque je veux modifier les données de l'id = 1, et bien ça maffiche les données de l'id = 18
en clair (si je veux modifier nimporte quelles données de l'id = 1), j'ai ceci qui s'affiche :
1 joe male 300 grs 1 an marron
2 mouska male 400 grs 1 an siamois
........
18 joe male 300 grs 1 an marron |
|
|
|
|
mastervanou
Accro à Web-IG
Sexe:
Messages: 162
Localisation: 95100
|
Posté le:
Mer 09 Nov 2005 - 23:37 |
|
je sais pas si ca peut t'aider mais déjà <? c'est mal! <?php c'est mieux
ensuite je pense que tu devrai séparer ton code HTML de ton code PHP non seulement pour des raison de lisibilité mais aussi d'execution
tu devrai peut etre aussi songer a utliser les query string par exemple:
page=formulaire pour afficher le formulaire
page=modif pour modifier une entrée
page=supp pour supprimer un entrée
ca regle peut etre pas ton probleme mais c'est en etant plus clair dans son code qu'on repere mieux les erreurs surtout en php |
_________________ Already Platinum---------->Step off bitch!
|
|
|
|
oceane751
Forumeur fréquent
Sexe:
Messages: 93
|
Posté le:
Mer 09 Nov 2005 - 23:42 |
|
oauis j'avoue que se serait mieu mais bon...
pr revenir à mon problème, seul le dernier enregistrement dans ma BDD peut se modifier (id = 1
et quand je modifie nimporte quelles données d'un rat, ça remplace systématiquement par toutes les données de l'id = 18
du coup jai 2 fois le meme nom de rat dans ma BDD
je ne comprends pas pourquoi ça me fais ça, je suis desesperé... |
|
|
|
|
mastervanou
Accro à Web-IG
Sexe:
Messages: 162
Localisation: 95100
|
Posté le:
Jeu 10 Nov 2005 - 00:04 |
|
ha oui j'oubliai quelque chose de plus utile encore fait un echo de ta/tes requete(s) avant d'executer peut etre c'est la requete qui est fausse |
_________________ Already Platinum---------->Step off bitch!
|
|
|
|
Genzo
Modérateur
Sexe:
Messages: 1706
Localisation: Sartrouville (78)
|
Posté le:
Jeu 10 Nov 2005 - 00:09 |
|
mastervanou a écrit: |
ha oui j'oubliai quelque chose de plus utile encore fait un echo de ta/tes requete(s) avant d'executer peut etre c'est la requete qui est fausse |
Bah ca peut etre que la requete d'édition qui déconne !
Code: |
echo "<td><input type='radio' name='supp' value=\"{$data['id_rat']}\">"."</td>"; |
A quoi te sers ce bout de code ???
Sinon, pour voir ce que donne ta requete SQL, tu peux tout simplement demander de l'afficher avec un echo, et de pas l'executer, pour voir ce qui déconne. |
_________________ N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci |
|
|
|
oceane751
Forumeur fréquent
Sexe:
Messages: 93
|
Posté le:
Jeu 10 Nov 2005 - 10:56 |
|
Code: |
echo "<td><input type='radio' name='supp' value=\"{$data['id_rat']}\">"."</td>";
|
c'est quand je clik sur le bouton radio, ca me selectionne les données de l'id qui sont à modifier
dont ma requete s'execute en fonction du bouton radio selectionné
mais mon problème est que peu importe l'id selectionné, ça m'affiche automatiquement les données de la derniere entrée dans ma BDD, soit l'id = 18
exple :
rat (id_rat, nom_rat, sexe_rat, poids_rat, age_rat, couleur_rat, maladie_rat)
1 robby male 700 grs 2 ans albinos rhume
2 mouska male 400 grs 1an siamois
........
18 joe male 300 grs 1 an et demi marron
voilà ce que ça me donne si je veux modifier des données du rat dont l'id = 1:
1 joe male 300 grs 1 an et demi marron
2 mouska male 400 grs 1an siamois
........
18 joe male 300 grs 1 an et demi marron |
|
|
|
|
Genzo
Modérateur
Sexe:
Messages: 1706
Localisation: Sartrouville (78)
|
Posté le:
Jeu 10 Nov 2005 - 13:42 |
|
Est-ce qu'on peut avoir accès à ta page ?
Quel id s'affiche dans ton bouton radio avant d'envoyer ton formulaire (voir la source, option value) ?
Que donne $_POST[supp] lorsque tu as envoyé ton formulaire (faire une echo de la variable) ?
Enfin, pourquoi mettre des {} sur ta variable $data['id_rat'] dans le bouton radio ? |
_________________ N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci |
|
|
|
Inekman
Accro à Web-IG
Sexe:
Messages: 236
Localisation: Nancy
|
Posté le:
Ven 11 Nov 2005 - 22:27 |
|
Absolument d'accord avec tout ce qui a été dit plus haut.
Essaye d'épurer ton code, d'echoter ta requête avant de la balancer à MySQL pour voir ce que tu demandes qu'elle fasse sur ta base de données.
Et comme l'a dit chépuki, peut-on voir quelque part sur le net ta page en train de tourner, pour se faire une idée de la chose. |
_________________ ¤ signature ¤ |
|
|
|
|