Probleme avec le checked

msi79 - 6 mars 2014 à 11:29
jordane45 Messages postés 36349 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 septembre 2022 - 7 mars 2014 à 01:25
Bonjour,
voici le problème au qu'elle je suis confronté.
je voudrait que lorsque le checkbox est coché toute la ligne du tableau soit en gras .

mais ça ne marche pas .
voici ce que j'ai tenté :
 <tr bgcolor=#33FFFF  <?php if($checked){echo ' style="font-weight:bold"'} ?>>

10 réponses

NHenry Messages postés 15000 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 27 septembre 2022 158
6 mars 2014 à 13:48
Bonjour,

Si tu veux faire ça de manière dynamique (l'utilisateur clique et ça change), il te faut te tourner vers JavaScript et non sur PHP.
0
jordane45 Messages postés 36349 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 septembre 2022 350
Modifié par jordane45 le 6/03/2014 à 13:54
Bonjour,

Le plus "propre" est de sortir tes tests PHP en dehors de ton affichage...

<?php
   $style=($checked)? "font-weight:bold" : "";
 }
?>
<tr bgcolor="#33FFFF"  style='<?=$style?>;'>


Edit: Tu avais également oublié les apostrophes pour le bgcolor..
 bgcolor="#33FFFF" 


Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
0
ça ne fonctionne pas voici tout mon code.
<?php

$color=array('#333333','#999999');
$i=0;
// on crée la requête SQL
$sql = "SELECT
a.id_sc,
a.NumEnreg,
a.dateArriveCourrier,
a.nomExpediteur,
a.dateDuCourrier,
a.Numorigine,
a.objetCourrier,
a.accuseEnAttente,
a.accuseEnCours,
c.id,
c.NumEnreg,
c.dateArrCourrier,
c.expediteur,
c.pseudo,
d.num,
d.nom,
d.email,
c.accuseimput,
c.DateImput,
c.delaisImput,
c.instructions,
c.autreInstruction,
c.clef,
d.contact,
c.NoteDirCab

FROM ServiceCourrier a,Courrierimputation c , imputation_multi d WHERE d.nom = '".$_SESSION['pseudo']."' AND a.NumEnreg = c.NumEnreg AND a.NumEnreg = d.num ORDER BY a.NumEnreg DESC
";

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$res = mysql_num_rows($req); // 4
?>




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>


</head>
<body>
<p> </p>
<div class="info_sev_cour" style="position:absolute; top:20px; left:10px">
<table width="1082" border="0" align="center" cellspacing="2">
<tr bgcolor="#999999"> </tr>
<tr bgcolor="#999999">
<th width="86" colspan="2" bgcolor="#999999" scope="row"><p class="Style8">N°</p>
<p class="Style8"> COURRIER</p></th>
<td width="101" bgcolor="#999999"><div align="center" class="Style10">DATE ARRIVEE DU COURRIER</div></td>
<td width="113" bgcolor="#999999"><div align="center" class="Style10">NOM EXPEDITEUR</div></td>
<td width="119" bgcolor="#999999"><div align="center" class="Style10">DATE D'IMPUTATION</div></td>
<td width="62" bgcolor="#999999"><div align="center" class="Style10">OBJET</div></td>
<td width="111" bgcolor="#999999"><div align="center" class="Style10">INSTRUCTION</div></td>
<td width="111" bgcolor="#999999"><div align="center" class="Style10">INSTRUCTION</div></td>
<td width="111" bgcolor="#999999"><div align="center" class="Style10">FICHIER</div></td>



