je veux me simplifier la vie

tropdur77
Invité n'ayant pas de compte PHPfrance

11 avr. 2005, 13:34

Bonjour à tous,

comme vous pouvez le voir dans le fcodage ci-dessous, j'ai encodé le coloriage de mon tableau en fonction du lieu. Retrouvant ce codage dans plusieurs fichiers, je souhaite l'extraire dans un fichier particulier. Mais voila, je cherche depuis 3 jours et je n'ai pas trouvé.

Merci pour votre aide.

<html>


<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
	<title>Skydance Show - <?php echo "$page"; ?></title>
	<link rel="stylesheet" href="../../sds_style.css" type="text/css">
</head>


<?php include("../../connexion.php3"); ?>


<body background="../../graph/fond.jpg">

<?php

function table3html($tri,$filtre,$recherche){
	
	$sql = "SELECT DATE_FORMAT(jour, CONCAT( ELT( WEEKDAY(jour)+1, 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche'),', %d ', ELT( MONTH(jour), 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'),' %Y'))jour,danse,niveau,lieu,horaire,commentaire,professeur,tarif,id FROM `stage` WHERE `$filtre` LIKE '%$recherche%' ORDER BY `$tri` ASC";
	$mysqlResult = mysql_query($sql) or die ('Erreur SQL!<br>'.$sql.'<br>'.mysql_error());

	// Détermine la structure du tableau
	$fields = mysql_num_fields($mysqlResult);
	$totalLen = 0;

	// Construction de vecteurs avec les noms et la longueur des champs
	for ($i = 0; $i < $fields-1; $i++) {
		$tableN[$i] = mysql_field_name($mysqlResult,$i);
		$tableL[$i] = mysql_field_len($mysqlResult,$i);
		$totalLen = $totalLen + $tableL[$i];
	}
	$totalLen = $totalLen + 6;
	$tableN[0]="Date";
	$tableN[1]="Danse";
	$tableN[2]="Niveau";
	$tableN[3]="Lieu";
	$tableN[4]="Horaires";
	$tableN[5]="Commentaires";
	$tableN[6]="Professeur";
	$tableN[7]="Tarif";

	$tabletri[0]="id_tri";
	$tabletri[1]="danse";
	$tabletri[2]="niveau";
	$tabletri[3]="lieu";
	$tabletri[4]="horaire";
	$tabletri[5]="commentaire";
	$tabletri[6]="professeur";
	$tabletri[7]="tarif";
		
	// Ajout de la largeur des colonnes en % pour le tableau en HTML à afficher.
	$som = 6;
	for ($i = 0; $i < $fields-2; $i++) {
		$tableP[$i] = intval($tableL[$i]/$totalLen*1);
		$som = $som + $tableP[$i];
	}
	// De cette façon je m'assure que la longueur totale du tableau est 100%
	$tableP[$fields-2] = 1 - $som;

	// Début de la construction du tableau HTML
//	$couleur = "";
	$htmlTable = "";
	$htmlTable .= "<TABLE width=100% border=1>";


	// Ajout de l'entête du tableau
	$htmlTable .= "<TR>";
	for ($i = 0; $i < $fields-1; $i++) {
		$htmlTable .= "<TD width=$tableP[$i]% bgcolor=\"#FFFF00\" align=center class='textNoirNormal'><a href=../code/sds_stage_tri_fra.php3?tri=$tabletri[$i]&filtre=$filtre&recherche=$recherche><B>$tableN[$i]</B></a></TD>";
	}
	
	$htmlTable .= "</TR>";

	// Maitenant le vrai boulot: on construit le tableau!	
	$rows = mysql_num_rows($mysqlResult);
	for ($j = 0; $j < $rows; $j++) {
		
		$id = mysql_result($mysqlResult,$j,5);
	}	

$liste_lieu = mysql_query($sql);
while($lieu = mysql_fetch_array($liste_lieu)){

    // Et maintenant en couleur suivant le lieu
if ($lieu['lieu'] == 'Ferrières en brie') {$couleur = 'fff000';} //jaune
  elseif ($lieu['lieu'] == 'Roissy en brie') {$couleur = '000fff';} //bleu
  elseif ($lieu['lieu'] == 'Serris') {$couleur = '987654';} //marron
  else {$couleur = 'ffffff';} //blanc

	$htmlTable .= "<TR><TD class='textNoirNormal' bgcolor=".$couleur.">\n";
    $htmlTable .= $lieu['jour']."\n";
    $htmlTable .= "</TD>\n";
    $htmlTable .= "<TD class='textNoirNormal' bgcolor=".$couleur.">\n";
    $htmlTable .= $lieu['danse']."\n";
    $htmlTable .= "</TD>\n";
    $htmlTable .= "<TD class='textNoirNormal' bgcolor=".$couleur.">\n";
    $htmlTable .= $lieu['niveau']."\n";
    $htmlTable .= "</TD>\n";
    $htmlTable .= "<TD class='textNoirNormal' bgcolor=".$couleur.">\n";
    $htmlTable .= $lieu['lieu']."\n";
    $htmlTable .= "</TD>\n";
    $htmlTable .= "<TD class='textNoirNormal' bgcolor=".$couleur.">\n";
    $htmlTable .= $lieu['horaire']."\n";
    $htmlTable .= "</TD>\n";
    $htmlTable .= "<TD class='textNoirNormal' bgcolor=".$couleur.">\n";
    $htmlTable .= $lieu['commentaire']."\n";
    $htmlTable .= "</TD>\n";
    $htmlTable .= "<TD class='textNoirNormal' bgcolor=".$couleur.">\n";
    $htmlTable .= $lieu['professeur']."\n";
    $htmlTable .= "</TD>\n";
    $htmlTable .= "<TD class='textNoirNormal' bgcolor=".$couleur.">\n";
    $htmlTable .= $lieu['tarif']."\n";
    $htmlTable .= "</TD>\n";
    $htmlTable .= "</TR>\n";
}
// Et le tableau HTML est créé!
$htmlTable .= "</TABLE>";

return $htmlTable;
}

