Tableau et boucle

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Tableau et boucle

Re: Tableau et boucle

par FuZZyLine » 18 sept. 2009, 14:48

J'avoue ne pas avoir tout compris !
Désolé je te le refais

A chaque récupération de membre tu récupères aussi le fait qu'il soit ou non à jour.
Donc si sa cotisation est à jour la variable $class = "black" ou s'il elle ne l'est
pas $class = "red". Tu avais à peu près fais la même chose il me semble.

Ceci est traité par test unaire, autrement dit, replacant de:
 // Ton code:
 //
 // if ( $selectdips["num_licence"] == $selectdip["num_licence"]) $color = 'class = ""';
 // else $color = 'class = "rouge"';
 
 // Ce que je propose, ce qui revient, en gros, au même
 // Ou $bfCotisation est un bool repésentant le: à jour ou pas
 $class = $bfCotisation ? "black" : "red";
Si $bfCotisation = TRUE alors $class = "black" (black étant juste la pour avoir une couleur de font black)
Si $bfCotisation = FALSE alors $class = "red" (font rouge comme tu voulais il me semble)

Et ce, à condition que ceci se trouve dans le while de fetch_array... aie, je sens que c'est cafouilleux lol
un peu de mal à m'expliquer désolé.

D'autre part je constate, je ne sais si fait expres mais certain de tes tests ne possedent qu'un seul =
autrement dit c'est peut-être une erreur de ta part... Ou pas, pas le temps de trop regarder le script.

J'y re go @+ ;)

