Logique PHP ! Probleme

Résolu/Fermé
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 - 13 juin 2008 à 15:02
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 - 13 juin 2008 à 15:53
Bonjour,
Voici mon probleme :

$i=0; 
$timeout = 10;
$heure = time();
while($row = mysql_fetch_array($result)) 
{ 
	if ( ?? > ?? ){
			echo '<tr>'; 
			echo '<td width="80" bgcolor="#d4d4d4">'.$row[id].'</td>'; 
			echo '<td bgcolor="#d4d4d4">'.$row[departement].'</td>'; 
			echo '<td bgcolor="#d4d4d4">'.$row[commentaires].'</td>'; 			
			echo '<td><input type="checkbox" name="option'.$i.'" value="'.$row[id].'">acheter<br></td>';
			echo '</tr>'; 
			$i = $i+1; 
			echo '<input type="hidden" name="variable" value="'.$i.'">'; 	
					}			
} 



Voici $heure = time();
$timeout = 10;
$row['time'] est le time atribué par une requete precédente au champs "time" de Type INT

je souhaiterai que mon if n'affiche que les objets non perimés c'est a dire que le row[time] + timeout soit .... je ne sais pas !

qu'elle est la formule pour afficher que les objets valides et non périmes ... ( ne me sortez pas Abracadbra comme formule sinon je pete un cable ! )

Merci d'avance pour vos reponses

7 réponses

dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
13 juin 2008 à 15:12
si je met :


if ( $heure < $row['time'] + $timeout )
{

}

je pense que je n'ai pas le droit de mettre ca dans mon if ... pouvez m'aider dans la synthaxe svp ?
0
if (($row[time] + $timeout)<=time())

Non?

Mais tout doit être en secondes.
0
Pour ton deuxième message, c'est un problème de parenthèses. ;)

if ( $heure < ($row['time'] + $timeout ))
0
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
13 juin 2008 à 15:16
comment ca tout doit etre en secondes ?

mon time est du type 1213252426

je dois faire quoi ?
0
Time() te sort une valeur en seconde.
C'est le nombre de secondes écoulé depuis 1970 (a peu près mais ça on s'en fou).

Donc $row['time'] doit être au même format et $timeout doit être en seconde.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
13 juin 2008 à 15:28
Bien, merci !
par contre j'ai toujours un souci !
la formule ne dois pas etre la bonne, j'ai testé sur un devis qui a un row[time] = 1213152425, avec un timeout = 60
au bout de soixante secondes, mon devis est toujours affiché alors qu'il est périmé !

que dois je faire ! merci
0
Pour afficher les non périmés c'est

if ( $heure < ($row['time'] + $timeout ))

Sinon affiche les 3 valeurs pour recompter toi même.
0
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
13 juin 2008 à 15:37
c bien cela !!!
mais de base le time de mes devis est a 0 !!!!
donc 0+mon timeout de 60 ::> ne m'afiche rien !

j'ai donc mis cela !
if (( $heure < ($row['time'] + $timeout )) && ( $row['time'] == "0"))

bin il y a toujours rien !

je dois faire des fautes de synthaxes partout !
0
Lol, c'est encore un problème de parenthèses, et dans ce cas, il faut mettre un OU et non pas un ET.

if (($heure < ($row['time'] + $timeout )) || ($row['time'] == "0"))

Comme ça, ils seront affichés dans le cas ou le time du devis est égal à 0.
Mais sans date de départ, ton devis ne pourra jamais être périmé... C'est bizarre qu'il soit à 0 donc.
0
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
13 juin 2008 à 15:53
je te remercie, jsuis bete ! c'estOU qu'il faut mettre !
le time ne se met a jour que lorsque quelqu'un clique pour la premiere fois sur "acheter le devis".
a partir de la il sera perimé dans un certain timeout !

Voila bin cela fonctionne du tonnere de dieux !!!!

MERCI de m'avoir eclairé les yeux !!
0