IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Problème de mise à jour de table à partir d'une page php remplie


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    55
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 55
    Points : 43
    Points
    43
    Par défaut Problème de mise à jour de table à partir d'une page php remplie
    Bonjour à tous,

    je suis en train de faire des pages web dans lesquelles une de mes page est une page de modification des données pour un ticket d'incident (type Oceane ...)

    je parviens à récupérer les données rentrées par l'utilisateur, cependant, je n'arrive pas à remplacer dans ma base de données MYSQL les données déjà existantes par les données nouvellement entrées par l'utilisateur...

    Pourriez vous m'aider dans ma requête...

    voici le code de ma page liste_tickets.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Liste des tickets d'incidents</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <style type="text/css">
            h2, th, td
            {
                text-align:center;
            }
            table
            {
                border-collapse:collapse;
                border:2px solid black;
                margin:auto;
            }
            th, td
            {
                border:1px solid black;
            }
            </style>
        </head>
     
        <body>
     
    <h2><a href="ajouter_tickets.php">Ajouter un ticket manuellement</a></h2>
    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("essai"); // nom de la base
    //-----------------------------------------------------
    // Vérification 1 : est-ce qu'on veut poster un ticket ?
    //-----------------------------------------------------
    echo $_POST['id_ticket'];
    if (isset($_POST['no_ticket'])
    	AND isset($_POST['type_ticket'])
    	AND isset($_POST['type_incident'])
    	AND isset($_POST['equipement'])
    	AND isset($_POST['etat'])
    	AND isset($_POST['debut'])
    	AND isset($_POST['fin'])
    )
    {	
    	$No_Ticket = addslashes($_POST['no_ticket']);
        $Type_Ticket = addslashes($_POST['type_ticket']);
        $Type_Incident = addslashes($_POST['type_incident']);
    	$Equipement = addslashes($_POST['equipement']);
    	$Etat = addslashes($_POST['etat']);
    	$Debut = addslashes($_POST['debut']);
    	$Fin = addslashes($_POST['fin']);
    	// On vérifie si c'est une modification
        if ($_POST['id_ticket'] == 0)
        {
            // Ce n'est pas une modification, on crée une nouvelle entrée dans la table
            mysql_query("INSERT INTO oceane VALUES('', '" . $No_Ticket . "', '" . $Type_Ticket . "', '" . $Type_Incident . "', '" . $Equipement . "', '" . $Etat . "', '" . $Debut . "', '" . $Fin . "')");
        }
        else
        {
            // On protège la variable "id_ticket" pour éviter une faille SQL
            $_POST['id_ticket'] = addslashes($_POST['id_ticket']);
            // C'est une modification, on met juste à jour les différents champs
            mysql_query("UPDATE oceane SET type_ticket='" . $Type_Ticket . "', type_incident='" . $Type_Incident . "', equipement='" . $Equipement . "', etat='" . $Etat . "', debut='" . $Debut . "', fin='" . $Fin . "' WHERE id_ticket='" . $_POST['id_ticket'] . "'");
        }
    }
     
    //--------------------------------------------------------
    // Vérification 2 : est-ce qu'on veut supprimer un ticket ?
    //--------------------------------------------------------
    if (isset($_GET['supprimer_ticket'])) // Si on demande de supprimer un ticket
    {
        // Alors on supprime le ticket correspondant
        // On protège la variable "no_ticket" pour éviter une faille SQL
        $_GET['supprimer_ticket'] = addslashes($_GET['supprimer_ticket']);
        mysql_query('DELETE FROM oceane WHERE id_ticket=\'' . $_GET['supprimer_ticket'] . '\'');
    }
    ?>
    <table><tr>
    <th>Modifier</th>
    <th>Supprimer</th>
    <th>N° de ticket</th>
    <th>Type de ticket</th>
    <th>Type incident</th>
    <th>Equipement</th>
    <th>Etat</th>
    <th>Debut</th>
    <th>Fin</th>
    </tr>
    <?php
    $retour = mysql_query('SELECT * FROM  `oceane` ORDER BY no_ticket DESC') or die(mysql_error()); 
    while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les tickets
    {
    ?>
    <tr>
    <td><?php echo '<a href="modifier_tickets.php?rectifier_ticket=' . $donnees['id_ticket'] . '">'; ?>Modifier</a></td>
    <td><?php echo '<a href="liste_tickets.php?supprimer_ticket=' . $donnees['id_ticket'] . '">'; ?>Supprimer</a></td>
    <td><?php echo stripslashes($donnees['no_ticket']); ?></td>
    <td><?php echo stripslashes($donnees['type_ticket']); ?></td>
    <td><?php echo stripslashes($donnees['type_incident']); ?></td>
    <td><?php echo stripslashes($donnees['equipement']); ?></td>
    <td><?php echo stripslashes($donnees['etat']); ?></td>
    <td><?php echo stripslashes($donnees['debut']); ?></td>
    <td><?php echo stripslashes($donnees['fin']); ?></td>
    </tr>
    <?php
    } // Fin de la boucle qui liste les tickets
    ?>
    </table>
    </body>
    </html>
    et celle de ma page modifier_tickets.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
           <title>Rédiger un ticket</title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <style type="text/css">
            h3, form
            {
                text-align:center;
            }
            </style>
        </head>
     
        <body>
    <h3><a href="liste_tickets.php">Retour à la liste des tickets</a></h3>
    <?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("essai");
    if (isset($_GET['rectifier_ticket'])) // Si on demande de modifier un ticket
    {
        // On protège la variable "rectifier_tickets" pour éviter une faille SQL
        $_GET['rectifier_ticket'] = mysql_real_escape_string(htmlspecialchars($_GET['rectifier_ticket']));
        // On récupère les infos du ticket correspondant
        $retour = mysql_query('SELECT * FROM oceane WHERE id_ticket=\'' . $_GET['rectifier_ticket'] . '\'') or die(mysql_error());
        $donnees = mysql_fetch_array($retour);
     
        // On place les paramètres dans des variables simples
    	$No_Ticket = stripslashes($donnees['no_ticket']);
    	$Type_Ticket = stripslashes($donnees['type_ticket']);
        $Type_Incident = stripslashes($donnees['type_incident']);
    	$Equipement = stripslashes($donnees['equipement']);
    	$Etat = stripslashes($donnees['etat']);
    	$Debut = stripslashes($donnees['debut']);
    	$Fin = stripslashes($donnees['fin']);
        $Id_Ticket = $donnees['id_ticket']; // Cette variable va servir pour se souvenir que c'est une modification
    }
    	echo $Id_Ticket;
    ?>
    <form action="liste_tickets.php" method="post">
    <p>Type de ticket : <input type="text" size="30" name="type_ticket" value="<?php echo $Type_Ticket; ?>" /></p>
    <p>Type d'incident : <input type="text" size="30" name="type_incident" value="<?php echo $Type_Incident; ?>" /></p>
    <p>Equipement : <input type="text" size="30" name="equipement" value="<?php echo $Equipement; ?>" /></p>
    <p>Etat : <input type="text" size="30" name="etat" value="<?php echo $Etat; ?>" /></p>
    <p>Debut : <input type="text" size="30" name="debut" value="<?php echo $Debut; ?>" /></p>
    <p>Fin : <input type="text" size="30" name="fin" value="<?php echo $Fin; ?>" /></p>
    <p>	<input type="hidden" name="id_ticket" value="<?php echo $Id_Ticket; ?>" />
        <input type="submit" value="Modifier" />
    </p>
    </form>
    </body>
    </html>
    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 738
    Points
    11 738
    Par défaut
    Je t'invite à voir le message http://www.developpez.net/forums/d77...e/#post4468363 où je présente REPLACE et INSERT... ON DUPLICATE KEY UPDATE...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2008R2] Mise à jour de table à partir d'une autre
    Par Djunweb dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/10/2014, 13h22
  2. Réponses: 6
    Dernier message: 01/04/2008, 18h38
  3. problème de mise à jour des tables (10g)
    Par bad lieutenant dans le forum Administration
    Réponses: 7
    Dernier message: 26/04/2007, 17h21
  4. problème de mise à jour de table
    Par captainamerica75 dans le forum Access
    Réponses: 5
    Dernier message: 04/07/2006, 22h14
  5. Mise à jour de données à partir d'une autre table
    Par rsc dans le forum Langage SQL
    Réponses: 7
    Dernier message: 05/04/2006, 10h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo