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 :

Formulaire + tableau+ base de donnée


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 41
    Par défaut Formulaire + tableau+ base de donnée
    Bon j'ai un tableau qui affiche le contenu d'une base de donnée. La dernière colonne est titrée par un bouton acquitter et contient des checkbox.
    Je veux changer la couleur des lignes pour lesquelles la checkbox est cochée lorsqu'on appuie sur le bouton.

    Voici mon code actuel :

    _ formulaire :

    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
     
    <?php
    //Autres colonnes du tableau [...]
    echo '<td bgcolor="#FFFFFF"><b><u><form action="index.php" method="post"><input type="submit" value="Acquitter"></u></b></td>' ;
    //Remplissage des autres colonnes [...]
    if ($row['Etat']=="up"){
    		echo '<td bgcolor=#CCCCCC>'.$row["Total"].'</td>';
    		mysql_query('UPDATE DerEt2 SET Acquitter = false WHERE Col19="'.$row["Col19"].'"', $link) ;
    		}
    		// Si le dernier état est down et que c'est pas encore acquitté on affiche en rouge
    elseif ($row["Acquitter"]!=true) {
    			if (${$acq['Col19']}==false) {
    		// mysql_query('UPDATE DerEt2 SET Acquitter = false WHERE Col19="'.$row['Col19'].'"', $link) ;
    			echo '<td bgcolor=#DC143C>'.$row["Total"].'</td>';
    			echo '<td><center><input type="checkbox" name="'.$row['Col19'].'" value="Acquitter"></form></center></td>';
    			}
    		// Si le dernier état est down et que c'est déjà acquitté on affiche en jaune	
    			if (${$acq['Col19']}==true) {
    			mysql_query('UPDATE DerEt2 SET Acquitter = true WHERE Col19 ="'.$row['Col19'].'"', $link) ;
    			echo '<td bgcolor=#FFFF00>'.$row["Total"].'</td>';
    			}
     
    		}	
    elseif ($row['Acquitter']==true) { echo '<td bgcolor=#FFFF00>'.$row["Total"].'</td>'; } 
     
    ?>
    Récupération :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $acq = mysql_fetch_array(mysql_query('SELECT Col19 FROM DerEt2 WHERE Etat="down"',$link));
    if(isset($_POST[''.$acq['Col19'].''])){
    ${$acq['Col19']}=true; 
    }
    else ${$acq['Col19']}=false;
    ?>
    Mais ça marche mal. Merci pour votre aide.

  2. #2
    Membre Expert
    Avatar de ericd69
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2011
    Messages
    1 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 919
    Billets dans le blog
    1
    Par défaut
    salut,

    c'est pas à faire coté serveur en php, si tu veux que ce soit fait à la volée, mais coté navigateur en JavaScript plutôt pour changer le css en fonction des actions clic sur les checkboxes...

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    1/ on dit "Bonjour" ;
    2/ on ne dit pas "Je veux" mais "je voudrais" ;
    3/ on ne dit pas "ça marche mal" mais on explique le problème ;
    4/ enfin, comme le dit ericd69, la modification "à la volée" se fait en JavaScript que ça se passe.
    En php (tel que tu fais), tu affiches les changements DEJA effectués (ce qui est bien aussi !).

    PS : concernant la "récupération" : SEULES les checkbox COCHEES sont récupérées (et ont une valeur).

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 41
    Par défaut
    Bonjour,

    (Excusez moi d'avoir oublier cette formalité, c'est pas la première fois que je pose une question sur ce site et je suis d'ailleurs reconnaissant à toutes les personnes qui m'ont aidé. )

    Bref, le code que je vous montre ci-dessus a fonctionné un temps. Mais je ne comprends pas pourquoi depuis quelques jours, lorsque je coche et que je fais acquitter, plus rien ne se passe. Comme si les checkbox cochée n'étaient plus "captées" par la fonction isset...

Discussions similaires

  1. [MySQL] Insertion données formulaire dans base de données
    Par westlaux dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 21/06/2007, 20h17
  2. formulaire / php / base de données
    Par amandine_drooplette dans le forum Langage
    Réponses: 6
    Dernier message: 07/06/2007, 13h14
  3. Formulaire et base de données
    Par Néo{le pélo du 974} dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/06/2007, 12h04
  4. Formulaire et base de données
    Par Marye dans le forum IHM
    Réponses: 4
    Dernier message: 08/02/2007, 22h07
  5. [Conception] Formulaire et base de donnée ?
    Par heldev dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 10/03/2006, 17h09

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