Bonjour à tous lecteur,
Soit unfichier texte par rubrique contenant des informations sous la forme :
$id|$dy|$mth|$yr|$titre|$resum|
Soit la fonction suivante :
function afch($rb,$d,$m,$y,$min)
{
if($d!=0 && $m!=0 && $y!=0) {$cnd="$mb[1]==$d && $mb[2]==$m && $mb[3]==$y";}
elseif($d==0 && $m!=0 && $y!=0) {$cnd="$mb[2]==$m && $mb[3]==$y";}
elseif($d==0 && $m==0 && $y!=0) {$cnd="$mb[3]==$y";}
else {$cnd="$mb[1]!=$d && $mb[2]!=$m && $mb[3]!=$y";}
if($rb=="000") {$n=lctd("rubriques"); $mx=$n+1; $mn=0;} else {$mx=$rb+1; $mn=$mx-1;}
for($i=$mn;$i<$mx;$i++)
{
$max=$min+18;
$rub=idn($i);
if(file_exists("../news/$rub/news.txt"))
{
$fl=file("../news/$rub/news.txt");
$l=0;
foreach($fl as $ln)
{
$mb=explode("|",$ln);
if($cnd)
{
if($k<$min) {$k++; continue;}
if($j>=$max) {break;}
$j++;
$l++;
if($l%2==1) { $cg="l1g"; $cl="l1"; $cd="l1d"; } else { $cg="l2g"; $cl="l2"; $cd="l2d"; }
$lnk="<a href=\"javascript:popnws('$rub','$mb[0]')\"><img src='decors/vu.gif' hspace='4' border='0'></a>";
$ed="<a href='edit.php3?rub=$rub&id=$mb[0]'><img src='decors/edit.gif' hspace='4' border='0'></a>";
$chk="<input type='checkbox' name='id[]' value='$mb[0]'>";
$lst.="
<tr>
<td class='$cg'>$mb[0]</td>
<td class='$cl'> $mb[4]</td>
<td class='$cl'>$lnk</td>
<td class='$cl'>$ed</td>
<td class='$cd'>$chk</td>
</tr>";
}
}
}
}
return $lst;
}
Probleme : La fonction precedente est censée me permettre d'afficher la liste des news contenues dans les fichiers textes en fonctions des criteres de recherche choisis (correspondant aux 4 premieres lignes de la fonction) et correspondant à la condition $cnd. Hors si je remplace $cnd par l'une des conditions des 4 premieres lignes la fonction marche sans probleme mais pas si je la laisse telle quel elle affiche toutes les lignes du fichier correspondant à la rubrique demandée.
Quelqu'un saurait-il ou cela cloche car j'avoue ne pas y voir tres clair ? Merci d'avance.