Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/11/2011, 16h34   #1
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
Par défaut gestion temps (modifier variable)

bonjour, je me casse la tete avec un soucis.

en image :


le code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<?php
/////---- desactivation
$renvs=mysql_query("SELECT * FROM panel WHERE  nick_handle='$nick_handle' ORDER BY heure_connect DESC LIMIT 1") or die ('Erreur : '.mysql_error());
$renv=mysql_fetch_assoc($renvs);
$heure1=$renv['heure_connect'];
 
$heure_fin = date("H:i:s", mktime(date("H"), date("i")+'20',  date("s")));
 
if ($heure1 > $heure_fin)
{
$active2="off_line";
$sql=("UPDATE panel SET  active='$active2' WHERE nick_handle='$nick_handle' AND client='$client'");
$data=mysql_query($sql) or die (mysql_error());
}
?>
ce que je cherche a faire c'est mettre a jour la bdd, c'est a dire que toute connexion dépassant 20 minutes pass en off-line hors je n'y arrive pas,
les temps sont correct :

$heure1 = heure de connexion du membres sous forme 00.00.00
$heure_fin = heure du moment + 20 minutes

donc dans la bdd toutes les connexion dépassant cette heure de fin doivent être désactivé sauf celle en cours.

merci car la je tourne en rond depuis ce matin voir même tôt/tard dans la nuit ...
asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2011, 19h09   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 454
Points : 3 454
Citation:
ce que je cherche a faire c'est mettre a jour la bdd, c'est a dire que toute connexion dépassant 20 minutes pass en off-line
Code :
1
2
3
UPDATE panel
SET active = 'off_line'
WHERE active = 'on_line' AND heure_connect < NOW( ) - INTERVAL 20 MINUTE
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2011, 19h14   #3
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 461
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 461
Points : 2 551
Points : 2 551
Envoyer un message via Skype™ à rawsrc
Bonjour,

Plusieurs questions :
- Pourquoi avoir séparé date et heure ? Un timestamp aurait été tout aussi approprié.
- Quand tu dis "toutes les connexion dépassant cette heure de fin doivent être désactivé sauf celle en cours", comment sais-tu que celle en cours ne dépasse pas le temps limite ? La session peut avoir été initialisée longtemps auparavant et être encore active ou inactive. Comment le savoir ? Tu devrais avoir un champ du type : activity avec un timestamp.

Sinon pour ta requête : tu peux le faire directement via les fonctions de MySql, pas besoin de cuisine en local :
Code :
$sql = "UPDATE panel SET active='off_line' WHERE nick_handle='$nick_handle' AND client='$client' AND TIME_TO_SEC(`heure`) < (TIME_TO_SEC(NOW()) - 20*60)";
Avec ton approche (séparer date et heure), ça va être mariole si les connexions démarrent la veille genre 23h55 et tu contrôles à 00h10 par exemple... Pour ce cas de figure, il est plus simple de reconstituer un timestamp (qui aurait dû être présent dès le début, mais bon):

Code :
$sql = "UPDATE panel SET active='off_line' WHERE nick_handle='$nick_handle' AND client='$client' AND TIMESTAMPDIFF(MINUTE, DATE_ADD(`date`, INTERVAL `heure` HOUR_SECOND), NOW()) > 20";
Sauf boulette de ma part
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2011, 00h37   #4
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
merci

alors j'ai fais comme ca :

Code :
$sql = "UPDATE panel SET active='off_line' WHERE nick_handle='$nick_handle' AND client='$client' AND TIMESTAMPDIFF(MINUTE, DATE_ADD(`date_connect`, INTERVAL `heure_connect` HOUR_SECOND), NOW()) > 20";
au début j'avais deux on-line et il me les a bien fermés par contre si je me
reconnecte je ne passe pas a on-line je reste a off-line même connecté et dans les - de 20mn d’écart, mais je croit que c'est du au passage de 23h00 a 00h00 car les délais sont bizarre car la il m'ajoute 1h30 sur le total:

Citation:
Connexion : 23:28:53
Autorisé : 00:56:22
alors que tout a l'heure il m'indiquait bien la différence.

je vais attendre demain pour voir si ca vient vraiment du passage a 00h00
asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 15h42   #5
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
alors j'ai réussi a régler ce soucis maintenant j'ai un soucis au niveau d'un comparaison de date.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
 
$etat5 ='fin de durée';
$etat6 ='actif';
 
