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

JavaScript Discussion :

Changement de couleur d'une ligne d'un tableau html rempli de façon dynamique avec fonction JS


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Changement de couleur d'une ligne d'un tableau html rempli de façon dynamique avec fonction JS
    Bonjour,
    Je vous remercie déjà d'avoir cliqué, mon problème étant : je crée un site qui sert a donner des infos d'une bd, en affichant des pages si on est connecté. Tout cela fonctionne mais j'ai un problème, sur une de mes pages donnant des infos a la personne connecté je fais un tableau avec sur chaque ligne 2 boutons, ayant pour objectif pour le bouton 'prepa' de mettre la ligne(sélectionner) en vert (et d'avoir un nouveau bouton 'ok' pour signaler la fin de la 'prepa'(ration) mais je tienais a me concentrer sur la couleur dans un premier temps) et pour le bouton 'refuser' en rouge.

    Je donnes mon code si quelqu'un de (plus) compétent peux m'aider. Sachant que des erreurs peuvent se trouver surtout au niveau de la fonction Js et aux tentative de changement de couleur qui ont peut être donner lieu à des vestiges, je m'en excuse.

    Je vous remercie !
    code de ma page Commande (la ou il y a le Tableau)
    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
    <?php
    session_start();
    require_once 'Commande.class.php';
    require_once 'PageUser.class.php';
    require_once 'Plat.class.php';
     
     
    $p=new PageU();
     
    $commande= Commande::getAll();
    $plat= Plat::getAll();
     
    $p->AddJsUrl("https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js");
    $html=<<<HTML
     
     
    	<table id="tableau" border="2">	
    		<tr>
    		<th colspan=5>Commande </th>
    		</tr>
    		<tr>
    			<th>Noms des Plats</th>
    			<th>Nombre de plat</th>
    			<th width=60>Etat</th>
    			<th colspan=2>Etat des plats</th>
     
     
    		</tr>
    HTML;
     
    foreach($commande as $COMMANDE){
    $numT = $COMMANDE->getNUMTABLE();
    $compteur=1;
    for($i=1;$i<=count($COMMANDE->getNUMTABLE());$i++){
     
    	$compteur= Commande::getNBTABLE($numT);
    	}
     
    	$numP = $COMMANDE->getNUMPLAT();			
    	$numQ = $COMMANDE->getNUMQUANTITE();
    	$etat = $COMMANDE->getETAT();
     
     
    	  $M = Plat::createFromId($numP);
    	  $nomP = $M->getNOMPLAT();
     
     
    	$html.= <<<HTML
    	<tr id="{$numT}"><form action="Commande.php" method='POST'>
    			<div><td align="center">{$nomP}</td>
    			<td align="center">{$numQ}</td>
    			<td width=60 align="center">{$etat}</td></div>
    			<td><input class = "prepa" id="prepa" type='submit' name='En Préparation' value='Prepa'/></td>
    			<td><input type='submit' name='Refuser' value='refus' id='refus'></td></form>
    			<br>
    			<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js">
     
    			$('#prepa').on('click',function(){
    			  $.ajax({
    			  type : "POST",
    			  url: "Etat.php",
    			  data: {$numT}
    			});
    			</script>
     
     
    HTML
    ;
    	$html.="<tr></tr>";
    }
     
    $p->AddContent($html);
    echo $p ->toHTML();
    Commande.php (pour mieux comprendre ma logique de débutant :/)
    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
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    <?php
     
    require_once 'myPDO.include.php';
    class Commande {
    	//numéro de la table
    	private $NUMPLAT = null;
    	//info de la RESERVATION
    	private $NUMTABLE = null;
     
     
     
    	/**
         * fabrication d'une instance Commande à partir d'un identifiant
         * Les données sont issues de la base de données
         * @param int $id identifiant BD de la Commande à créer
         * @return Commande, instance correspondant à $id
         * @throws Exception si la Commande peut pas être trouvé dans la BD
         */
        public static function createFromID($id) {
            $stmt = myPDO::getInstance()->prepare(<<<SQL
                SELECT *
                FROM COMMANDER
                WHERE NUMPLAT = ?
    SQL
            ) ;
            $stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__) ;
            $stmt->execute(array($id)) ;
            if (($object = $stmt->fetch()) !== false) {
                return $object ;
            }
            throw new Exception('Commande non trouvé') ;
        }
     
     
    	public static function getAll(){
    		$stmt = myPDO::getInstance()->prepare(<<<SQL
    			SELECT *
    			FROM COMMANDER
    			ORDER BY NUMTABLE
    SQL
            ) ;
            $stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__) ;
            $stmt->execute() ;
            return $stmt->fetchAll() ;
    	}
     
    	//Récupère le numéro de la reservation
     
    	public function getNUMPLAT(){
    		return $this->NUMPLAT;
    	}
    	public function getNUMTABLE(){
    		return $this->NUMTABLE;
    	}
    	public static function getNBTABLE($id){
    		$stmt = myPDO::getInstance()->prepare(<<<SQL
    			SELECT COUNT(NUMTABLE) AS NB
    			FROM COMMANDER
    			WHERE NUMTABLE = ?
     
    SQL
            ) ;
            $stmt->execute(array($id));
            if (($object = $stmt->fetch()) !== false) {
                return $object["NB"] ;
            }
     
    	}
     
    	public function getNUMQUANTITE(){
    		return $this->QUANTITE;
    	}
    	public function getETAT(){
    		return $this->ETAT;
    	}
     
     
    	public static function Save($mess){
    		$stmt = myPDO::getInstance()->prepare(<<<SQL
    		INSERT INTO COMMANDER(NUMPLAT) VALUES(?)
    SQL
    		);
    		$stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__) ;
            $stmt->execute(array($mess)) ;
    	}
     
    	public static function getReserv(){
    		$stmt = myPDO::getInstance()->prepare(<<<SQL
    			SELECT NUMPLAT, FROM COMMANDER  r, COMMANDER s WHERE s.NUMTABLE=r.NUMTABLE ORDER BY NUMPLAT
    SQL
            ) ;
            $stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__) ;
            $stmt->execute() ;
            return $stmt->fetchAll() ;
    	}
    	}
    Pageuser.php pour la meme raison
    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
    require_once 'user.class.php';
    require_once 'Page.class.php';
     
    class PageU extends Page{
    	/**
         * Produire la page Web complète
         *
         * @return string
         * @throws Exception si title n'est pas défini
         */
        public function toHTML() {
    	$html=<<<HTML
    <!DOCTYPE html>
        <html lang="fr">
            <head>
                <meta http-equiv="Content-Type" content="text/html">
    			<meta charset="utf-8">
    			{$this->meta}
                <title>{$this->title}</title>
    			<link rel='stylesheet' href='pagecorrecte.css' type='text/css'>
                {$this->head}
            </head>
            <body>
    			<header>
    				<h1>La gestion du Restaurant</h1>
    				<span>
    					<a href="index.php">Accueil</a>
    HTML;
    					if(isset($_SESSION['connected']) && $_SESSION['connected'])
    					{ 
     
    					  $html.=<<<HTML
    					  <a href="LaReservation.php">Reservations</a>
    					  <a href="Commande.php">Plat commandés</a>
    					  <a href="index.php?action=deconnexion">Se déconnecter</a>
    HTML;
    }else{
    				$html.=<<<HTML
    				</span>				
    				<div>
    					<form name='connection' action='connection.php' method='POST'>
    						<input type='text' name='nom' value='nom' >
    						<input type='password' name='mdp' value='mdp'><br>
    						<input type='submit' name='connection' value='Se connecter'>
    					</form>
    				</div>
    HTML;
    					    }
    				$html .=<<<HTML
    				</header> 
    		<section>
                {$this->body}
                </table>
    			</section>
    		<footer>
    			<hr>
    			<img src="logo1.jpg" alt="Logo iut" />
    			<img src="logo2.jpg" alt="Logo 1 iut" />
    			<img src="logo3.jpg" alt="Logo 2 iut" />
    			<img src="logo4.jpg" alt="Logo 3 iut" />
    			<img src="logo6.jpg" alt="Logo 4 iut" />
    		</footer>
    	</body>
        </html>
    HTML;
     
    return $html;	
    }
     
    }
    et enfin la PageUser.class.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
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    <?php
     
    require_once 'myPDO.include.php';
     
    class user{
    	private $numpers = null;
    	private $nom = null;
    	private $mdp = null;
     
     
    	public static function createFromID($numpers) {
            $stmt = myPDO::getInstance()->prepare(<<<SQL
                SELECT *
                FROM PERSONNEL
                WHERE NUMPERSO = ?
    SQL
            ) ;
            $stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__) ;
            $stmt->execute(array($numpers)) ;
            if (($object = $stmt->fetch()) !== false) {
                return $object ;
            }
            throw new Exception('personnel non trouvé') ;
        }
        	public static function getAll() {
            $stmt = myPDO::getInstance()->prepare(<<<SQL
                SELECT *
                FROM PERSONNEL
                ORDER BY NOM
    SQL
            ) ;
            $stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__) ;
            $stmt->execute() ;
            return $stmt->fetchAll() ;
        }
     
    	public function getnumpers(){
    		return $this->NUMPERSO;
    	}
     
    	public function getnom(){
    		return $this->NOM;	
    	}
     
    	public function getmdp(){
    		return $this->MDP;
    	}
     
    	public function existeNom($nom){
    		 $res=false;
    		 $stmt = myPDO::getInstance()->prepare(<<<SQL
                SELECT *
                FROM PERSONNEL
                WHERE NOM = ?
    SQL
            ) ;
            $stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__) ;
            $stmt->execute(array($nom)) ;
            if ($stmt->fetch() !== false) {
                $res=true;
            }else{
            /*throw new Exception('Personnel non trouvé');*/
    		}
    		return $res;
    	}
     
    	public function existeMdp($mdp){
    		(boolean) $res=false;
    		 $stmt = myPDO::getInstance()->prepare(<<<SQL
                SELECT NOM,MDP 
                FROM PERSONNEL
                WHERE MDP = 'sha1($mdp)'
    SQL
            ) ;
            $stmt->setFetchMode(PDO::FETCH_CLASS, __CLASS__) ;
            $stmt->execute(array($mdp)) ;
            if (($object = $stmt->fetch()) !== false) {
                $res=true;
            }else{
            /*throw new Exception('Personnel non trouvé') ;*/
    		}
    		return $res;
    	}
     
     
     
    }
    Je vous évite le mypdo qui est assez quelconque.

    Bonne soirée a vous et surtout merci !

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    En travaillant comme un grand ça fonctionne,merci quand meme

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    pourrais tu nous faire partager ta solution ?
    Merci.

    Remarque au passage :
    ta construction du code HTML n'est pas conforme
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <tr id="{$numT}">
        <form action="Commande.php" method='POST'>
            <div>
                <td align="center">{$nomP}</td>
                <td align="center">{$numQ}</td>
                <td width=60 align="center">{$etat}</td>
            </div>
            <td><input class = "prepa" id="prepa" type='submit' name='En Préparation' value='Prepa'/></td>
            <td><input type='submit' name='Refuser' value='refus' id='refus'></td>
        </form>
        <br>

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/02/2014, 01h34
  2. Réponses: 1
    Dernier message: 18/12/2009, 20h43
  3. Changement de couleur d'une ligne dans un Memo
    Par andreditdd dans le forum Composants VCL
    Réponses: 8
    Dernier message: 19/08/2008, 13h47
  4. [DataGridView] Bug dans le changement de couleur d'une ligne
    Par AsPrO dans le forum Windows Forms
    Réponses: 8
    Dernier message: 22/07/2008, 23h38
  5. Changement de couleur d'une ligne d'un stringgrid/D7 perso
    Par jer64 dans le forum Composants VCL
    Réponses: 29
    Dernier message: 11/01/2006, 22h53

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