PS: Outch c'est si peu clair que même moi je commence à ne plus rien comprendre lol pourtant c'est
logique mais ma "petite" neurone est en vacances la ;(

Re: Tableau et boucle

par Dom06000 » 18 sept. 2009, 14:16

J'avoue ne pas avoir tout compris !

Re: Tableau et boucle

par FuZZyLine » 18 sept. 2009, 14:00

Bonjour,

J'affiche un tableau de mes membres avec leur nom, prenom, date de naissance.
Jusque la pas de problemes.

J'ai créé une table paiement qui enregistre les membres à jour de leur cotisation.
Je souhaite dans mon tableau que les membres qui n'ont pas payé leur cotisation soit écrit en couleur Rouge !
Voici mon code :
<?php 		
      $sqldip = "select * from tb_membre_ffbb order by nom ASC";
   // $nbsql += 1;*/
	if ($resselectdip = mysql_query($sqldip)) {
    while ($selectdip = mysql_fetch_array($resselectdip))
    {	
	$sqldips = 'select * from tb_paiements';
   // $nbsql += 1;
	if ($resselectdips = mysql_query($sqldips)) {
         while ($selectdips = mysql_fetch_array($resselectdips))
         {
   if ( $selectdips["num_licence"] == $selectdip["num_licence"])
					$color = 'class = ""';
				else
					$color = 'class = "rouge"';
	}
    			
	echo '<tr bgcolor="#FFFFFF" '.$color.'> 
    <td><div align = "center"><a href="modif_licencie.php?id_membre='.$selectdip["id_licence"].'">'.$selectdip["num_licence"].'</a></td>
    <td><div align = "center">'.$selectdip["nom"].'</td>
    <td><div align = "center">'.$selectdip["prenom"].'</td>
	<td><div align = "center">'.$selectdip["date_qualif"].'</td>
	<td align = "center" valign="middle"><form action="supp_licencie_action.php" name="form2" id="form2" method="post" onSubmit="if (confirm(\'VOULEZ VOUS VRAIMENT EFFACER DEFINITIVEMENT CE MEMBRE ?\')){return true;} else {return false;}"><input name="id_membre" type="hidden" value="'.$selectdip["id_licence"].'"><input name="Submit" type="submit" class="bouton" value="Sup"></form></td>
	<td align = "center" valign="middle"><form action="payer_licencie_action.php" name="form3" id="form3" method="post" onSubmit="if (confirm(\'VOULEZ VOUS ENREGISTRER LE PAIEMENT D\'UN LICENCIE ?\')){return true;} else {return false;}"><input name="num_licence" type="hidden" value="'.$selectdip["num_licence"].'"><input name="criteres" type="hidden" value="'.$criteres.'"><input name="Submit" type="submit" class="bouton" value="Payer"></form></td>
	<tr>';
    }
    }
	}
	
	?>
Avez vous la solution pour que tous les membres qui ne sont pas à jour soit Rouge ? merci pour votre aide.
Pas tout regarder mais me fiant à ta demande tu peux faire ainsi:

Ton fichier css

Code : Tout sélectionner

<style ...> .red { color:#ff0000; } .black { color:#ff0000; } </style>
Ton fichier php
<?php
.
.
.
// Tu boucles sur tous tes membres en métant un test unaire

$className = $bfCotisation : "black" : "red";

$cde .= "<td class=\"".$className."\">\n";
$cde .= "   Adhérant untel : ...\n";
$cde .= "</td>\n";

.
.
.
?>
Le principe est, après tes, d'assigner un bollean à $bfCotisation afin de faire un test unaire
et d'assigner $className. C'est un peu ce que tu as fais il me semble.

Pourquoi ne pas utiliser un objet pour chaque membre? Ca donnerait à peu près ceci:
$obj = new stdClass();
$obj -> nom  = "...";
$obj -> prenom  = "..."; 
$obj -> age = "...";
$obj -> bfCotisation = "...";
et le test unaire: $className = $obj -> bfCotisation : "black" : "red";

Tableau et boucle

par Dom06000 » 18 sept. 2009, 13:32

Bonjour,

J'affiche un tableau de mes membres avec leur nom, prenom, date de naissance.
Jusque la pas de problemes.

J'ai créé une table paiement qui enregistre les membres à jour de leur cotisation.
Je souhaite dans mon tableau que les membres qui n'ont pas payé leur cotisation soit écrit en couleur Rouge !
Voici mon code :
 <?php 		
      $sqldip = "select * from tb_membre_ffbb order by nom ASC";
   // $nbsql += 1;*/
	if ($resselectdip = mysql_query($sqldip)) {
    while ($selectdip = mysql_fetch_array($resselectdip))
    {	
	$sqldips = 'select * from tb_paiements';
   // $nbsql += 1;
	if ($resselectdips = mysql_query($sqldips)) {
         while ($selectdips = mysql_fetch_array($resselectdips))
         {
   if ( $selectdips["num_licence"] == $selectdip["num_licence"])
					$color = 'class = ""';
				else
					$color = 'class = "rouge"';
	}
    			
	echo '<tr bgcolor="#FFFFFF" '.$color.'> 
    <td><div align = "center"><a href="modif_licencie.php?id_membre='.$selectdip["id_licence"].'">'.$selectdip["num_licence"].'</a></td>
    <td><div align = "center">'.$selectdip["nom"].'</td>
    <td><div align = "center">'.$selectdip["prenom"].'</td>
	<td><div align = "center">'.$selectdip["date_qualif"].'</td>
	<td align = "center" valign="middle"><form action="supp_licencie_action.php" name="form2" id="form2" method="post" onSubmit="if (confirm(\'VOULEZ VOUS VRAIMENT EFFACER DEFINITIVEMENT CE MEMBRE ?\')){return true;} else {return false;}"><input name="id_membre" type="hidden" value="'.$selectdip["id_licence"].'"><input name="Submit" type="submit" class="bouton" value="Sup"></form></td>
	<td align = "center" valign="middle"><form action="payer_licencie_action.php" name="form3" id="form3" method="post" onSubmit="if (confirm(\'VOULEZ VOUS ENREGISTRER LE PAIEMENT D\'UN LICENCIE ?\')){return true;} else {return false;}"><input name="num_licence" type="hidden" value="'.$selectdip["num_licence"].'"><input name="criteres" type="hidden" value="'.$criteres.'"><input name="Submit" type="submit" class="bouton" value="Payer"></form></td>
	<tr>';
    }
    }
	}
	
	?>
Avez vous la solution pour que tous les membres qui ne sont pas à jour soit Rouge ? merci pour votre aide.