/////-----mise a jour duree
	$datejour = date('d/m/Y');
	//la date du fin est stocké dans une base de données
        //on extracte la date du fin depuis la bdd et on la met dans une variable $datefin
	$datefin= $env['date_fin'];  
 
        //explode pour mettre la date du fin en format numerique: 12/05/2006  -> 12052006
	$dfin = explode("/", $datefin); 
 
        //explode pour mettre la date du jour en format numerique: 31/05/2009  -> 31052009
        $djour = explode("/", $datejour); 
 
        // concaténation pour inverser l'ordre: 12052006 -> 20060512
	$finab = $dfin[2].$dfin[1].$dfin[0];
        // concaténation pour inverser l'ordre: 31052009 -> 20090531
	$auj = $djour[2].$djour[1].$djour[0]; 
 
	// Ensuite il suffit de comparer les deux valeurs
 
	if ($auj>$finab)
	 { $sql=("UPDATE factures SET  etat='$etat5' WHERE nom='$nom' AND client='$client'  ");
       $data=mysql_query($sql) or die (mysql_error());}
 
	else
     { $sql=("UPDATE factures SET  etat='$etat6' WHERE nom='$nom' AND client='$client'  ");
       $data=mysql_query($sql) or die (mysql_error());}
 
 
//// fin mise a jour
tout passe en "fin de durée" alors que certaine date de fin sont encore valide.

merci
asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 16h04   #6
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 461
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 461
Points : 2 551
Points : 2 551
Envoyer un message via Skype™ à rawsrc
Bonjour,

Pour les dates il faut arrêter la cuisine :
Code :
1
2
3
4
5
$today = new DateTime('now');
$end   = DateTime::createFromFormat('d/m/Y', $env['date_fin']);
if ($today > $end) {
 
}
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 16h16   #7
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
merci,
j'ai fais comme ca mais la je n'est plus rien ..

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
/////-----mise a jour duree
     $today = new DateTime('now');
     $end   = DateTime::createFromFormat('d/m/Y', $env['date_fin']);
     if ($today > $end) 
 
	 { $sql=("UPDATE factures SET  etat='$etat5' WHERE nom='$nom' AND client='$client'  ");
       $data=mysql_query($sql) or die (mysql_error());}
 
	else
     { $sql=("UPDATE factures SET  etat='$etat6' WHERE nom='$nom' AND client='$client'  ");
       $data=mysql_query($sql) or die (mysql_error());}
----------------

j'ai modifier la premiere ligne qui me mettais en default :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
/////-----mise a jour duree
     $today = date("d/m/Y");
     $end   = DateTime::createFromFormat('d/m/Y', $env['date_fin']);
     if ($today > $end) 
 
	 { $sql=("UPDATE factures SET  etat='$etat5' WHERE nom='$nom' AND client='$client'  ");
       $data=mysql_query($sql) or die (mysql_error());}
 
	else
     { $sql=("UPDATE factures SET  etat='$etat6' WHERE nom='$nom' AND client='$client'  ");
       $data=mysql_query($sql) or die (mysql_error());}
voila le résultat :



les deux reste en etat actif alors que l'une des date n'est plus valable.
asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 16h27   #8
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 461
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 461
Points : 2 551
Points : 2 551
Envoyer un message via Skype™ à rawsrc
T'es sûr que $env['date_fin'] renvoie quelque chose ?
Parce que ceci fonctionne très bien :
Code :
1
2
3
4
5
6
<?php
$today = new DateTime('now');
$start = DateTime::createFromFormat('d/m/Y', '01/01/2011');
if ($today > $start) {
   echo 'testOk';
}
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 16h29   #9
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
et bien oui, regarde sur l'image la date de fin est un echo de $env['date_fin']
asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 16h30   #10
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 461
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 461
Points : 2 551
Points : 2 551
Envoyer un message via Skype™ à rawsrc
Citation:
Envoyé par asus02 Voir le message
les deux reste en etat actif alors que l'une des date n'est plus valable.
Vu que c'est un if/else, une requête UPDATE est envoyée quoi qu'il arrive donc le problème se situe au niveau de ton SQL ou d'un rafraichissement manquant
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 16h34   #11
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
dans sql les deux dates sont en vachar .

j'ai un enregistrement de date d'achat et un de date de fin

ex :

$date1=$env['date']; = ma date d'achat

$date_fin2=$env['date_fin']; = la date de fin

donc en faite je cherche juste a changer le statut des que l'une des date de fin est inferieur a la date du jour
asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 16h40   #12
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 461
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 461
Points : 2 551
Points : 2 551
Envoyer un message via Skype™ à rawsrc
Citation:
Envoyé par asus02 Voir le message
dans sql les deux dates sont en vachar
Cherches pas plus loin, le problème est là. Quand tu mets une date en varchar (simple texte), tu perds le sens des différents composants (jour, mois, année). Deuxième erreur : tu as conservé le formatage jj/mm/aaaa, tu aurais dû formater ainsi aaaammjj et dans ce cas tu aurais pu conserver (à la rigueur) ton format texte.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 16h43   #13
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
en faite je vient de pigé un truc, la variable $date_fin2 est dans un tableau dynamique don elle n'affiche que la date de fin correspondant a la varibale $ordre.