</tr>
<?php
while ($liste_etu=mysql_fetch_assoc($req)) {
$j=$i%2;
$rq = mysql_query("SELECT * FROM conversations_messages WHERE NumEnreg = '".$liste_etu['num']."' AND clef = '".$liste_etu["clef"]."' ") or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$liste = mysql_fetch_assoc($rq);
$checked = $liste["accuseCRagent"]==0? "checked = 'checked'": "";
$style=($checked)? "font-weight:bold" : "";
?>
<tr bgcolor="#33FFFF" style='<?=$style?>;'>
<td bgcolor="#F0F0F0"><span class="Style10">
<div class="numbers1" align="center"><input type="checkbox" name="accuseimput" value="accuseimput" <?php echo $checked; ?>/></div>
</span></td>
<td bgcolor="#F0F0F0"><span class="numbers1"><a href="index.php?page=new_message2&pseudo=<?php echo $liste_etu['pseudo']; ?>&email=<?php echo $liste_etu['email']; ?>&num=<?php echo $liste_etu['num']; ?>&clef=<?php echo $liste_etu['clef']; ?>" ><?php echo $liste_etu['NumEnreg'];?></a></span></td>
<td bgcolor="#F0F0F0"><?php echo $liste_etu['dateArriveCourrier'] ?></td>
<td bgcolor="#F0F0F0"><?php echo $liste_etu['nomExpediteur'] ?></td>
<td bgcolor="#F0F0F0"><?php echo $liste_etu['DateImput'] ?></td>
<td bgcolor="#F0F0F0"><?php echo $liste_etu['NoteDirCab'] ?></td>
<td bgcolor="#F0F0F0"><?php echo $liste_etu['instructions'] ?></td>
<td bgcolor="#F0F0F0"><?php echo $liste_etu['contact'] ?></td>
<td bgcolor="#F0F0F0"><a href="index.php?page=galerie_photoTE&id=<?php echo $liste_etu['NumEnreg']; ?>"><img src='images/courrier.png' width='25' height='25' ></a></td>
<td bgcolor="#FFFFFF" align="center"><a href="index.php?page=ImputMulti2&num=<?php echo $liste_etu['NumEnreg']; ?>&id=<?php echo $liste_etu['id_sc']; ?>"><div style="background-color:#1F003E;
color:#FF5B0D;
border-radius:5px;
-webkit-border-radius:5px;
-moz-border-radius:5px;
width:120px; text-align:center; ">IMPUTER</div></a></td>

<?php
}
?>
</table>
</div>
</body>
</html>

0
jordane45 Messages postés 36349 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 septembre 2022 350
6 mars 2014 à 14:20
Tu peux tester avec ceci :
$style=($checked)? "font-weight:bold !important; " : "";


Ca fonctionne chez moi....

Au cas où.. le temps de faire tes testes... ajoutes des Echo de tes variable : $checked et $style pour voir si elles prennent les bonnes valeurs :

$checked = $liste["accuseCRagent"]==0? "checked = 'checked'": "";
$style=($checked)?  "font-weight:bold !important; " : "";

Echo "checked = ".$checked . "   Style => " . $style;




NB : Dans ton code HTML.. lorsque tu veux y mettre une valeur PHP.. il existe une syntaxe "simplifiée" ( juste avec <?= ...?> ) qui évite de devoir écrire ECHO à chaque fois...

Par exemple :
<td bgcolor="#F0F0F0"><?php echo $liste_etu['nomExpediteur'] ?></td>
<td bgcolor="#F0F0F0"><?php echo $liste_etu['DateImput'] ?></td>

Peut s'écrire :
<td bgcolor="#F0F0F0"><?=$liste_etu['nomExpediteur'] ?></td>
 <td bgcolor="#F0F0F0"><?=$liste_etu['DateImput'] ?></td>

0
jordane45 Messages postés 36349 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 septembre 2022 350
6 mars 2014 à 14:22
Et au fait : Le résultat de ta requête ne te retourne qu'une seule ligne ?
Au cas ou.. fait un
print_r($liste);

Pour t'en assurer....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
voici ce que j'ai mi mais ça fonctionne toujours pas
$checked = $liste["accuseCRagent"]==0? "checked = 'checked'": "";
$style=($checked)? "font-weight:bold !important; " : "";
//$style=($checked)? "font-weight:bold" : "";
?>
<tr bgcolor=#33FFFF >
<td bgcolor="#F0F0F0"><span class="Style10">
<div class="numbers1" align="center"><input type="checkbox" name="accuseimput" value="accuseimput" <?php echo $checked."style =>". $style; ?>/></div>
0
jordane45 Messages postés 36349 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 septembre 2022 350
6 mars 2014 à 15:12
En regardant "ce que tu as mis" .. je constate que tu n'as pas tenu compte de mes remarques précédentes;.
- Commences par relire ce que je t'ai écris juste avant...
- Modifies ton code en conséquence..;
- Montres nous ton code modifié
- Dis nous ce que te retourne les ECHO que je t'ai fais ajouter..

