Bonjour,
Débutant avec PHP, j'aurais besoin de votre aide.
Existant :
- 1 fichier csv composé comme suit:
entete1;entete2;entete3;entete4;
valeur1;valeur11;valeur111;valeur1111;
valeur2;valeur22;valeur222;valeur2222;
valeur3;valeur33;valeur333;valeur3333;
valeur ......
J'affiche le tableau extrait du csv dans une page PHP avec balise de mise en forme (tableau html)
Par contre, je souhaiterais afficher toutes les valeurs "entete4" avec de la couleur.
si valeur1111 = "0" dans le csv then cellule du tableau dans page PHP = "green"
si valeur1111 = "1" dans le csv then cellule du tableau dans page PHP = "red"
si valeur2222 = "0" dans le csv then cellule du tableau dans page PHP = "green"
si valeur2222 = "1" dans le csv then cellule du tableau dans page PHP = "red"
Pourriez-vous m'aider ?
merci d'avance.
Voici mon code :
<?php
$vCSVdelimiter = ';'; $vCSVenclosure = '"'; $vCSVescape = '\\'; // paramètres CSV
$CheminDuCsv = '../csv/20130123-Sites.csv';
if ( !( ($vFichier = file_get_contents( $CheminDuCsv )) === FALSE ) ) {
$vFichier = str_replace( chr(13).chr(10) , chr(13) , $vFichier ); // remplace crlf par cr
$vFichier = str_replace( chr(10) , ' ' , $vFichier ); // remplace lf par un blanc ; (lf (0A) est utilisé par Excel pour les changements de lignes de texte à l'intérieur d'une cellule)
$lines = explode( chr(13) , $vFichier ); // converti la chaîne qui est dans $vFichier en tableau associatif ($lines)
if ( ! ( (strpos( $lines[0], $vCSVdelimiter)) === FALSE ) ) {
$vNbCol = substr_count( $lines[0], $vCSVdelimiter ) + 1 ; // nb colonnes de la première ligne
$vNoLigFicDon = 0 ; // init compteur numéro de ligne du fichier de données
$tDonnesLues = array();
foreach ($lines as $line) {
if ( ! ( strpos( $line, $vCSVdelimiter) === FALSE ) ) {
$tCsvDatas = str_getcsv( $line, $vCSVdelimiter, $vCSVenclosure, $vCSVescape) ;
$vNoLigFicDon++;
for ( $vNoColFicDon=1 ;$vNoColFicDon <= $vNbCol ; $vNoColFicDon++ ) {
if ( isset( $tCsvDatas[$vNoColFicDon-1] ) ) {
$vDonnee = preg_replace("( +)",' ',trim( $tCsvDatas[$vNoColFicDon-1] ) ) ; // avec suppr des blancs devant, derrière, et redondants
} else {
$vDonnee = '';
}
$tDonnesLues[$vNoLigFicDon][$vNoColFicDon] = $vDonnee ;
}
}
}
}
}
echo '<table width=150% BORDER="1">';
for ( $vNoLigne=1 ;$vNoLigne <= $vNoLigFicDon ; $vNoLigne++ ) {
echo '<tr>';
for ( $vNoColFicDon=1 ;$vNoColFicDon <= $vNbCol ; $vNoColFicDon++ ) {
echo '<td>';
print count($vNoLigFicDon) == 0 ? "not ok\n" : '<font color="blue"><b>';
// print count($vDonnee) == 1 ? "ok\n" : "not ok\n";
//if ( $vNoColFicDon == 4 ) echo '<font color="green"><b>';
if ( $vNoLigne == 1 ) echo '<font color="blue"><b>';
echo ''.Htmlentities( $tDonnesLues[$vNoLigne][$vNoColFicDon] ,ENT_QUOTES,'ISO-8859-15').'</td>';
}
echo '</tr>';
}
echo '</table>';
?>