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

PHP & Base de données Discussion :

Modification des tables MySQL


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 46
    Points : 37
    Points
    37
    Par défaut Modification des tables MySQL
    Salut tout le monde, jen suis un peu débutant en php, j'ai voulu faire une page de modification des tables MySQL en PHP.
    je cherche comment mettre ces 3 pages en une seule. j'ai pas su comment faire une redirection sur une meme page.
    Merci de me renseigner.

    modifier1.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
    <?php
      $connect = mysql_connect('localhost','root','')
                      or die ("erreur de connexion");
      mysql_select_db('final',$connect) 
                  or die ("erreur de connexion base");
      $resultSelect = mysql_query("SELECT * FROM firewall"); 
    ?>
     
    <html> 
      <head>
        <title>update</title>
      </head>
    <body>
    <p align="center"><strong><u>Modifier un équipement</u></strong></p>
      <table width="350" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee">
          <tr>
            <th>code</th><th>marque</th><th>nb_ports</th>
          </tr>
          <?php
            for ($i=0; $i < mysql_num_rows($resultSelect); ++$i)
            {
              echo '<tr>';
              mysql_data_seek($resultSelect, $i);
              $champs = mysql_fetch_array($resultSelect);
              for ($col=0; $col<4; ++$col)
                echo '<td>'.$champs[$col].'</td>';
              $vars= 'code='.$champs[0];       
              echo '<td><a href="modifier11.php?'.$vars.'">Modifier</a></td></tr>';
            } 
          ?>
        </table>
      </body>
    </html>


    modifier11.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
    <?php 
      header("Pragma:no-cache");
      import_request_variables("G","recu_");
      $connect = mysql_connect('localhost','root','')
                      or die ("erreur de connexion");
      mysql_select_db('final',$connect) 
                  or die ("erreur de connexion base");
      @ $resultSelect = mysql_query("SELECT code, marque, nb_ports 
                                   FROM firewall WHERE code=\"$recu_code\" "); 
      //if (mysql_num_rows($resultSelect)!=1)
        //die("la clef primaire n'existe pas !");
      $champs = mysql_fetch_object($resultSelect);
    ?>
    <html>
      <head>
        <title>formulaire de modification</title>
      </head>
      <body>
        <h2 align=center> formulaire de modification</h2>
        <p>
         Modification des renseignements sur le firewall :<br>
     
     
         <form method="post" action="modifier111.php">
    <table width="360" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee">
          <tr>
            <th>code</th><th>marque</th><th>nb_ports</th>
          </tr>
          <tr>
    	  <td width="300"><?php echo $recu_code; ?><input type="hidden" name="code" 
                           value="<?php echo $recu_code; ?>" ></td>
    	  <td><input type="text" name="marque" 
                           value="<?php echo $champs->marque; ?>" ></td>
    	  <td><input type="text" name="nb_ports"
                           value="<?php echo $champs->nb_ports; ?>" ></td>
    	  </tr>
    	  <tr>
    	    <td height="50" colspan="10" align="center"><div align="center">
            <input type="submit" name="submit" value="Modifier cet equipement">
          </div></td> 
    	  </tr>
    </table>
         </form>
        </p>
      </body>
    </html>

    modifier111.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
        <?php
      import_request_variables("P","recu_");
      $connect = mysql_connect('localhost','root','')
                      or die ("erreur de connexion");
      mysql_select_db('final',$connect) 
                  or die ("erreur de connexion base");
      @ $etat=mysql_query("UPDATE firewall SET code=\"$recu_code\",
                         marque=\"$recu_marque\",nb_ports=\"$recu_nb_ports\"
                         WHERE code=\"$recu_code\" ");
      if (!$etat)
        $messageErreur = mysql_errno().' : '.mysql_error();
      mysql_close();
    ?>
    <html> 
      <head>
        <title>modification</title>
      </head>
      <body>
        <p>
          <?php
            if ($etat)
              echo 'modification reussie !';
            else
              echo 'echec de modification : '.$messageErreur;
          ?>
         </p>
      </body>
    </html>

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 6
    Points : 9
    Points
    9
    Par défaut
    Si j'ai bien compris tu voudrais afficher on formulaire et le résultat du formulaire dans la même page.

    1 . Tu change l'action de ton fichier modifier11.php pour qu'il s'appelle lui-même.
    2. Avant ton formulaire tu place le contenu du fichier modifier111.php et tu vérifies avec un if(isset(...)) l'existance des variables envoyées par le formulaire. Si les variables existent le script s'exécute et mets à jour ta base de données.
    3. Suite du fichier avec affichage du formulaire.

    Ici je ne te donnes que le principe. Maintenant pour le code à toi de voir.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 46
    Points : 37
    Points
    37
    Par défaut
    Merci pour la réponse.
    j'ai réussi à mettre les deux premiers fichiers ensemble à suite à votre indication

    modifier1.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
     <?php
      $connect = mysql_connect('localhost','root','')
                      or die ("erreur de connexion");
      mysql_select_db('final',$connect) 
                  or die ("erreur de connexion base");
      $result = mysql_query("SELECT * FROM firewall"); 
    ?>
     
    <html> 
      <head>
        <title>update</title>
      </head>
    <body>
    <p align="center"><strong><u>Modifier un équipement</u></strong></p>
      <table width="350" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee">
          <tr>
            <th>code</th><th>marque</th><th>nb_ports</th>
          </tr>
          <?php
            for ($i=0; $i < mysql_num_rows($result); ++$i)
            {
              echo '<tr>';
              mysql_data_seek($result, $i);
              $champs = mysql_fetch_array($result);
              for ($col=0; $col<4; ++$col)
                echo '<td>'.$champs[$col].'</td>';
              $vars= 'code='.$champs[0];       
              echo '<td><a href="modifier1.php?'.$vars.'">Modifier</a></td></tr>';
            } 
          ?>
        </table>
     
     
    <?php 
      import_request_variables("G","recu_");
      $connect = mysql_connect('localhost','root','')
                      or die ("erreur de connexion");
      mysql_select_db('final',$connect) 
                  or die ("erreur de connexion base");
    $resultSelect = mysql_query("SELECT code, marque, nb_ports 
                                   FROM firewall WHERE code=\"$recu_code\" "); 
    $champs = mysql_fetch_object($resultSelect);
    ?>
     
        <p>
         Modification des renseignements sur le firewall :<br>
     
     
         <form method="post" action="modifier111.php">
    <table width="360" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee">
          <tr>
            <th>code</th><th>marque</th><th>nb_ports</th>
          </tr>
          <tr>
    	  <td width="300"><?php echo $recu_code; ?><input type="hidden" name="code" 
                           value="<?php echo $recu_code; ?>" ></td>
    	  <td><input type="text" name="marque" 
                           value="<?php echo $champs->marque; ?>" ></td>
    	  <td><input type="text" name="nb_ports"
                           value="<?php echo $champs->nb_ports; ?>" ></td>
    	  </tr>
    	  <tr>
    	    <td height="50" colspan="10" align="center"><div align="center">
            <input type="submit" name="submit" value="Modifier cet equipement">
          </div></td> 
    	  </tr>
    </table>
         </form>
        </p>
      </body>
    </html>
    Mais je n'ai pas compris comment utiliser "if(isset(...))"... j'ai des exemples en "if(isset(...))" mais je n'arrive pas à comprendre comment editer mon fichier??


    autre problème , c'est que lorsque j'ai mis ce code du fichier modifier111.php dans modifier1.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        <?php
      import_request_variables("P","recu_");
      $connect = mysql_connect('localhost','root','')
                      or die ("erreur de connexion");
      mysql_select_db('final',$connect) 
                  or die ("erreur de connexion base");
      @ $etat=mysql_query("UPDATE firewall SET code=\"$recu_code\",
                         marque=\"$recu_marque\",nb_ports=\"$recu_nb_ports\"
                         WHERE code=\"$recu_code\" ");
      if (!$etat)
        $messageErreur = mysql_errno().' : '.mysql_error();
      mysql_close();
    ?>
    et lorsque je clique sur modifer, si je ne valide pas cette modification avec le boutton "Modifier cet equipement" j'obtiens des champs vide. je croix que c'est du à ces deux lignes qui se trouve dans une meme page? non??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      import_request_variables("G","recu_");
    import_request_variables("P","recu_");

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2007
    Messages : 6
    Points : 9
    Points
    9
    Par défaut
    le if(isset(...)) permets de tester si une variable a été définie ou non.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(isset($_POST['nom_de_la_variable_dans_la_form']))
     {
      $nom_de_ma_variable=$_POST['nom_de_la_variable_dans_la_form'];
     }
    else
     {
      print("Comme je n'ai pas de données je ne fais rien");
     }
    Pour les import_request_variables je ne saurais pas te renseigner je n'ai jamais utilisé cette fonction...

Discussions similaires

  1. Formulaire et modification des tables
    Par qltmi dans le forum IHM
    Réponses: 2
    Dernier message: 25/10/2008, 23h16
  2. Réponses: 2
    Dernier message: 18/07/2008, 16h44
  3. [MySQL] Produire XML des structures des tables MySQL
    Par bigltnt dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 16/07/2008, 19h02
  4. Alimenter des tables MySQL
    Par youdev dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2006, 15h09
  5. Lier des tables MySQL / numérotation auto
    Par alfigor dans le forum Requêtes
    Réponses: 5
    Dernier message: 09/05/2006, 09h34

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