par
Johnstyle » 27 oct. 2006, 11:38
c'est bon j'ai entierement revu mon code.
Le trie se fait correctement mais maintenant j'ai un autre souci :p
donc le trie se fait decroissant
mais toutes les 5 ligne je creer un nouvelle page et les résultats sortent comme ceci :
page1
doc 05
doc 04
doc 03
doc 02
doc 01
page 2
doc 10
doc 09
doc 08
doc 07
doc 06
ect ...
alors que j'aimerai que ce soit l'inverse
page 1
doc 10
doc 09
doc 08
doc 07
doc 06
page2
doc 05
doc 04
doc 03
doc 02
doc 01
ect ...
je pense qu'il faut juste modifier la partie du code qui creer une nouvelle page mais je n'y arrive pas ..
<table width="100%" cellpadding="5" cellspacing="5" >
<tr>
<td align="left"><div class="titre"><u>Les Docs </u></div></td>
</tr>
<tr>
<td align="left"><table width="100%" >
<tr>
<td>Documents : </td>
<td width="200" align="right"> </td>
</tr>
<tr>
<td> </td>
<td align="right"> </td>
</tr>
</table>
<?
$Nmax = 5; // nombre par page
$Ncur = -2; // n° de la fiche courante
$Ndeb=@$_GET["num"]; // 1ère fiche transmise par l'URL
$PATH = '../docs/';// Listage d'un répertoire $PATH
if ($dir = @opendir($PATH)) {// ouverture du dossier
while (($file = readdir($dir)) && ($Ncur<$Nmax+$Ndeb)) {
if($Ncur>=$Ndeb) { // lecture d'une entrée
//création d'un tableau à 2 colonnes : nom + date fichiers
if ($file!=='.' && $file!=='..'){
$tab[] = array($file); }}
// une de plus
$Ncur++;
// sauvegarde du nom du fichier et de sa date
}
closedir($dir); // fermeture du dossier
}
//tri du tableau sur les dates
function cmp($a,$b) {
if ($a[1] == $b[1])
return 0;
return ($a[1] < $b[1]) ? -1 : 1;
}
usort($tab, "cmp");
foreach($tab as $elem) {
//formatage de la date avec mktime() selon le format retourné par filemtime()
require_once("../docs/$elem[0]");
echo "<table width='100%' cellpadding='5'>";
echo "<tr>";
echo "<td width='25%' rowspan='3' align='center'>".$image."</td>";
echo "<td colspan='2' class='titre'>".$titre."</td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan='2'>".$description."</td>";
echo "</tr>";
echo "<tr>";
echo "<td width='42%'> </td>";
echo "<td width='33%'><div align='center'><a href='index.php?page=down'>Télécharger</a></div></td>";
echo "</tr>";
echo "</table>";
}
?>
<table width="100%" >
<tr>
<td> </td>
<td align="right"> </td>
</tr>
<tr>
<td> </td>
<td width="200" align="right">
<table cellpadding=3><tr>
<?
// Navigation
// Des fiches avant ?
if($Ndeb > 0) { ?>
<td>
<A href="?num=<? echo $Ndeb-$Nmax; ?>"
>Retour</A>
</td>
<? }
// Des fiches après ?
if($file) { ?>
<td>
<A href="?num=<? echo $Ncur; ?>">Suite</A>
</td>
<? } ?>
</tr></table>
</td>
</tr>
</table></td>
</tr>
</table>
merci
c'est bon j'ai entierement revu mon code.
Le trie se fait correctement mais maintenant j'ai un autre souci :p
donc le trie se fait decroissant
mais toutes les 5 ligne je creer un nouvelle page et les résultats sortent comme ceci :
[b]page1[/b]
doc 05
doc 04
doc 03
doc 02
doc 01
[b]page 2 [/b]
doc 10
doc 09
doc 08
doc 07
doc 06
ect ...
alors que j'aimerai que ce soit l'inverse
[b]page 1 [/b]
doc 10
doc 09
doc 08
doc 07
doc 06
[b]page2[/b]
doc 05
doc 04
doc 03
doc 02
doc 01
ect ...
je pense qu'il faut juste modifier la partie du code qui creer une nouvelle page mais je n'y arrive pas ..
[php]<table width="100%" cellpadding="5" cellspacing="5" >
<tr>
<td align="left"><div class="titre"><u>Les Docs </u></div></td>
</tr>
<tr>
<td align="left"><table width="100%" >
<tr>
<td>Documents : </td>
<td width="200" align="right"> </td>
</tr>
<tr>
<td> </td>
<td align="right"> </td>
</tr>
</table>
<?
$Nmax = 5; // nombre par page
$Ncur = -2; // n° de la fiche courante
$Ndeb=@$_GET["num"]; // 1ère fiche transmise par l'URL
$PATH = '../docs/';// Listage d'un répertoire $PATH
if ($dir = @opendir($PATH)) {// ouverture du dossier
while (($file = readdir($dir)) && ($Ncur<$Nmax+$Ndeb)) {
if($Ncur>=$Ndeb) { // lecture d'une entrée
//création d'un tableau à 2 colonnes : nom + date fichiers
if ($file!=='.' && $file!=='..'){
$tab[] = array($file); }}
// une de plus
$Ncur++;
// sauvegarde du nom du fichier et de sa date
}
closedir($dir); // fermeture du dossier
}
//tri du tableau sur les dates
function cmp($a,$b) {
if ($a[1] == $b[1])
return 0;
return ($a[1] < $b[1]) ? -1 : 1;
}
usort($tab, "cmp");
foreach($tab as $elem) {
//formatage de la date avec mktime() selon le format retourné par filemtime()
require_once("../docs/$elem[0]");
echo "<table width='100%' cellpadding='5'>";
echo "<tr>";
echo "<td width='25%' rowspan='3' align='center'>".$image."</td>";
echo "<td colspan='2' class='titre'>".$titre."</td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan='2'>".$description."</td>";
echo "</tr>";
echo "<tr>";
echo "<td width='42%'> </td>";
echo "<td width='33%'><div align='center'><a href='index.php?page=down'>Télécharger</a></div></td>";
echo "</tr>";
echo "</table>";
}
?>
<table width="100%" >
<tr>
<td> </td>
<td align="right"> </td>
</tr>
<tr>
<td> </td>
<td width="200" align="right">
<table cellpadding=3><tr>
<?
// Navigation
// Des fiches avant ?
if($Ndeb > 0) { ?>
<td>
<A href="?num=<? echo $Ndeb-$Nmax; ?>"
>Retour</A>
</td>
<? }
// Des fiches après ?
if($file) { ?>
<td>
<A href="?num=<? echo $Ncur; ?>">Suite</A>
</td>
<? } ?>
</tr></table>
</td>
</tr>
</table></td>
</tr>
</table>[/php]
merci