Modifier quelque champs d'une ligne d'un table
ia2c
Messages postés
29
Date d'inscription
Statut
Membre
Dernière intervention
-
ia2c Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
ia2c Messages postés 29 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je vous explique un peu qu'est ce je suis entrain de faire.. l'utilisateur envoie une réclamation et un technicien doit la traiter, la page de traitement contient les informations de l'utilisateur et les informations de la réclamation. j'ai un table utilisateurs contient ces champs: id, matricule, password, nom, prenom, num_poste, fonction, district, direction et departement.
et un table enregistre les réclamations envoyées nommé recenvoye contient ces champs:
id, matricule, titre, type, moyen, ennonce, reponse, priorite, etat, date..
voila mon code de la page trait_rec.php
<?php
//connection au serveur:
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "helpdesk" ) ;
//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement modifier
$id = $_GET["id"] ;
//requête SQL:
$sql = "SELECT *
FROM recenvoye as r,utilisateurs as u
WHERE r.matricule=u.matricule
and r.id=".$id;
//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ;
//affichage des données:
if( $result = mysql_fetch_object( $requete ))
{
?>
<table border="1" style="width:366px" bordercolor="#A9A9A9">
<tr>
<td WIDTH=366 HEIGHT=28 <p ALIGN=center style="color: #0070FF"> Information De L'expéditeur </p></td>
<tr>
</table>
<table border="1" style="width:366px" bordercolor="#A9A9A9">
<tr>
<td WIDTH=366 HEIGHT=28>Matricule: <b> <?php echo($result->matricule) ;?></b></td>
<td WIDTH=366 HEIGHT=28>Fonction:<b> <?php echo($result->fonction) ;?></b> </td>
</tr>
<tr>
<td WIDTH=366 HEIGHT=28>Nom:<b> <?php echo($result->nom) ;?></b></td>
<td WIDTH=366 HEIGHT=28>District: <b><?php echo($result->district) ;?></b></td>
</tr>
<tr>
<td WIDTH=366 HEIGHT=28>Prénom: <b><?php echo($result->prenom) ;?></b></td>
<td WIDTH=366 HEIGHT=28>Direction: <b><?php echo($result->direction) ;?></b></td>
<tr>
<td WIDTH=366 HEIGHT=28>Numéro Poste:<b> <?php echo($result->num_poste) ;?></b></td>
<td WIDTH=366 HEIGHT=28>Département:<b> <?php echo($result->departement) ;?></b></td>
</tr>
</table>
<table border="1" style="width:366px" bordercolor="#A9A9A9">
<tr>
<td WIDTH=366 HEIGHT=28 <p ALIGN=center style="color: #0070FF"> Information De La Réclamation </p></td>
<tr>
<td WIDTH=366 HEIGHT=28>Numéro:<b> <?php echo($id) ;?></b></td>
</tr>
<tr>
<td WIDTH=366 HEIGHT=28>Type:<b> <?php echo($result->type) ;?></b></td>
</tr>
<tr>
<td WIDTH=366 HEIGHT=28>Moyen:<b> <?php echo($result->moyen) ;?></b></td>
</tr>
<tr>
<td WIDTH=366 HEIGHT=28>Date De Création:<b> <?php echo($result->date) ;?></b></td>
</tr>
</table>
Titre:
<table border="1" style="width:690px" bordercolor="#A9A9A9">
<tr>
<td WIDTH=700 HEIGHT=28 <p ALIGN=center style="color: #0070FF"> <?php echo($result->titre) ;?> </p></td>
<tr>
</table>
Enoncé:
<table border="1" style="width:690px" bordercolor="#A9A9A9">
<tr>
<td WIDTH=700 HEIGHT=260> <?php echo($result->ennonce) ;?> </td>
<tr>
</table>
<table border="1" align=right style="width:366px" bordercolor="#A9A9A9" >
<tr>
<td WIDTH=366 HEIGHT=28 <p ALIGN=center style="color: #0070FF">Etats</td>
<td WIDTH=366 HEIGHT=28>
<form action="traiter_rec.php" class="col-md-12 center-margin" method="POST">
<input name="etat" type="text" class="champ8" value=<?php echo($result->etat) ;?>>
</td>
</tr>
<tr>
<td WIDTH=366 HEIGHT=28 <p ALIGN=center style="color: #0070FF">Priorité</td>
<td WIDTH=366 HEIGHT=28>
<input name="priorite" type="text" class="champ8" value=<?php echo($result->priorite) ;?>>
</td>
</tr>
</table>
Réponse:
<textarea name="reponse"cols="20" rows="6" value="" ><?php echo($result->reponse) ;?> </textarea>
<button type="submit" title="Valider!" value="valider">
<span class="button-content">
Valider
</span>
</button>
<button type="reset" title="Annuler!" value="annuler">
<span class="button-content">
Annuler
</span>
</button>
</form>
</div>
<?php
}//fin if
?>
le jointure marche bien est les informations des deux tables s'affichent sauf les 3 champs de reponse,priorite et etat sont vide à remplir par le technicien et mettre à jour la ligne de la table. pour cela j'ai utilisé le formulaire
voila le code de la page traiter_rec.php
<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "helpdesk" ) ;
//récupération des valeurs des champs:
$reponse = $_POST["reponse"] ;
$priorite = $_POST["priorite"] ;
$etat = $_POST["etat"] ;
//création de la requête SQL:
$sql = ("UPDATE recenvoye SET reponse = '$reponse', priorite = '$priorite', etat = '$etat' WHERE id = '$id'");
//exécution de la requête SQL:
$requetee = mysql_query($sql, $cnx) or die( mysql_error() ) ;
//affichage des résultats, pour savoir si la modification a marchée:
if($requetee)
{
header('Location:trait_rec.php');
}
else
{
echo("La modification à échouée" . mysql_error()) ;
}
?>
voila ce que j'ai fais.. aidez moi svp de trouver une solution..
merci d'avance et j'espère que mon code soit lisible..
n'hésitez pas de lire ce code pour m'aider svp
je vous explique un peu qu'est ce je suis entrain de faire.. l'utilisateur envoie une réclamation et un technicien doit la traiter, la page de traitement contient les informations de l'utilisateur et les informations de la réclamation. j'ai un table utilisateurs contient ces champs: id, matricule, password, nom, prenom, num_poste, fonction, district, direction et departement.
et un table enregistre les réclamations envoyées nommé recenvoye contient ces champs:
id, matricule, titre, type, moyen, ennonce, reponse, priorite, etat, date..
voila mon code de la page trait_rec.php
<?php
//connection au serveur:
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "helpdesk" ) ;
//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement modifier
$id = $_GET["id"] ;
//requête SQL:
$sql = "SELECT *
FROM recenvoye as r,utilisateurs as u
WHERE r.matricule=u.matricule
and r.id=".$id;
//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ;
//affichage des données:
if( $result = mysql_fetch_object( $requete ))
{
?>
<table border="1" style="width:366px" bordercolor="#A9A9A9">
<tr>
<td WIDTH=366 HEIGHT=28 <p ALIGN=center style="color: #0070FF"> Information De L'expéditeur </p></td>
<tr>
</table>
<table border="1" style="width:366px" bordercolor="#A9A9A9">
<tr>
<td WIDTH=366 HEIGHT=28>Matricule: <b> <?php echo($result->matricule) ;?></b></td>
<td WIDTH=366 HEIGHT=28>Fonction:<b> <?php echo($result->fonction) ;?></b> </td>
</tr>
<tr>
<td WIDTH=366 HEIGHT=28>Nom:<b> <?php echo($result->nom) ;?></b></td>
<td WIDTH=366 HEIGHT=28>District: <b><?php echo($result->district) ;?></b></td>
</tr>
<tr>
<td WIDTH=366 HEIGHT=28>Prénom: <b><?php echo($result->prenom) ;?></b></td>
<td WIDTH=366 HEIGHT=28>Direction: <b><?php echo($result->direction) ;?></b></td>
<tr>
<td WIDTH=366 HEIGHT=28>Numéro Poste:<b> <?php echo($result->num_poste) ;?></b></td>
<td WIDTH=366 HEIGHT=28>Département:<b> <?php echo($result->departement) ;?></b></td>
</tr>
</table>
<table border="1" style="width:366px" bordercolor="#A9A9A9">
<tr>
<td WIDTH=366 HEIGHT=28 <p ALIGN=center style="color: #0070FF"> Information De La Réclamation </p></td>
<tr>
<td WIDTH=366 HEIGHT=28>Numéro:<b> <?php echo($id) ;?></b></td>
</tr>
<tr>
<td WIDTH=366 HEIGHT=28>Type:<b> <?php echo($result->type) ;?></b></td>
</tr>
<tr>
<td WIDTH=366 HEIGHT=28>Moyen:<b> <?php echo($result->moyen) ;?></b></td>
</tr>
<tr>
<td WIDTH=366 HEIGHT=28>Date De Création:<b> <?php echo($result->date) ;?></b></td>
</tr>
</table>
Titre:
<table border="1" style="width:690px" bordercolor="#A9A9A9">
<tr>
<td WIDTH=700 HEIGHT=28 <p ALIGN=center style="color: #0070FF"> <?php echo($result->titre) ;?> </p></td>
<tr>
</table>
Enoncé:
<table border="1" style="width:690px" bordercolor="#A9A9A9">
<tr>
<td WIDTH=700 HEIGHT=260> <?php echo($result->ennonce) ;?> </td>
<tr>
</table>
<table border="1" align=right style="width:366px" bordercolor="#A9A9A9" >
<tr>
<td WIDTH=366 HEIGHT=28 <p ALIGN=center style="color: #0070FF">Etats</td>
<td WIDTH=366 HEIGHT=28>
<form action="traiter_rec.php" class="col-md-12 center-margin" method="POST">
<input name="etat" type="text" class="champ8" value=<?php echo($result->etat) ;?>>
</td>
</tr>
<tr>
<td WIDTH=366 HEIGHT=28 <p ALIGN=center style="color: #0070FF">Priorité</td>
<td WIDTH=366 HEIGHT=28>
<input name="priorite" type="text" class="champ8" value=<?php echo($result->priorite) ;?>>
</td>
</tr>
</table>
Réponse:
<textarea name="reponse"cols="20" rows="6" value="" ><?php echo($result->reponse) ;?> </textarea>
<button type="submit" title="Valider!" value="valider">
<span class="button-content">
Valider
</span>
</button>
<button type="reset" title="Annuler!" value="annuler">
<span class="button-content">
Annuler
</span>
</button>
</form>
</div>
<?php
}//fin if
?>
le jointure marche bien est les informations des deux tables s'affichent sauf les 3 champs de reponse,priorite et etat sont vide à remplir par le technicien et mettre à jour la ligne de la table. pour cela j'ai utilisé le formulaire
voila le code de la page traiter_rec.php
<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "helpdesk" ) ;
//récupération des valeurs des champs:
$reponse = $_POST["reponse"] ;
$priorite = $_POST["priorite"] ;
$etat = $_POST["etat"] ;
//création de la requête SQL:
$sql = ("UPDATE recenvoye SET reponse = '$reponse', priorite = '$priorite', etat = '$etat' WHERE id = '$id'");
//exécution de la requête SQL:
$requetee = mysql_query($sql, $cnx) or die( mysql_error() ) ;
//affichage des résultats, pour savoir si la modification a marchée:
if($requetee)
{
header('Location:trait_rec.php');
}
else
{
echo("La modification à échouée" . mysql_error()) ;
}
?>
voila ce que j'ai fais.. aidez moi svp de trouver une solution..
merci d'avance et j'espère que mon code soit lisible..
n'hésitez pas de lire ce code pour m'aider svp
A voir également:
- Modifier quelque champs d'une ligne d'un table
- Modifier dns - Guide
- Table ascii - Guide
- Table des matières word - Guide
- Modifier liste déroulante excel - Guide
- Modifier une story facebook - Guide
1 réponse
Bonjour ia2c.
Je ne suis pas certaine mais je pense avoir trouvé l'erreur.
Dans votre requête SELECT vous nommé les tables en r et u
SELECT *
FROM recenvoye as r,utilisateurs as u
WHERE r.matricule=u.matricule
and r.id=".$id;
Dans votre requête sql UPDATE il faut dans ce cas les nommé de la même manière
donc
"UPDATE r SET reponse = '$reponse', priorite = '$priorite', etat = '$etat' WHERE id = '$id'")
et non pas
"UPDATE recenvoye SET reponse = '$reponse', priorite = '$priorite', etat = '$etat' WHERE id = '$id'")
J'ai vu aussi qu'il manque plusieurs balises </tr> et </td>
Il faut faire attention sinon çà peut poser des problèmes d'affichage
Je ne suis pas certaine mais je pense avoir trouvé l'erreur.
Dans votre requête SELECT vous nommé les tables en r et u
SELECT *
FROM recenvoye as r,utilisateurs as u
WHERE r.matricule=u.matricule
and r.id=".$id;
Dans votre requête sql UPDATE il faut dans ce cas les nommé de la même manière
donc
"UPDATE r SET reponse = '$reponse', priorite = '$priorite', etat = '$etat' WHERE id = '$id'")
et non pas
"UPDATE recenvoye SET reponse = '$reponse', priorite = '$priorite', etat = '$etat' WHERE id = '$id'")
J'ai vu aussi qu'il manque plusieurs balises </tr> et </td>
Il faut faire attention sinon çà peut poser des problèmes d'affichage
erreur s'affiche "Table 'helpdesk.r' doesn't exist" .. :(
et à propos les </tr> et les </td> j'ai pas des problèmes d'affichage mais lorsque j'ai copié le code
j'ai éliminé quelques <div> peut être je l'ai effacé avec..
merci une autre fois :)