re-re-salut, décidement je me débrouille mal, j'ai sans arret besoin de vous.
Je fait un script de petites annonces, et je voudrais qu'il supprime automatiquement les annonces de + de 60 jours.
pour le moment j'essai de remplir un champ que j'ai appellé "dif_jour" avec la différence des jours entre la date d'entrée et la date actuelle.
Le nombre de jours s'appelle "$jour[0]" et j'arrive à l'afficher dans chaque message, par exemple le 1er message a 31 jours et le 2eme 61 jours.
Le problème est qu'en utilisant la fonction update à l'interieur de WHILE, il me rempli tous les champs dif_jour avec 61 et ne tiens pas compte des autres.
Voici le bout de code
// variable qui contient la différence des 2 dates
$jour_affichage=mysql_query("select to_days(now()) - to_days(date) from annonces" );
//si le nombre de ligne de résultat>0 alors afficher les résultats un par un ainsi que le nombre de jours écoulés
if ($lignes!=0) {
while ($rows = mysql_fetch_array($result) and $jour = mysql_fetch_array($jour_affichage))
{
//met à jour le champ dif_jour pour chaque enregistrement
mysql_query("update annonces SET dif_jour = $jour[0]" );
// affichage du tableau des annonces
echo ("<table border='0' cellpadding='2' cellspacing='2' width='70%' BGCOLOR='#454545'>
<tr BGCOLOR='#000000'>
<td>
<table border='0' cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td><b><FONT COLOR='#FF6600'>$rows[1]</FONT></b></td>
<td align='right'>$rows[7]</td>
<!-- comptage du nombre de jour d'affichage et là ca fonctionne-->
<TD> déjà $jour[0] jours</TD>
</tr>
</table>
</td>
</tr>
<tr>
<td><B>$rows[4]</B></td>
</tr>
<tr>
<td>
<table border='0' cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td><B><FONT COLOR='#0000FF'>Email:  </B></FONT><a href='mailto:$rows[3]'>$rows[3]</a></td>
<td align='right'>" ); if ($rows[6]!=0) {echo"<B><FONT COLOR='#0000FF'>Tel:  </FONT>$rows[6]</B>";}
echo ("</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
" );
}
echo "</tr></table>";
Message édité par mecano1 le 08-08-2002 à 14:39:00