si je fais un echo $date_fin2 j'ai les deux dates se trouvant dans la base sql

resultat de l'echo : 14/11/201207/11/2011

ce qui fous le bordel..

pour mieux te montrer voici le code complet :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
 
$envs=mysql_query("SELECT * FROM factures WHERE client='$client' AND nom='$nom' ORDER BY ordre DESC LIMIT 5") or die ('Erreur : '.mysql_error());
$total5 = mysql_num_rows($envs);
 
 
//début du tableau
echo '<table width="560" border="0"><tr>
<td class="td1" width="155px">Produits</td>
<td class="td1" width="157px">Date achat</td>
<td class="td1" width="137px">Date de fin</td>
<td class="td1" width="100px">Etat</td>
<td class="td1" width="137px">Duree</td>
<td class="td1" width="137px">Renouveller</td></tr>'; //Création du tableau
for ($i=0;$i<10;$i++)
 
while ($env = mysql_fetch_array($envs))
{
$produit1=$env['produit'];
$date1=$env['date'];
$duree1=$env['duree'];
$etat1=$env['etat'];
$transaction_id1=$env['transaction_id'];
$date_fin2=$env['date_fin'];
echo $date_fin2;
////-----
 
$point_rec='points recharge';
$etat5 ='fin de durée';
$etat6 ='actif';
 
/////-----mise a jour duree
     $today = date("d/m/Y");
     $end   = $env['date_fin'];
     if ($today > $end) 
 
	 { $sql=("UPDATE factures SET  etat='$etat5' WHERE nom='$nom' AND client='$client'  ");
       $data=mysql_query($sql) or die (mysql_error());}
 
	else
     { $sql=("UPDATE factures SET  etat='$etat6' WHERE nom='$nom' AND client='$client'  ");
       $data=mysql_query($sql) or die (mysql_error());}
 
 
//// fin mise a jour
 
if ($etat1 == $etat5) 
    {$renouveller='<font color="red"><blink>Renouveller</blink></font>';}
else
    {$renouveller = '<font color="green">Renouveller</font>';}
 
if ($produit1 == $point_rec) 
    {$renouveller ='<font color="green">Achat points</font>';}
 
 
{
 
	echo '<tr class="prem '.( ($i % 2 == 0) ? 'classe1' : 'classe2' ).'">';
	echo '<td width="130px"><font size="1">'.$produit1.'</font></td>'; //Création d'une nouvelle colonne
	echo '<td width="130px"><font size="1">'.$date1.'</font></td>'; //Création d'une nouvelle colonne
	echo '<td width="137px"><font size="1">'.$date_fin2.'</font></td>'; //Création d'une nouvelle colonne
	echo '<td width="100px"><font size="1">'.$etat1.'</font> </td>'; //Création d'une nouvelle colonne
	echo '<td width="137px"><font size="1">'.$duree1.'</td></font>'; //Création d'une nouvelle colonne
	echo '<td width="137px"><font size="1"><b>'.$renouveller.'</b></td></font>'; //Création d'une nouvelle colonne
	echo '</tr>'; //Fin de la ligne
 
	}
 
  $i++;	
} //fin de la boucle sur les résultats
echo '</table>'; //Fermeture du tableau
  ?>
asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 16h57   #14
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 461
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 461
Points : 2 551
Points : 2 551
Envoyer un message via Skype™ à rawsrc
J'ai regardé ton script :
ligne 5 : $total5 jamais utilisé
ligne 16 : for() inutile : pas d'accolade ouvrante

Formatage du tableau incorrect : aucun thead | tbodyL'attribut width ne prend pas d'unité

Après pour ton problème de date, il faut regarder de plus près ta syntaxe SQL car je ne vois pas de $ordre
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 17h00   #15
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
nom excuse y'a pas de $ordre il s'agit juste d'une auto incrementation dans la bdd

mais comment faire en sorte que $date_fin n'affiche pas toutes les dates a l'affiler et que je puisse juste comparer une date de fin avec une date de jour afin de modifier la valeur.

et pour le tableau ce sont des membres (moderateur) d'ici qui m'avais corrigé a l'époque je n'est rien changé depuis..
asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 17h06   #16
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 461
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 461
Points : 2 551
Points : 2 551
Envoyer un message via Skype™ à rawsrc
Si tu as des dates à la queue le leu, cela veut dire que ton champ date_fin contient ces dates. Un SELECT * FROM factures; ne concatène pas tout seul les champs de la table (heureusement). Donc, il faut aller vérifier ta table.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 18h44   #17
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 461
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 461
Points : 2 551
Points : 2 551
Envoyer un message via Skype™ à rawsrc
J'ai repris ton code, je l'ai corrigé et présenté différemment :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
 