Et là.. on pourra peut être t'aider !
0
voici ce donne le print_r:
Array ( [id_conversation] => 48 [pseudo_exp] => msi79 [NumEnreg] => 120 [monemail] => ***@*** [dateArrCourrier] => [corps_message] => cr [date_message] => 2014-02-27 13:19:21 [accuseCR] => 2 [accuseCRagent] => 1 [cible] => fichiers/contratmaintenance site xeb.doc [clef] => def14567 ) Array ( [id_conversation] => 40 [pseudo_exp] => msi79 [NumEnreg] => 118 [monemail] => ***@*** [dateArrCourrier] => [corps_message] => cr 112 [date_message] => 2014-02-26 18:03:10 [accuseCR] => 2 [accuseCRagent] => 1 [cible] => fichiers/0_PROFORMA IMPRIMANTE.docx [clef] => b0124789 )


ensuite voici le code modifié:
<?php

$color=array('#333333','#999999');
$i=0;
// on crée la requête SQL
$sql = "SELECT
a.id_sc,
a.NumEnreg,
a.dateArriveCourrier,
a.nomExpediteur,
a.dateDuCourrier,
a.Numorigine,
a.objetCourrier,
a.accuseEnAttente,
a.accuseEnCours,
c.id,
c.NumEnreg,
c.dateArrCourrier,
c.expediteur,
c.pseudo,
d.num,
d.nom,
d.email,
c.accuseimput,
c.DateImput,
c.delaisImput,
c.instructions,
c.autreInstruction,
c.clef,
d.contact,
c.NoteDirCab

