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 :

Mise à jour et case à cocher [MySQL]


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
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Par défaut Mise à jour et case à cocher
    Bonjour
    Je nage dans ce problème ou plutot je me noie:
    je sélectionne des enregistrements par checbox et je veux en faire l'update voici mon code :
    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
    <html> 
    <br><input type='submit' name='exple1' value='Voir'>
    <form method='POST' action='fenetre.php'>
    <table border="1">
    <tr>
    <td width=''>Noms</td>
    <td width=''>Téléphones</td>
    <td width=''>Choix</td>
    </tr>
     
     
    </body>
    </html>
    <?
    $db = mysql_connect(xxxxxxx, 'xxxxx', 'xxxxxx')
    or die('<font color=red>Désolé mais vous ne pouvez voir les infos de la data-base</font>');
    mysql_select_db('db235328063',$db);
    $query="Select * from retenues2" ;
    $result = mysql_query( $query )or exit ('Erreur SQL !'.$query.'<br>'.mysql_error());
    while($data = mysql_fetch_array($result))
    {
    echo"<tr><td>".$data['elenom']."</td>";
    echo"<td>".$data['elepre']."</td>";
    echo"<td><input type='checkbox' name='delete[]' value='".$data['id']."'></td>";
    echo"</tr>";
    }	   
     
    mysql_close();
    ?>
    </form>
    </table>
    ou mettre le code update et comment ?
    merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ton UPDATE se fait evidemment dans la page de destination du formulaire (qui peut etre la meme).
    Tu peux parcourir les checkbox recus avec un simple foreach pour recuperer les ids.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Par défaut précisions ?
    merci pour la réponse, je vois bien dans ma pt'ite tête ce qu'il faut faire mais je suis un peu lent à la détente et surtout âgé et amateur...(mes débuts datent de dbase2....) donc je suis un peu perdu.
    Un peu d'aide serait la bienvenue.
    Merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Par défaut j'avance mais je bloque sur la fin
    Bonjour,
    J'avance, j'ai deux codes: un pour afficher et faire la boucle et un pour faire l'update mais le deuxième ne fonctionne pas:
    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
    <?php /* Date de création: 01/03/2009 */ ?>
    <html>
    <body>
     
    <form method='POST' action='e8.php'>
    <input type='checkbox' name='case' value='on'>
    Case à cocher simple .<br>
    Cochez-la ou pas puis cliquez sur Voir pour connaitre le résultat.
    <br><input type='submit' name='exple1' value='Voir'>
    </form> 
     
    <table border="1">
    <tr>
    <td width=''>NOM</td>
    <td width=''>PRENOM</td>
    <td width=''>Quand</td>	
    <td width=''>Raison</td>
    <td width=''>de</td>
    <td width=''>A</td>	  
    <td width=''>Numéro</td>
    </tr>
     
    <?php 
    $db = mysql_connect(xxxxx.fr', 'xxxxx', 'xxxxxx')
    or die('<font color=red>Désolé mais vous ne pouvez voir les infos de la data-base</font>');
    mysql_select_db('xxxxxx',$db);
    $query="Select * from retenues2 where Fait1 like 'N' order by Quand1" ;
    $result = mysql_query( $query )or exit ('Erreur SQL !'.$query.'<br>'.mysql_error());
    while($data = mysql_fetch_array($result))
    {
    echo"<tr><td>".$data['elenom']."</td>";
    echo"<td>".$data['elepre']."</td>";
    echo"<td>".$data['Quand1']."</td>";
    echo"<td>".$data['Cause']."</td>";
    echo"<td>".$data['Heures1']."</td>";
    echo"<td>".$data['Heures1bis']."</td>";
    echo"<td>".$data['Numero']."</td>";
    echo"<td><input type='checkbox' name='maj[]' value='".$data['Numero']."'></td>";
    echo"</tr>";
    }
    mysql_close();
    ?>
    </form>
    </table> 
     
    </body>
    </html>
    ça fonctionne, j'appelle e8.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
    <?php /* Date de création: 02/03/2009 */ ?>
    <html>
    <body>
    <?php
    //if (sizeof($delete)==0){
    //header('Location:e7.php');
    //exit;}
    //else{
    $db = mysql_connect(xxxxxxx, 'xxxxx', 'xxxxxx')
    or die('<font color=red>Désolé mais vous ne pouvez voir les infos de la data-base</font>');
    mysql_select_db('xxxxxxxxx',$db);;
    foreach ($maj as $valeur){
    $sql="update retenues2 set Fait1='O' WHERE Numero = '$id'";	
    echo $sql;
    $req= mysql_query($sql);
    }
    mysql_close();
    header('Location:e7.php');
    exit;
     
    ?>
    </body>
    </html>
    et là il me dit erreur dans ma boucle:
    Warning: Invalid argument supplied for foreach() in /homepages/6/xxxxxxxxx/htdocs/wsbxxxxxx/GesSanctions/e8.php on line 12
    cad ici:foreach ($maj as $valeur){
    une idée ?
    merci

  5. #5
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Une petite chose tout d'abord, indentes ton code.

    On ne le répétera jamais assez mais cela permet d'avoir une maintenant plus facile, une lecture plus agréable (pour toi comme nous), ainsi que de trouver de bêtes erreurs bénignes.

    Actuellement, c'est assez "contrariant" de lire ton code.

    Bref, dans le code que tu nous as fournit, $maj n'est jamais initialisé.
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 195
    Par défaut Comment faire ?
    je sais, les débutants débutent et essayent par tatonnements....
    comment initialiser $maj ?
    merci
    Citation Envoyé par Deallyra Voir le message
    Une petite chose tout d'abord, indentes ton code.

    On ne le répétera jamais assez mais cela permet d'avoir une maintenant plus facile, une lecture plus agréable (pour toi comme nous), ainsi que de trouver de bêtes erreurs bénignes.

    Actuellement, c'est assez "contrariant" de lire ton code.

    Bref, dans le code que tu nous as fournit, $maj n'est jamais initialisé.

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

Discussions similaires

  1. [MySQL] Mise à jour avec case à cocher
    Par YaNnTeB dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 18/08/2009, 16h16
  2. Mise à jour avec des cases à cocher
    Par jiojio dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 25/02/2009, 11h53
  3. Requête mise à jour sur case à cocher
    Par Marcopololo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 18/08/2008, 08h32
  4. case à cocher : empêcher une mise à jour
    Par mouaa dans le forum VBA Access
    Réponses: 6
    Dernier message: 22/11/2007, 10h54
  5. [AJAX] Case à cocher-->mise à jour select
    Par senacle dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/06/2006, 16h11

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