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 :

[Conception] Pb update avec formulaires php [Débutant(e)]


Sujet :

PHP & Base de données

  1. #21
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Par défaut
    oui

    le bouton modifier à tj la même valeur

    aie aie aie


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    print"<input type='checkbox' value='$Id_page' name='Id_page' size='3' maxlength='3'>";
    ça peut le faire comme ça ou pas

  2. #22
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Et l'id, comment tu fais pour l'associer à la modif boo64 ?

    Pourtant, celà me semble rationnel.

    Il y a X enregistrements.
    Pour modifier un id à l'origine inconnu, on le récupére dans un formulaire, de façon indépendante.
    Soit un formulaire par id.

    Enfin bon, je l'ai déjà réalisé cependant.

  3. #23
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<input type="checkbox" value='.$Id_page.' name="Id_page[]" size="3" maxlength="3">';
    comme ca plutot ensuite tu recupere
    le tablo
    é tu recuper tou lé id coché


    edit:un echo c mieu

  4. #24
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Par défaut

    Le Id_page à forcement une valeur puisque qu'il s'auto-incremente non !!
    Et puis je peux supprimer le Id_page de mon choix ss pb

  5. #25
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    la valeur id page de ta abse aoui tjr une valeur differente mais vu que tout t champ input text on le meme nom quand tu fait modifier seul la derniere valeur est prise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while($val=mysql_fetch_array($result))
    {
    echo '<input type="checkbox" value='.$val['Id_page'].' name="Id_page[]" size="3" maxlength="3">';
    echo '<input type="text" value='.$val['Titre'].' name="Titre[]" size="40">';
    ....
    fo que tu face kelke chose comme ca pour le formulaire

  6. #26
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Par défaut
    ok je vé essayer
    merci de votre patience

  7. #27
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Par défaut
    admin_site_free.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
     
    ......
    $query="SELECT * FROM pages order by Id_page";
    $result=mysql_query($query);
     
    while($val=mysql_fetch_array($result))
    { 
     
    ?>
    <tr>
    <td width="5">
    <input type="checkbox" value="<? echo $val["Id_page"];?>" name="Id_page" size="3" maxlength="3">
    </td>
    <td>
    <input type="text" value="<? echo $val["Titre"];?>" name="Titre" size="40">
    ....

    modif_free.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ......
    $query="UPDATE pages SET 'Titre'=$val[Titre], WHERE 'Id_page'=$val[Id_page]";
    ....
    Comme ça en faisant modifier c le bon Id_page qui est utilisé
    mais ça n'ecrit pas dans la bd

    snifff....
    j'y suis presque

  8. #28
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    while($val=mysql_fetch_array($result))
    { 
    
    ?>
    <tr>
    <td width="5">
    <input type="checkbox" value="<? echo $val["Id_page"];?>" name="Id_page[]" size="3" maxlength="3">
    </td>
    <td>
    <input type="text" value="<? echo $val["Titre"];?>" name="Titre[]" size="40">
    ce n'est pas tres conseillé de faire comme cela utilise les echo plutot comme dans mon exemple sinon c'est bien ce qu'il faut faire mais en rajoutant ce que j'ai mis en rouge

    ensuite pour la récupération des données tu fait comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $Id_page[] = $_POST['Id_page'];
    $Titre[] = $_POST['Titre'];
    ....
    $taille = count ( $Id_page[] )
    for($i=0; $i < $taille ; $i++) 
    {
    $query="UPDATE pages SET `Titre`= '$Titre[$i]' WHERE `Id_page`= $Id_page[$i]";
    }

    voila dans l'idée bon courage

  9. #29
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Par défaut
    Aprés les modif conseillé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Fatal error: Cannot use [] for reading in /mnt/108/free.fr/f/a/instantbeaute/sd/modif_free.php on line 7

  10. #30
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    pour le checkbox je suis sur que l'on peu stocké dans un tableau mais peu etre pas pour un champ text alors ... montre ton code quand meme...

  11. #31
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Par défaut
    admin_site_free.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
     
    <html>
    <head>
    <title>Administration site</title>
    </head>
    <body>	
    <?
     $link = mysql_connect("localhost","root") or die ("Impossible de se connecter");
    mysql_select_db ("test")or die ("Impossible d'accéder à la base de données");
     
    ?>
     
    Ajouter un Enregistrement : <br><br>
    <form name="ajout" action="ajout_free.php" method="post">
    <table border=1>
    <tR><TD>Titre :  <TD><input type="text" name="Titre" size="40" maxlength="256"><br>
    <tR><TD>Mots_cles :<TD><input type="text" name="Mots_cles" size="40" maxlength="256"><br>
    <tR><TD>Description :<tD><input type="text" name="Description" size="40" maxlength="256"><BR>
    <tR><TD>Contenu :	<TD><textarea name="Contenu" cols="50" rows="11"></textarea><BR><br>																				 
    <tR><TD>Id_parent : <TD><input type="text" name="Id_parent" size="40" maxlength="3"><br>
    <TR><TD colspan=2><input type=submit value="Enregistrer">
    </form>
    </table> 
    <br><br>
    Supprimer un enregistrement : <br><br>
    <form name="suppr" action="suppr_free.php" method="post">
    <?
    $link = mysql_connect("localhost","root",) or die ("Impossible de se connecter");
    mysql_select_db ("test")or die ("Impossible d'accéder à la base de données");
     
    $query="SELECT * FROM pages order by Id_page";
    $result=mysql_query($query);
    echo"<select name=Id_page>";
    while ($val = mysql_fetch_array($result))
    {
    $Id_page=$val["Id_page"];
    $Titre=$val["Titre"];
    $Mots_cles=$val["Mots_cles"];
    $Description=$val["Description"];
    $Contenu=$val["Contenu"];
    $Id_parent=$val["Id_parent"];
    echo "<option value='$Id_page' name='Id_page'>$Titre</option>";
    }
    echo "</select><br><br>";
    echo "<input type=submit value=Valider>";
    ?>
    </form>
    Modifier un enregistrement : <br><br>
    <form name="modif_free" action="modif_free.php" method="post">  
    <table border="0">
    <?
    $query="SELECT * FROM pages order by Id_page";
    $result=mysql_query($query);
     
    while($val=mysql_fetch_array($result))
    { 
     
    ?>
    <tr>
    <td width="5">
    <input type="checkbox" value="<? echo $val["Id_page"];?>" name="Id_page[]" size="3" maxlength="3">
    </td>
    <td>
    <input type="text" value="<? echo $val["Titre"];?>" name="Titre[]" size="40">
    </td>
    <td>
    <input type="submit" value="modifier">
    </td>
    </tr>
    <?
    }
    mysql_close($link);
    ?>
    </form>
    </table>
    </body>
    </html>
    modif_free.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
     
    <?	
    $link = mysql_connect("localhost","root",) or die ("Impossible de se connecter");
    mysql_select_db ("test")or die ("Impossible d'accéder à la base de données");
     
    $Id_page[] = $_POST['Id_page'];
    $Titre[] = $_POST['Titre'];
    $taille = count ( $Id_page[] )
    for($i=0; $i < $taille ; $i++) 
    {
    $query="UPDATE pages SET `Titre`= '$Titre[$i]' WHERE `Id_page`= $Id_page[$i]";
    }
     
    mysql_close($link);
    echo "$Id_page a été modifié.";
    ?>

  12. #32
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    Remplace ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $taille = count ( $Id_page[] )
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $taille = count ($Id_page)
    honte moi erreur de newbs

  13. #33
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Parse error: syntax error, unexpected T_FOR in /mnt/108/free.fr/f/a/instantbeaute/sd/modif_free.php on line 8
    qui correspond à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    for($i=0; $i < $taille ; $i++)

  14. #34
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    je crois que tu as oublié le ; sur la ligne au dessus

  15. #35
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Par défaut
    Apres la requete voici le resultat :

    Array a été modifié.

    Et le champs n'a pas été mofdifié

  16. #36
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    dans modif-free il ne te manqueré pas un mysql_query...

  17. #37
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Par défaut
    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
     
    <?	
    $link = mysql_connect("localhost","root",) or die ("Impossible de se connecter");
    mysql_select_db ("tets")or die ("Impossible d'accéder à la base de données");
     
    $Id_page[] = $_POST['Id_page'];
    $Titre[] = $_POST['Titre'];
    $taille = count ($Id_page);
    for($i=0; $i < $taille ; $i++) 
    {
    $query="UPDATE pages SET `Titre`= '$Titre[$i]' WHERE `Id_page`= $Id_page[$i]";
    }
    $result=mysql_query($query);
    mysql_close($link);
    echo "$Id_page a été modifié.";
    ?>

  18. #38
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Par défaut
    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
     
    <?	
    ......
     
    $Id_page[] = $val['Id_page'];
    $Titre[] = $val['Titre'];
    $taille = count ($Id_page);
    for($i=0; $i < $taille ; $i++) 
    {
    $query="UPDATE pages SET `Titre`= '$Titre[$i]' WHERE `Id_page`= $Id_page[$i]";
    $result=mysql_query($query);
    }
     
    mysql_close($link);
    echo "$Id_page a été modifié.";
     
    ?>
    ça y est ça fct ouf ! Il ne me renvoi pas le $ID_page mais " Array a été modifié" !
    Merci pour votre aide

  19. #39
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    pour avoir le ou les id selectionne il faut que tu mette

    echo $Id_page[$i].'a été modifié';

    a la fin de la boucle for et non en dehors...

    et ca yé on a reussi lool

  20. #40
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 27
    Par défaut
    Aie aie mauvaise nv

    il ne modifie que le premier enregistrement et si on veut modif un autre
    il mets le premier enregistrement a la place de ce que l'on veut

    Pour le premier enregistrement tout é nickel modification a volonté !

Discussions similaires

  1. Probleme avec formulaires php sur le site distant
    Par Lionel_aw dans le forum Langage
    Réponses: 2
    Dernier message: 26/03/2010, 16h16
  2. [MySQL] requete update avec fonction php sur champs
    Par SpaceFrog dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 21/10/2008, 09h14
  3. [SQL] UPDATE via formulaire PHP
    Par eizenhower dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 27/07/2007, 11h25
  4. Difficulté avec formulaire PHP
    Par Miam Maikan dans le forum Langage
    Réponses: 1
    Dernier message: 15/09/2006, 03h45
  5. Problème avec formulaire PHP
    Par silvain dans le forum Langage
    Réponses: 8
    Dernier message: 28/08/2006, 23h58

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