$client = mysql_real_escape_string($client);
$nom    = mysql_real_escape_string($nom);
$sql    = "SELECT * FROM factures WHERE client='$client' AND nom='$nom' ORDER BY ordre DESC LIMIT 5";
$res    = mysql_query($sql) or die ('Erreur : '.mysql_error());
 
$today = new DateTime('now');
$etat5 = 'fin de durée';
$etat6 = 'actif';
 
$data  = array();
$i     = -1;
 
while($row = mysql_fetch_assoc($res)) {
   $end  = DateTime::createFromFormat('d/m/Y', $row['date_fin']);
   $etat = ($today > $end) ? $etat5 : $etat6;
   $sql  = "UPDATE factures SET  etat='$etat' WHERE nom='$nom' AND client='$client';";
   $exec = mysql_query($sql) or die ('Erreur : '.mysql_error());
 
   if ($row['produit'] === 'points recharge') {
      $row['renouveler'] = '<font size="1" color="green"><b>Achat points</b></font>';
   }
   else
   if ($row['etat'] === $etat5) {
      $row['renouveler'] = '<font size="1" color="red"><b><blink>Renouveler</blink></b></font>';
   }
   else {
      $row['renouveler'] = '<font size="1" color="green"><b>Renouveler</b></font>';
   }
 
   $row['tr_class'] = (++$i % 2) ? 'class2' : 'class1';
   $data[] = $row;
}
?>
<table width="560" border="0">
   <thead>
      <tr>
         <th class="td1" width="155">Produits</th>
         <th class="td1" width="157">Date achat</th>
         <th class="td1" width="137">Date de fin</th>
         <th class="td1" width="100">Etat</th>
         <th class="td1" width="137">Durée</th>
         <th class="td1" width="137">Renouveler</th>
      </tr>
   </thead>
   <tbody>
      <?php foreach($data as $row): ?>
      <tr class="prem <?php echo $row['tr_class']; ?>">
         <td width="130"><font size="1"><?php echo $row['produit']; ?></font></td>
         <td width="130"><font size="1"><?php echo $row['date']; ?></font></td>
         <td width="137"><font size="1"><?php echo $row['date_fin']; ?></font></td>
         <td width="100"><font size="1"><?php echo $row['etat']; ?></font></td>
         <td width="137"><font size="1"><?php echo $row['duree']; ?></font></td>
         <td width="137"><?php echo $row['renouveler']; ?></td>
      </tr>
      <?php endforeach; ?>
   </tbody>
</table>
Sauf boulette de ma part.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 19h01   #18
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
merci c'est très sympa de prendre du temps pour m'aider, je vient de tester mais il doit y avoir une erreur de syntax car la page reste blanche et ne s'ouvre pas, j'ai cherché mais je voit pas trop ou ca bloque.

merci


alors j'ai modifier cette ligne

$today = date("d/m/Y");

maintenant la page s'afficher bien mais la date qui etais inferieur a la date du jour ne s'affiche plus,

je n'est plus que celle qui est encore valable par contre en bdd le statut de l'autre n'a pas changé

en faite le tableau ne m'affiche qu'une seule date et la derniere,
j'ai fais un test en inversant les numero ordre et j'ai l'affichage de l'autre mais meme si la date n'est pas bonne cela rest toujours en "actif"
asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 19h19   #19
Expert Confirmé
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 1 461
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 35
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 1 461
Points : 2 551
Points : 2 551
Envoyer un message via Skype™ à rawsrc
Peut en mettant ceci en ligne 19 :
Code :
$exec = mysql_query($sql) or die ('Erreur : '.mysql_error());
à la place de :
Code :
$res = mysql_query($sql) or die ('Erreur : '.mysql_error());
Si tu as modifié tes champs en date et que tu es absolument sûr des données contenues dans ta base, je ne vois pas trop pourquoi ça ne fonctionne pas comme prévu. Il faut continuer à creuser jusqu'à peut-être trouver du pétrole
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2011, 19h23   #20
Futur Membre du Club
 
Homme olivier lebaron
Webmaster
Inscription : octobre 2007
Messages : 125
Détails du profil
Informations personnelles :
Nom : Homme olivier lebaron
Localisation : France, Drôme (Rhône Alpes)

Informations professionnelles :
Activité : Webmaster

Informations forums :
Inscription : octobre 2007
Messages : 125
Points : 18
Points : 18
effectivement j'ai bien l'affichage de mes deux lignes.

par contre sur celle ci j'ai

Citation:
06/11/2011 | 07/11/2011 | actif
alors que la date fin est inferieur a la date du jour elle reste en mode actif

edit : tu veut dire que dans la bdd je doit passer de vachar a date sur les deux données $date et $date_fin ?

je sais que c'est pas clin mais ma table est comme ca :

asus02 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h04.


 
 
 
 
Partenaires

Hébergement Web