Modifier des enregestrement dans une bd

mit0910 Messages postés 29 Statut Membre -  
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
mes amis j'ai le problème suivant:
l'application que j'ai entrain de faire contienne plusieurs taches :
ajouter un enregistrement,
supprimer un enregistrement,
modifier un enregistrement,
...
j'ai fait la premier avec sucée, mais aux deuxième et troisième j'ai bloque,

moi j'ai déjà fait les scripts de suppression, et de modification qui contienne les requêtes, et ca sa marche bien , le problème c'est comment faire pour aller du script qui afficher les enregistrements au script de requêtes en utilisant une bouton.

autrement comment, quand je clic sur le bouton de modification une interface de modification affiche pour me donner la main pour modifier, et après va au script de requêtes(avec les clés primaire d'enregistrement ) pour réaliser une modification donnée.

même chose pour la suppression mais avec une fenêtre de confirmation de la suppression.

je souhait que le problème est bien explique; et je souhaite aussi trouver une réponse,

svp mes amis je suis bloquer et je suis obliger de rendre l'application avant le 20/08/2009 pour prendre l'attestation de stage aidez moi mes amis svp.

8 réponses

giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
Bonjour,

pour détruire un enregistrement il faut "cibler" le bon
dans un formulaire on demande des infos pour le cibler puis on fait une requêtre
delete from matable where descriptif de la cible


pour modifier un enregistrement c'est la m^me chose, seule la requête change
exemple pour changer de nom
update matable set nom=nouveauNom where descriptif de la cible

0
mit0910
 
merci mon ami,

mais moi je veut utiliser une bouton,

le script de requet j'ai déja fait.

le travail que me rest c'est de faire une liaison entre les script.
0
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
il faut faire un formulaire pour demander les informations concernant l'enregistrement à détruite ou à modifier, dans ce formulaire il y a un bouton de type submit qui va exécuter le script où se trouve la requête.

<form name=detruire action=dertruire.php method=POST>
<input name=id type=text>Numéro à détruire
<input type=submit value=detruire>
</form>


et dans detruire.php

on lance la requête
$query="delete from matable where id='".$_POST['id'].'";
0
mit0910
 
mon ami tous ca j'ai déja fait voici le code que j'ai fait :

la premier script qui contienne l'interface principal c'est une tableau qui affiche les enregestrements et qui contienne des bouton pour modifier , supprimer , et afficher endétail sous format pdf,


echo " <tr>";
echo " <td valign=\"middle\"><form id=\"form3\" name=\"form3\" method=\"post\" action=\"\">";
echo " <label>";
echo " <div align=\"center\">";
echo " <input name=\"checkbox\" type=\"checkbox\" value=\"checkbox\" />";
echo " </div>";
echo " </label>";
echo " </form> </td>";
echo " <td>$ndeman</td>";
echo " <td>$pdeman</td>";
echo " <td>$serv</td>";
echo " <td>$nbpie</td>";
echo " <td>$durest</td>";
echo " <td>$obs</td>";
echo " <td>$nsupp</td>";
echo " <td>$psupp</td>";
echo " <td>$tysupp</td>";
echo " <td>$spesupp</td>";
echo " <td><div align=\"center\"><a href=\"affichagepdf.php?idsupport=$idsupport&ppr=$ppr&idinter=$idinter\">pdf</a></div></td>";
echo " <td><div align=\"center\"><a href=\"interface_pour_modifier.php?idsupport=$idsupport&ppr=$ppr&idinter=$idinter\">M</a></div></td>";


echo " <td><div align=\"center\"><INPUT TYPE=\"Button\" onClick=\"confirmation();\" VALUE=\"Supprimer\"></div></td>";
echo " </tr>";



et voici l'autre script qui contienne les requetes de mysql :


$ndem=$_POST['ndemandeur'];
$pdem=$_POST['pdemandeur'];
//$ppr=$_POST['ppr'];
//$idinterv=$_POST['id_interv'];
$serv=$_POST['service'];
$npie=$_POST['nbrpiece'];
$durest=$_POST['dureestimer'];
$obs=$_POST['observetion'];
$nomsup=$_POST['nsuppte'];
$presup=$_POST['psuppte'];
$typsup=$_POST['typesuppte'];
$spsup=$_POST['spesuppte'];
//$cinup=$_POST['cin'];


if($conn){
$requet1="UPDATE interventions SET DUREE_ESTIME='$durest', NOMBRE_PIECE_CH='$npie', OBSERVATION='$obs', SERVICE='$serv' WHERE ID_INTERVENTION='$idinter' ";

update_query( $requet1 );

$requet2="UPDATE demandeurs SET NOM_DEMANDEUR='$ndem', PRENOM_DEMANDEUR='$pdem' WHERE PPR='$ppr '";

update_query( $requet2 );

$requet3="UPDATE supports_technique SET NOM_SUPP='$nomsup', PRENOM_SUPP='$presup', SPECIALITE='$spsup', TYPE_SUPPO='$typsup' WHERE ID_SUPPORT='$idsupport' ";

update_query( $requet3 );


}


et j'ai fait une autre script intermediare entre les deux script qui me donne la main pour modifier :

<form id="form1" name="form1" method="post" action="traitment_modifier.php">
<h1 align="center" class="Style1">Modifier une Intervention </h1>
<p>
<pre>

<label>Nom de demandeur d'intervention : <input type="text" name="ndemandeur" value=" pass"/></label>

<label>Prénom de demandeur d'intervention : <input type="text" name="pdemandeur" value="pass"/></label>

<label>Service de demandeur d'intervention : <input type="text" name="service" value="pass"/></label>

<label>Nombre de piéce changer : <input type="text" name="nbrpiece" value="pass"/><br /> dans l'intervention </label>

<label>Durée estimé de l'intervention : <input type="text" name="dureestimer" value="pass"/></label>

<label>Observation vu dans l'intervention : <input type="text" name="observetion" value="pass"/></label>

<label>Nom de support technique intervenu : <input type="text" name="nsuppte" value="pass"/></label>

<label>Prénom de support technique intervenu : <input type="text" name="psuppte" value="pass"/></label>

<label>Type de support technique intervenu : <input type="text" name="typesuppte" value="pass"/></label>

<label>Spécialité de support technique intervenu : <input type="text" name="spesuppte" value="pass"/></label>

</pre>
</p>
<label>
<div align="center">
<input type="submit" name="Submit" value="validé" />


alors le probléme c'est comment faire pour envoyer les clés primaire de l'enregistrement a modifié, au script de requetes pour fair ... where id=... à partir du rérnier script

les donnes sont envoyer

je pense que tu ai compris un peut?
0
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
quand dans un formulaire avec une method POST qui contient des input avec une option name,
que dans ce formulaire il y a un bouton submit
on récupère les données dans un tableau appele $_POST

pour le voir faire
echo "<pre>";print_r(^_POSTà;echo "</pre>";
et on récupère les valeurs avec par exemple
$id = $_POST['id'];

c'est ce $id qui donne la cible à mettre dans le where

si bien entendu et ici ce n'est qu'un exemple, c'est $id qui "pilot" la requête
0
mit0910
 
donc ce que je compris :
c'est que vous pouvez recuper les id on utilisant :

$_POST['id']
0
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
oui c'est la base des formulaires et du passage des valeurs

un petit correctif dans un message précédent print_l($_POST);
L
0
mit0910
 
mais voilà qu'est-ce qu'il m'affiche
il n y a pas les $id il y a seulement les champs entre



Array
(
[ndemandeur] => pass
[pdemandeur] => pass
[service] => pass
[nbrpiece] => pass
[dureestimer] => pass
[observetion] => pass
[nsuppte] => pass
[psuppte] => pass
[typesuppte] => pass
[spesuppte] => pass
[Submit] => validé
)
0

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

Posez votre question
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
ne sachant pas ce que vous avez dans votre base, Je vous donne des exemples.
il faut maintenant que vous les adpatiez

Array
(
[ndemandeur] => pass
[pdemandeur] => pass
[service] => pass
[nbrpiece] => pass
[dureestimer] => pass
[observetion] => pass
[nsuppte] => pass
[psuppte] => pass
[typesuppte] => pass
[spesuppte] => pass
[Submit] => validé
)

entre crochet c'est le nom des champs de votre formulaire !
0
mit0910
 
je suis désole au déronjement,

voilà ce trouve au bd:

CREATE TABLE `demandeurs`
(
`PPR` int not null,
`NUM_BUREAU` varchar(255) not null,
`ID_ENTITE` int not null ,
`NOM_DEMANDEUR` varchar(255),
`PRENOM_DEMANDEUR` varchar(255),
primary key (`PPR`)
);

CREATE TABLE `effectuer_par`
(
`ID_SUPPORT` varchar(255) not null ,
`ID_INTERVENTION` int not null ,
`DATE_ET_HEUR_DE` datetime,
`DATE_ET_HEUR_FIN` datetime,
primary key (`ID_SUPPORT`, `ID_INTERVENTION`)
);


CREATE TABLE `interventions`
(
`DUREE_ESTIME` time,
`NOMBRE_PIECE_CH` smallint,
`TYPE_INTERVENTION` varchar(255),
`OBSERVATION` text,
`ID_INTERVENTION` int not null ,
`ID_POSTE` varchar(255) not null ,
`PPR` int not null,
`SERVICE` varchar(255),
primary key (`ID_INTERVENTION`)
);


CREATE TABLE `supports_technique`
(
`NOM_SUPP` varchar(255),
`PRENOM_SUPP` varchar(255),
`SPECIALITE` varchar(255),
`DISPONIBILITE` bool,
`ID_SUPPORT` varchar(255) not null,
`TYPE_SUPPO` varchar(255),
`NOM_SOCIETE` varchar(255),
primary key (`ID_SUPPORT`)
);


moi je veut récuper : ID_SUPPORT, PPR, ID_INTERVENTION, que l'utilisateur ne les changer pas

une a compris

merci 1000 fois mon ami

et désole sur les derongement.
0
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
Vous avez les principes pour le faire.
allez y par étape :
1 - il vous faut sans doute revoir le formulaire,
2- ensuite vous récupérez les données de ce qui est mis dans le formulaire
3- à vous ensuite de faire ce qu'il faut avec vos données.

car vous me dites que vous souhaitez récupérer ID_SUPPORT, PPR, ID_INTERVENTION, mais ces données sont en base de données. pas dans le formulaire.
Je ne sais pas ce que vous voulez faire.
0
mit0910
 
je vous explique bien :

dans le deuxième script j'ai déja récuperé : ID_SUPPORT, PPR, ID_INTERVENTION à l'aide de la méthode GET à partir de la premiére script,mantenat je veut le renvoyer (a l'aide de post ou get au autre méthode)avec les autre données de formulaire au script qui contienne les requetes pour préciser qu'il eregestrement a supprimé.

voici le vrai probléme : comment renvoyer ID_SUPPORT, PPR, ID_INTERVENTION au script des requetes?
0
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
vous pouvez renvoyer les données au script des requêtes avec un get
si les valeurs sont respectivement dans
$id_s
$prr
$id_i

echo "<a href='lescript.php?id_s=".$id_s."&prr=".$prr."&id_i=".$id_i."'>";


alors dans lescript.php
vous récupérez
$id_s = $_GET['id_s'];
$prr = $_GET['prr'];
$id_i = $_GET['id_i'];
0
mit0910
 
oui mais les données ne sera envoyer que lorsque vous clic sur le lien,
mais moi je l'envoyer qand je clic sur le bouton de formulaire
0
giheller Messages postés 1960 Date d'inscription   Statut Membre Dernière intervention   146
 
alors vous transformez ça en formulaire
0