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 :

Base de donnée fonction UPDATE


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 69
    Par défaut Base de donnée fonction UPDATE
    Bonjour, je n'arrive pas à trouver la solution pouvez vous me mettre sur la voie !

    j'affiche ma base
    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
     
    <?php
    $query_selection = "SELECT * FROM abonnement";
    $selection = mysql_query($query_selection, $base) or die(mysql_error());
    $row_selection = mysql_fetch_assoc($selection);
    $totalRows_selection = mysql_num_rows($selection);
    ?>
     
      <?php do { ?>
    <table class='contenu_abonnement'>
          <tr>
            <td class="contenu_type">
              <input type="text" class='abonnement_type' name=""  value="<?php echo $row_selection['TypeAbonnement']; ?>" maxlength="50" />
    </td>
            <td class="contenu_prix">
              <input type="text" class='abonnement_prix' name=""  value="<?php echo $row_selection['Individuel']; ?>" maxlength="8" />
    </td>
            <td class="contenu_prix">
              <input type="text" class='abonnement_prix' name=""  value="<?php echo $row_selection['Couple']; ?>" maxlength="8" />
    </td>
          </tr>
        </table>
     
        <?php } while ($row_selection = mysql_fetch_assoc($selection)); ?>
    <div id='envoyer'><input type="submit" value="Modifier" class='modifier' name="modifier"></div>
    jusqu'a la c bon mais j'aimerai maintenant modifier les champs et vraiement je ne vois pas comment faire

    Merci pour votre aide

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Hmm, moi je ferai plutot comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    remplace
    <div id='envoyer'><input type="submit" value="Modifier" class='modifier' name="modifier"></div>
    par
    <div id='envoyer'><a href="modifier.php?id_selection=<?php echo $row_selection['id']; ?>"></div>
    Ensuite, dans la page modifier php (qui te sert à faire les modifs sur l'élément choisi), tu récupères l'id de la séléction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $id_selection=$_GET['id_selection'];
    $requete="select * from abonnement where id_selection='".$id_selection."'";
    $exe=mysql_query($requete);
    $selection_en_cours=mysql_fetch_assoc($exe);
    puis tu affiches un formulaire avec les infos de la sélection choisie. Quand tu valides ce formulaire , tu passe l'id_selection dans un champ hidden, et tu effectues tes update de manière tout à fait classique.

    Dans l'exemple que 'jai pris, id_selection correspond à ton champ id de ta table abonnement.

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Sinon si t'es calé, tu peux faire un formulaire ajax avec insertion, modification, suppréssion sans chargement / changement de pages mais c'est beaucoup plus costaud comme traitement si tu n'y es pas habitué.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 69
    Par défaut
    Bonsoir, finalement j'ai opté sur une solution !

    Page Abonnement.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
     
    <?php
    /*___________________AFFICHAGE_DES_ENREGISTREMENTS_____________________ */
     
    $result = MYSQL_QUERY("select * from abonnement");
    $number = MYSQL_NUM_ROWS($result);
    $i=0;
    echo "<table class='entete_abonnement'><tr>
        <td colspan='3' class='titre_abonnement'>Abonnement à l'année</td>
      </tr><tr>
        <td class='entete_type'>&nbsp;</td>
        <td class='entete_prix'>Individuel</td>
        <td class='entete_prix'>Couple</td>
        </tr>";
    while ($i<$number) {
    	$id=mysql_result($result,$i,"id");
    	$TypeAbonnement=mysql_result($result,$i,"TypeAbonnement");  if ($TypeAbonnement=="") {$TypeAbonnement="-";}
    	$Individuel=mysql_result($result,$i,"Individuel"); if ($Individuel=="") {$Individuel="-";}
    	$Couple=mysql_result($result,$i,"Couple");if ($Couple=="") {$Couple="-";}
     
    	echo "<tr>
            <td class='contenu_type'>$TypeAbonnement</td>
    		<td class='contenu_prix'>$Individuel</td>
            <td class='contenu_prix'>$Couple</td><td><a href='modif.php?id=$id'>Modifier</a></td></tr>";
    	$i++;
    	} 	
    echo "</table>";
     
    MYSQL_CLOSE();
    ?>
    et modif.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
     
    <?php
    /* _________________RECUP_DES_DONNEES____________________ */
     
      while (list($var, $value) = each($HTTP_GET_VARS))
        {
          $tab_asso["$var"] = $value;
        }
     
    switch ($tab_asso[modifier]){
     
    case 2;
    $requete=mysql_query("update abonnement set TypeAbonnement='$TypeAbonnement',Individuel='$Individuel',Couple='$Couple' where id=$id",$connecte);
    echo "<h1 align=center>Mise à jour effectuée<br><br><a href='abonnement.php'>Retour</a>";
    break;
     
    default;
    $result=mysql_query("select * from abonnement where id=$id",$connecte);
    $number = mysql_num_rows($result);
     
    	$TypeAbonnement=mysql_result($result,$i,"TypeAbonnement");
    	$Individuel=mysql_result($result,$i,"Individuel");
    	$Couple=mysql_result($result,$i,"Couple");
     
     
    echo "<blockquote><table border=0><form method='get' action='modif.php'><input type='hidden' name=modifier value=2><input type='hidden' name=id value='$id'>
    	<td align=right>Type</td><td><input type='text' name=TypeAbonnement value='$TypeAbonnement' size=30 maxlenght=50></td>
        <td align=right>Individuel</td><td><input type='text' name=Individuel value='$Individuel' size=30 maxlenght=50></td><tr>
    	<td align=right>Couple</td><td><input type='text' name=Couple value='$Couple' size=30 maxlenght=30></td><tr>
          </table></blockquote>";
    echo "<table align=center><tr><td><input type='submit' value='Modifier'></td></form><td><form method=get action='abonnement.php'><input type=submit value='Annuler'></td></form></table>";
    break; }
     
    $result=mysql_close($connecte);
    ?>
    Ca fonctionne mais c'est moyennement pratique

    Il ne serait pas possible d'avoir tous les champs sur la meme page et un seul bouton modifier ?
    Plutôt que de les faire 1 par 1

    Merci pour vos réponses

Discussions similaires

  1. OleDb - Base de données Access - Update
    Par kitcarflo dans le forum VB.NET
    Réponses: 8
    Dernier message: 14/05/2012, 17h02
  2. Créer une base de données + fonction SetFocus
    Par aboishak dans le forum C++Builder
    Réponses: 4
    Dernier message: 17/08/2008, 14h30
  3. Réponses: 5
    Dernier message: 17/09/2007, 17h01
  4. [JDBC] Retour de fonction de base de données ?
    Par celine31 dans le forum JDBC
    Réponses: 4
    Dernier message: 09/01/2006, 10h29
  5. Réponses: 3
    Dernier message: 22/12/2005, 11h20

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