par
loboblahz » 17 juil. 2010, 21:35
Je penses que cette page devrait aller.
Elle chargera directement la liste dans un SELECT, et ensuite s'appelle elle même pour afficher soit tous les arrêts soit celui choisi.
Je te laisses essayer, si jamais contrôle que le nom de fichier est bien correct. J'ai mis quelques CSS à toi de les adapter selon tes goûts.
J'espère que cela t'iras. C'est pas forcément très joli comme code, je l'ai fait en vitesse. Normalement j'évite de mettre de créer de l'HTML avec des echos.
<!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=UTF-8" />
<title>Document sans titre</title>
<style>
body{font-family:Verdana, Geneva, sans-serif; }
pre{margin:0px;}
h1{ font-size:18px; margin:3px;}
h2{ font-size:16px; margin:3px;}
h3{ font-size:14px; margin:3px;}
h4{ font-size:12px; margin:3px;}
td{ font-size:12px; margin:3px;}
.pair{ background-color:#EEE; }
.heure{ background-color:#AAA;padding-top:3px;padding-bottom:2px; }
.heure pre{ font-weight:bold; }
.legende{ font-style:italic; font-color:#3C6; }
</style>
</head>
<body>
<form action="afficher_arret.php" method="post">
Arrêt : <select name="arret">
<option value="">Tous</option>
<?
$contenuFichier=file_get_contents("text.txt");
$donnee = explode("\n",$contenuFichier);
foreach ($donnee as $key => $valeur){
if (preg_match("/<ARR>/i",$valeur)){
$ARR= str_replace('<ARR> ','',$valeur); // Supprimer le <mag> et les 3 espaces
?>
<option value="<? echo $ARR; ?>" <? if ($_POST['arret']==$ARR){ ?>selected="selected"<? } ?>><? echo $ARR; ?></option>
<? }
}
?>
</select>
<input type="submit" value="Rechercher" />
</form>
<table border="0" cellpadding="0" cellspacing="0">
<?php
$arForm = $_POST;
$bFiltre = (isset($arForm['arret']) && $arForm['arret']!=''); // Est-ce qu'on a reçu un formulaire et est-ce que le SELECT dans notre formulaire n'est pas sur "Tous"
$ARR = '';
foreach ($donnee as $key => $valeur){
if (preg_match("/<ARR>/i",$valeur)){
$ARR= str_replace('<ARR> ','',$valeur); // Supprimer le <mag> et les 3 espaces
if (($bFiltre && $ARR == $arForm['arret']) || !$bFiltre){
echo '<tr><td colspan="2"><h1>'.$ARR.'</h1></td></tr>';
}
}
if (($bFiltre && $ARR == $arForm['arret']) || !$bFiltre){
if (preg_match("/<DIR>/i", $valeur)){
$DIR= str_replace('<DIR> ','',$valeur);
if ($DIR!=''){ echo '<tr><td colspan="2"><h2>'.$DIR.'</h2></td></tr>'; }
}
if (preg_match("/<LIG>/i", $valeur)){
$LIG= str_replace('<LIG> ','',$valeur);
if ($LIG!=''){ echo '<tr><td colspan="2"><h3>'.$LIG.'</h3></td></tr>'; }
}
if (preg_match("/<PER>/i", $valeur)){
$PER= str_replace('<PER> ','',$valeur);
if ($PER!=''){ echo '<tr><td colspan="2"><h4>'.$PER.'</h4</td></tr>'; }
}
if (preg_match("/<HEU>/i", $valeur)){
$ligne=0;
$HEU = str_replace('<HEU> ','',$valeur);
$HEU = str_replace(' ',"\t",$HEU);
if ($HEU!=''){ echo '<tr><td class="heure"> </td><td class="heure"><pre>'.$HEU.'</pre></td></tr>'; }
}
if (preg_match("/<MIN>/i", $valeur)){
$ligne++;
if ($ligne%2 == 0){ $class='class="pair"'; }else{ $class=''; }
$MIN = str_replace('<MIN> ','',$valeur);
$MIN = str_replace(' ',"\t",$MIN);
if ($MIN!='' && str_replace(' ','',str_replace("\t",'',$MIN))!=''){ echo "<tr><td $class> </td><td $class><pre>$MIN</pre></td></tr>"; }
}
if (preg_match("/<LEG>/i", $valeur)){
$LEG= str_replace('<LEG> ','',$valeur);
if ($LEG!=''){ echo '<tr><td> </td><td class="legende"><br>'.$LEG.'</td></tr>'; }
}
}
}
?>
</table>
</body>
</html>
Je penses que cette page devrait aller.
Elle chargera directement la liste dans un SELECT, et ensuite s'appelle elle même pour afficher soit tous les arrêts soit celui choisi.
Je te laisses essayer, si jamais contrôle que le nom de fichier est bien correct. J'ai mis quelques CSS à toi de les adapter selon tes goûts.
J'espère que cela t'iras. C'est pas forcément très joli comme code, je l'ai fait en vitesse. Normalement j'évite de mettre de créer de l'HTML avec des echos.
[php]
<!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=UTF-8" />
<title>Document sans titre</title>
<style>
body{font-family:Verdana, Geneva, sans-serif; }
pre{margin:0px;}
h1{ font-size:18px; margin:3px;}
h2{ font-size:16px; margin:3px;}
h3{ font-size:14px; margin:3px;}
h4{ font-size:12px; margin:3px;}
td{ font-size:12px; margin:3px;}
.pair{ background-color:#EEE; }
.heure{ background-color:#AAA;padding-top:3px;padding-bottom:2px; }
.heure pre{ font-weight:bold; }
.legende{ font-style:italic; font-color:#3C6; }
</style>
</head>
<body>
<form action="afficher_arret.php" method="post">
Arrêt : <select name="arret">
<option value="">Tous</option>
<?
$contenuFichier=file_get_contents("text.txt");
$donnee = explode("\n",$contenuFichier);
foreach ($donnee as $key => $valeur){
if (preg_match("/<ARR>/i",$valeur)){
$ARR= str_replace('<ARR> ','',$valeur); // Supprimer le <mag> et les 3 espaces
?>
<option value="<? echo $ARR; ?>" <? if ($_POST['arret']==$ARR){ ?>selected="selected"<? } ?>><? echo $ARR; ?></option>
<? }
}
?>
</select>
<input type="submit" value="Rechercher" />
</form>
<table border="0" cellpadding="0" cellspacing="0">
<?php
$arForm = $_POST;
$bFiltre = (isset($arForm['arret']) && $arForm['arret']!=''); // Est-ce qu'on a reçu un formulaire et est-ce que le SELECT dans notre formulaire n'est pas sur "Tous"
$ARR = '';
foreach ($donnee as $key => $valeur){
if (preg_match("/<ARR>/i",$valeur)){
$ARR= str_replace('<ARR> ','',$valeur); // Supprimer le <mag> et les 3 espaces
if (($bFiltre && $ARR == $arForm['arret']) || !$bFiltre){
echo '<tr><td colspan="2"><h1>'.$ARR.'</h1></td></tr>';
}
}
if (($bFiltre && $ARR == $arForm['arret']) || !$bFiltre){
if (preg_match("/<DIR>/i", $valeur)){
$DIR= str_replace('<DIR> ','',$valeur);
if ($DIR!=''){ echo '<tr><td colspan="2"><h2>'.$DIR.'</h2></td></tr>'; }
}
if (preg_match("/<LIG>/i", $valeur)){
$LIG= str_replace('<LIG> ','',$valeur);
if ($LIG!=''){ echo '<tr><td colspan="2"><h3>'.$LIG.'</h3></td></tr>'; }
}
if (preg_match("/<PER>/i", $valeur)){
$PER= str_replace('<PER> ','',$valeur);
if ($PER!=''){ echo '<tr><td colspan="2"><h4>'.$PER.'</h4</td></tr>'; }
}
if (preg_match("/<HEU>/i", $valeur)){
$ligne=0;
$HEU = str_replace('<HEU> ','',$valeur);
$HEU = str_replace(' ',"\t",$HEU);
if ($HEU!=''){ echo '<tr><td class="heure"> </td><td class="heure"><pre>'.$HEU.'</pre></td></tr>'; }
}
if (preg_match("/<MIN>/i", $valeur)){
$ligne++;
if ($ligne%2 == 0){ $class='class="pair"'; }else{ $class=''; }
$MIN = str_replace('<MIN> ','',$valeur);
$MIN = str_replace(' ',"\t",$MIN);
if ($MIN!='' && str_replace(' ','',str_replace("\t",'',$MIN))!=''){ echo "<tr><td $class> </td><td $class><pre>$MIN</pre></td></tr>"; }
}
if (preg_match("/<LEG>/i", $valeur)){
$LEG= str_replace('<LEG> ','',$valeur);
if ($LEG!=''){ echo '<tr><td> </td><td class="legende"><br>'.$LEG.'</td></tr>'; }
}
}
}
?>
</table>
</body>
</html>
[/php]