FROM ServiceCourrier a,Courrierimputation c , imputation_multi d WHERE d.nom = '".$_SESSION['pseudo']."' AND a.NumEnreg = c.NumEnreg AND a.NumEnreg = d.num ORDER BY a.NumEnreg DESC
";

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$res = mysql_num_rows($req); // 4
?>




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans titre</title>
<style type="text/css">
<!--
.Style2 {color: #0000FF}
.Style8 {
color: #330000;
font-style: italic;
}
.Style10 {color: #330000; font-weight: bold; font-style: italic; }
-->
</style>
<script type="text/JavaScript">
<!--



function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
//-->
</script>
</head>
<body>
<p> </p>
<div class="info_sev_cour" style="position:absolute; top:20px; left:10px">
<table width="1082" border="0" align="center" cellspacing="2">
<tr bgcolor="#999999"> </tr>
<tr bgcolor="#999999">
<th width="86" colspan="2" bgcolor="#999999" scope="row"><p class="Style8">N°</p>
<p class="Style8"> COURRIER</p></th>
<td width="101" bgcolor="#999999"><div align="center" class="Style10">DATE ARRIVEE DU COURRIER</div></td>
<td width="113" bgcolor="#999999"><div align="center" class="Style10">NOM EXPEDITEUR</div></td>
<td width="119" bgcolor="#999999"><div align="center" class="Style10">DATE D'IMPUTATION</div></td>
<td width="62" bgcolor="#999999"><div align="center" class="Style10">OBJET</div></td>
<td width="111" bgcolor="#999999"><div align="center" class="Style10">INSTRUCTION</div></td>
<td width="111" bgcolor="#999999"><div align="center" class="Style10">INSTRUCTION</div></td>
<td width="111" bgcolor="#999999"><div align="center" class="Style10">FICHIER</div></td>



</tr>
<?php
while ($liste_etu=mysql_fetch_assoc($req)) {
$j=$i%2;
$rq = mysql_query("SELECT * FROM conversations_messages WHERE NumEnreg = '".$liste_etu['num']."' AND clef = '".$liste_etu["clef"]."' ") or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$liste = mysql_fetch_assoc($rq);
$checked = $liste["accuseCRagent"]==0? "checked = 'checked'": "";
$style=($checked)? "font-weight:bold !important; " : "";
print_r($liste);
//$style=($checked)? "font-weight:bold" : "";
?>
<tr bgcolor=#33FFFF >
<td bgcolor="#F0F0F0"><span class="Style10">
<div class="numbers1" align="center"><input type="checkbox" name="accuseimput" value="accuseimput" <?php echo "checked = ".$checked." Style => ".$style; ?>/></div>
</span></td>
<td bgcolor="#F0F0F0"><span class="numbers1"><a href="index.php?page=new_message2&pseudo=<?php echo $liste_etu['pseudo']; ?>&email=<?php echo $liste_etu['email']; ?>&num=<?php echo $liste_etu['num']; ?>&clef=<?php echo $liste_etu['clef']; ?>" ><?php echo $liste_etu['NumEnreg'];?></a></span></td>
<td bgcolor="#F0F0F0"><?php echo $liste_etu['dateArriveCourrier'] ?></td>
<td bgcolor="#F0F0F0"><?php echo $liste_etu['nomExpediteur'] ?></td>
<td bgcolor="#F0F0F0"><?php echo $liste_etu['DateImput'] ?></td>
<td bgcolor="#F0F0F0"><?php echo $liste_etu['NoteDirCab'] ?></td>
<td bgcolor="#F0F0F0"><?php echo $liste_etu['instructions'] ?></td>
<td bgcolor="#F0F0F0"><?php echo $liste_etu['contact'] ?></td>
<td bgcolor="#F0F0F0"><a href="index.php?page=galerie_photoTE&id=<?php echo $liste_etu['NumEnreg']; ?>"><img src='images/courrier.png' width='25' height='25' ></a></td>
<td bgcolor="#FFFFFF" align="center"><a href="index.php?page=ImputMulti2&num=<?php echo $liste_etu['NumEnreg']; ?>&id=<?php echo $liste_etu['id_sc']; ?>"><div style="background-color:#1F003E;
color:#FF5B0D;
border-radius:5px;
-webkit-border-radius:5px;
-moz-border-radius:5px;
width:120px; text-align:center; ">IMPUTER</div></a></td>

<?php
}
?>
</table>
</div>
</body>
</html>

0
vraiment je tente tout mais j arrive pas
0
jordane45 Messages postés 36349 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 septembre 2022 350
6 mars 2014 à 17:26
..... TU n'as pas fait TOUTES les modifications/corrections que je t'ai indiqué dans ton code !!

bgcolor=#33FFFF sans quotes... ne peux pas fonctionner !

bgcolor="#33FFFF" ou bgcolor='#33FFFF' => OK

Où est passé l'attribut STYLE de ta TR ? Il n'y est plus ...

As-tu fais les ECHO sur $checked et $Style pour savoir quelles valeurs ils ont ?
Si oui... montre nous ....




0
je viens de rectifier mais toujours rien :

en plus j'ai ça qui s affiche
font-weight:bold !important; />

voici le code:

$checked = $liste["accuseCRagent"]==0? "checked = 'checked'": "";
$style=($checked)? "font-weight:bold !important; " : "";
//print_r($liste);
//$style=($checked)? "font-weight:bold" : "";
?>
<tr bgcolor=#33FFFF">
<td bgcolor="#F0F0F0"><span class="Style10">
<div class="numbers1" align="center"><input type="checkbox" name="accuseimput" value="accuseimput" <?php echo "checked = ".$checked . " Style => ".$style; ?> /></div>
0
jordane45 Messages postés 36349 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 septembre 2022 350
Modifié par jordane45 le 6/03/2014 à 18:23
......... ...... ........ Le STYLE tu veux l'appliquer à ton TR ?
Pourquoi n'y est il plus ?
Pourquoi se trouve t'il désormais (dans une syntaxe douteuse) dans ton INPUT ?

<input type="checkbox" name="accuseimput" value="accuseimput" <?php echo "checked = ".$checked . "   Style => ".$style; ?> />


C'est quoi ce : " => " que tu as mis avant $style ?

Pourquoi dans tes RECTIFICATIONS de ton code.. tu utilises encore :
<?php echo "checked = ".$checked ?>

Alors que je t'ai expliqué que le mieux ... le plus propre.. le plus simple.. c'était de l'écrire comme ça :
  <?=$checked?>


Si tu prends le temps de tout BIEN corriger... je pense que tu n'auras plus d'erreur.......


EDIT : Lorsque je te demande de faire des ECHO de tes variables... c'est à faire en dehors de TOUT tableau html ou autre...
En gros : Tu initialises ta variable.. tu en fais un echo pour voir si c'est bon ....

$checked = $liste["accuseCRagent"]==0? "checked = 'checked'": "";
$style=($checked)?  "font-weight:bold !important; " : "";

echo "  checked -> ".$checked;
echo "  style -> " . $style;

// La suite de ton code ...

0
oui ça mache !!!
merci@jordane45
voici le code :
$checked = $liste["accuseCRagent"]==0? "checked = 'checked'": "";
$style=($checked)? "font-weight:bold !important; " : "";
?>
<tr bgcolor="#33FFFF" <?php echo 'style="'.$style.'"' ?> >
<td bgcolor="#F0F0F0"><span class="Style10">
<div class="numbers1" align="center"><input type="checkbox" name="accuseimput" value="accuseimput" <?php echo $checked ?> /></div>
</span></td>
0
jordane45 Messages postés 36349 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 29 septembre 2022 350
7 mars 2014 à 01:25
Donc si ca marche.... clôture le sujet...
Merci.
0