$tri = $_GET["tri"];
$filtre = $_GET["filtre"];
$recherche = $_GET["recherche"];


// Affichage de la liste
print(table3html($tri,$filtre,$recherche));

print("&nbsp;<br>");
print("&nbsp;<br>");
print("<a href=../code/sds_stage_tri_fra.php3?tri=id_tri&filtre=jour&recherche=><center><input type='submit' value='Faite votre propre recherche!'></center></a>");


// Fermeture de la connexion MySQL
mysql_close ();

?>


</body>
</html>

Mammouth du PHP | 859 Messages

11 avr. 2005, 13:38

Retrouvant ce codage dans plusieurs fichiers, je souhaite l'extraire dans un fichier particulier.
J'ai pas saisi :roll:

tropdur77
Invité n'ayant pas de compte PHPfrance

11 avr. 2005, 13:44

Flitox,

voici le code que je veux extraire :
$liste_lieu = mysql_query($sql);
while($lieu = mysql_fetch_array($liste_lieu)){

    // Et maintenant en couleur suivant le lieu
if ($lieu['lieu'] == 'Ferrières en brie') {$couleur = 'fff000';} //jaune
  elseif ($lieu['lieu'] == 'Roissy en brie') {$couleur = '000fff';} //bleu
  elseif ($lieu['lieu'] == 'Serris') {$couleur = '987654';} //marron
  else {$couleur = 'ffffff';} //blanc

    $htmlTable .= "<TR><TD class='textNoirNormal' bgcolor=".$couleur.">\n";
    $htmlTable .= $lieu['jour']."\n";
    $htmlTable .= "</TD>\n";
    $htmlTable .= "<TD class='textNoirNormal' bgcolor=".$couleur.">\n";
    $htmlTable .= $lieu['danse']."\n";
    $htmlTable .= "</TD>\n";
    $htmlTable .= "<TD class='textNoirNormal' bgcolor=".$couleur.">\n";
    $htmlTable .= $lieu['niveau']."\n";
    $htmlTable .= "</TD>\n";
    $htmlTable .= "<TD class='textNoirNormal' bgcolor=".$couleur.">\n";
    $htmlTable .= $lieu['lieu']."\n";
    $htmlTable .= "</TD>\n";
    $htmlTable .= "<TD class='textNoirNormal' bgcolor=".$couleur.">\n";
    $htmlTable .= $lieu['horaire']."\n";
    $htmlTable .= "</TD>\n";
    $htmlTable .= "<TD class='textNoirNormal' bgcolor=".$couleur.">\n";
    $htmlTable .= $lieu['commentaire']."\n";
    $htmlTable .= "</TD>\n";
    $htmlTable .= "<TD class='textNoirNormal' bgcolor=".$couleur.">\n";
    $htmlTable .= $lieu['professeur']."\n";
    $htmlTable .= "</TD>\n";
    $htmlTable .= "<TD class='textNoirNormal' bgcolor=".$couleur.">\n";
    $htmlTable .= $lieu['tarif']."\n";
    $htmlTable .= "</TD>\n";
    $htmlTable .= "</TR>\n";
} 

Merci pour ton aide

A+
Seb[/php]

Mammouth du PHP | 859 Messages

11 avr. 2005, 14:01

dans une autre page, tu mets :
<?php
$htmltable = table3html($tri_a_effectuer, $filtre_a_appliquer, $recherche_a_effectuer);

echo $htmltable;
?>
Mais honnêtement, mettre tout ça dans une fonction c'est vraiment se compliquer la vie...

Mise en page, code php, bdd mysql, tout y passe alors que tu pourrais passer des paramètres dans ton url pour désengorger cette fonction par exemple.

Le titre de ce message (pas conforme à la charte au passage) ne m'étonne pas :D