Recuperer une valeur d un enregistrement

Malamute7 Messages postés 25 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 25 décembre 2010 - 19 oct. 2009 à 09:22
Malamute7 Messages postés 25 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 25 décembre 2010 - 21 oct. 2009 à 18:47
<?php
// connection au serveur
$cnx = mysql_connect ("localhost","root","");
// connection a la base
mysql_select_db("mairie",$cnx);
// requete sql
$reqsql="select * from photo";
// execution de la requete curseur est un fichier sequentiel ( en memoire central qu on poura balayer)
$reponse=mysql_query($reqsql,$cnx);
// balayage du curseur
print("\");
while($donnees = mysql_fetch_assoc ($reponse) )
{
print(\"----
\");
print(\"");
print("<form method=\"post\" action=\"adminfoto.php\">");
print("");?>
<label for="modifier">modifier</label>

<label for="suprimer">suprimer</label>

<?php
print("

");
print("</form>");
print(", \");
echo $donnees['Numero_PH'];
print(\"");
echo $donnees['Libelle_PH'];
print(", \");
echo $donnees['NomPage_PH'];
print(\"");
echo $donnees['Description_PH'];
print(", \");
print(\"\");
}
print("
");
//fermeture
mysql_close( $cnx);
?>

voici donc l affichage de tous mes enregistrements avec pour chacun d eux un bouton modifier ou suprimer.

<?php
$cnx = mysql_connect ("localhost","root","");
mysql_select_db("mairie",$cnx);
$reqsql="select * from photo";
$reponse=mysql_query($reqsql,$cnx);
if ( choix == "modifier" )
{
?>
<form method="post" action="adminfoto.php">

libelle :

nom page :

description :





</form>
<?php
mysql_query(" UPDATE photo set Libelle_PH = $_post('libelle'), NomPage_PH= $_post('nompage'), Description_PH = $_post('description')");
}
else
{
( ici suprimer l enregistrement )
}
mysql_close( $cnx);
?>

voici donc la ou il y a des lacunes le code a resoudre
comment savoir sur quel enregistrement concerne la modification ou suppression ? comment récupérer ces valeurs et il y a t'il d autre erreur dans ma syntaxe ? merci d avance

6 réponses

keunel Messages postés 5 Date d'inscription mercredi 21 octobre 2009 Statut Membre Dernière intervention 25 octobre 2009
19 oct. 2009 à 16:26
Bonjour, je me permets de upper ce topic ayant exactement le même soucis. :/
As-tu trouvé la solution depuis ce matin ?
J'ai essayé avec des $_SESSION mais ceux-ci ne prennent que le dernier enregistrement de la requête et non pas celui en face du bouton "Modifier".

Merci d'avance pour votre aide.
0
Malamute7 Messages postés 25 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 25 décembre 2010
19 oct. 2009 à 18:48
non je suis dans le floux, pour le moment je redige ma synthese, j'y met que le mode administateur sera a etre peaufiner ... il y a des solutions oui, j ai un amis qui as creer des choses ^^ mais pour moi se sont des choses ... Il a en realité pas creer de formulaire suprimer et modifier mais deux lien pour chaque enregistrement, et chaque lien a une valeur qui augmente suivan le n° de l enregistrement donc cela lui permet d avoir le numero d enregistrement qu il recuperer dans l'url mais apres il as fai quelque chose d incomprehensif, il a pomper sur le net, et je prefere, etre honete que d ecrire des choses sur lequels je ne serai expliquer ...
globalement je voi comment faire, mais je ne suis pas en mesure de le coder en php ...
en esperent qu'une reponse nous eclairera ...
0
keunel Messages postés 5 Date d'inscription mercredi 21 octobre 2009 Statut Membre Dernière intervention 25 octobre 2009
20 oct. 2009 à 09:09
Bonjour,

Un début de piste sur ce lien :
http://www.developpez.net/forums/d766044/php/php-sgbd/php-sql-server/supprimer-ligne-table-php/#post4728360

Malheureusement, je n'ai pas tout à fait compris la solution.
Peut-être devrais-tu poster ton message dans la rubrique PHP pour espérer plus de réponses ?
Je te tiens au courant de mes avancées.
0
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
21 oct. 2009 à 17:50
Normalement dans ta table de données tu as un index pour chaque entrée. Ce que tu peux faire c'est rajouter un input de type hidden avec la valeur du id.

print("<form method="post" action="adminfoto.php">");
print("");?>
<label for="modifier">modifier</label>

<label for="suprimer">suprimer</label>

" />
<?php
print("

");
print("</form>");

Ainsi quand tu récupères ta requête tu as la valeur du id ajouté et tu peux savoir sur quel enregistrement la requête a été fait.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
keunel Messages postés 5 Date d'inscription mercredi 21 octobre 2009 Statut Membre Dernière intervention 25 octobre 2009
21 oct. 2009 à 18:06
Merci pour ton aide.

Cela dit, j'ai déjà un champ de type ID que je récupère lors de l'envoi du formulaire, mais lors du traitement des informations envoyées sur mon autre page, cela prend toujours en compte le dernier champ de ma requête...

Pour info j'ai fait l'analogie avec le problème de Malamute7 mais j'essaie de pouvoir modifier les données et pas seulement les supprimer.
Donc lorsque je clique sur le bouton modifier, cela m'envoie sur une autre page comportant plusieurs textbox que j'aimerai pré-remplir avec les valeurs du champ en face duquel l'utilisateur a cliqué sur le bouton (vous suivez ?). Or, ce sont toujours les valeurs du dernier champ retourné par la requête qui s'y inscrivent. D'où mon léger problème. ^^
0
Malamute7 Messages postés 25 Date d'inscription mercredi 25 juin 2008 Statut Membre Dernière intervention 25 décembre 2010
21 oct. 2009 à 18:47
je comprend pas vraiment, comment on recupere le id ?
et sa se met ou ? il fau que je rajoute quelque chose dans ma base de donnée ?
comment le id s incrémente t'il ? et pourquoi value php echo $données['id'] ?
je suis censer avoir un id dans ma base de donnée ? je comprend en gros ce que vous voulez dire mais me sortir des choses comme sa, c est compréhensible si je comprend quel terme fait réelement quoi ...
0
Rejoignez-nous