Besoin d'un petit code source mysql php
Résolu
glodybiss
Messages postés
440
Date d'inscription
Statut
Membre
Dernière intervention
-
glodybiss Messages postés 440 Date d'inscription Statut Membre Dernière intervention -
glodybiss Messages postés 440 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Besoin d'un petit code source mysql php
- Code ascii - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
8 réponses
Bonjour,
Ca se fera en php (en faisant attention au format des dates !). Je vous mets la structure, à vous de mettre vos champs.
Ca se fera en php (en faisant attention au format des dates !). Je vous mets la structure, à vous de mettre vos champs.
for(tous les utilisateurs affichés){ $style =""; if(datefinactivation > date du jour){ $style = 'color:red'; }else{ $style = 'color:black'; } echo "<p style=' ".$style." >". $nom_utilisateur ."</p>"; }
Hello glodybiss, ça fait un bail ;-)
Rien à ajouter à AssassinTourist : rien à faire au niveau de ta DB ; c'est en PHP que tu vérifieras que cette dernière est antérieure ou non à la date actuelle.
Par contre je diffère avec AssassinTourist sur la méthode de mise en place du rouge. Je déconseille vivement l'utilisation de l'attribut "style" qui a un poids CSS très fort. Mieux vaut faire varier la classe du div et prévoir donc deux classes CSS.
Mihawk
"Tant qu'on ne fait pas, on ne sait pas."
Rien à ajouter à AssassinTourist : rien à faire au niveau de ta DB ; c'est en PHP que tu vérifieras que cette dernière est antérieure ou non à la date actuelle.
Par contre je diffère avec AssassinTourist sur la méthode de mise en place du rouge. Je déconseille vivement l'utilisation de l'attribut "style" qui a un poids CSS très fort. Mieux vaut faire varier la classe du div et prévoir donc deux classes CSS.
for(tous les utilisateurs affichés){ $class ="user"; if(datefinactivation > date du jour){ $class .= " active_user"; } else { $class .= " inactive_user"; } echo '<p class=\"'.$class.'">'. $nom_utilisateur .'</p>'; } <style> .user { /* Tous les attributs communs à tous les utilisateurs */ .inactive_user { color:red; } .active_user { color:green; } </style>
Mihawk
"Tant qu'on ne fait pas, on ne sait pas."
Merci Mihawk moi je dirai même que ça fait une éternité , c'est gentil et j'suis très content de te revoir (Je voulais dire de revoir tes solutions, lol !)
Assassin ! Jolie comme surnom, uhm! je te remercie aussi, je prends vos sources et je travail dessus je vous donne la suite peut être avant la fin de la journée. Thanks so munch
Assassin ! Jolie comme surnom, uhm! je te remercie aussi, je prends vos sources et je travail dessus je vous donne la suite peut être avant la fin de la journée. Thanks so munch
Bonjour ! Je reviens à vous
mon code n'a pas fonctionner mais je crois que j'y suis presque
regarder à quoi ressemble ce que j'ai fait, mais je crois que s'il ne fonction pas c'est peut être parce qu'il compare les dates comme des chaines des caractères il n'y a t-il pas un fonction qui peut faire ça ?
Aucune erreur et aucun résultat de ce que j'attends, les dates je la date d'active je la récupère dans la base des données.
mon code n'a pas fonctionner mais je crois que j'y suis presque
regarder à quoi ressemble ce que j'ai fait, mais je crois que s'il ne fonction pas c'est peut être parce qu'il compare les dates comme des chaines des caractères il n'y a t-il pas un fonction qui peut faire ça ?
<?php $host = 'localhost'; $user = 'root'; $pass =''; $db = 'mabase'; $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error()); mysql_select_db($db) or die ('Erreur :'.mysql_error()); //if ($link=0){ //echo "die"; //} else {echo "OK";} $sql = 'SELECT idetatsite, dateactiv FROM cyb_site'; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while($data=mysql_fetch_assoc($req)) { $class ="user"; if($data['dateactiv'] > date("Y-m-d")){ $class .= "active_user"; } else { $class .= "inactive_user"; } echo '<p class=\"'.$class.'">'.$data['idetatsite'].'';'</p>'; } ?>
Aucune erreur et aucun résultat de ce que j'attends, les dates je la date d'active je la récupère dans la base des données.
Mihawk je stocke sous format "Date"
Assassin je j'ai bien ajouter les classses dans mon style
voici le code complet
Assassin je j'ai bien ajouter les classses dans mon style
voici le code complet
<html> <head> <style type="text/css"> <!-- .user {color:#333;} /* Tous les attributs communs à tous les utilisateurs */ .inactive_user { color:#996600;} .active_user {color:#6666;} --> </style> </head> <body> <?php $host = 'localhost'; $user = 'root'; $pass =''; $db = 'mabase'; $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error()); mysql_select_db($db) or die ('Erreur :'.mysql_error()); //if ($link=0){ //echo "mawa"; //} else {echo "OK";} $sql = 'SELECT idetatsite, dateactiv FROM cyb_site'; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while($data=mysql_fetch_assoc($req)) { $class ="user"; if($data['dateactiv'] > date("Y-m-d")){ $class .= "active_user"; } else { $class .= "inactive_user"; } echo '<p class=\"'.$class.'">'.$data['idetatsite'].'';'</p>'; } ?> </body></html>
Oki, d'après ce lien https://www.commentcamarche.net/contents/1056-sql-creation-de-table ta date, c'est du genre 21/02/2012.
Il faut la convertir en 2012-02-21 avant de la comparer à ta Date("Y-m-d")
J'ai souvenir de faire ça salement avec la fonction split() de php, mais peut-être existe-t-il une autre solution :$
Il faut la convertir en 2012-02-21 avant de la comparer à ta Date("Y-m-d")
J'ai souvenir de faire ça salement avec la fonction split() de php, mais peut-être existe-t-il une autre solution :$
glodybiss par pitié écoute-nous (ou plutôt lis-nous) !
Il faut que tu demandes à PHP d'afficher le contenu de ta variable $data['dateactiv'] car dans ton code tu la compares à une date au format "2012-02-21" ; or si ça se trouve ta variable contient quelque chose comme "2012/02/21" donc les chaînes ne seront pas les mêmes, ce qui peut expliquer tes dysfonctionnements.
Dans le cas où ta variable $data['dateactiv'] contiendrait bien une date avec des slashs (et non pas des tirets) il faudrait alors utiliser le petit bout de code que j'ai posté ci-dessus afin de la mettre au bon format.
Tu suis ?
On veut bien te filer le code complet dont tu as besoin, mais ne connaissant pas le format de ta variable $data['dateactiv'], on ne peut rien pour toi.
Il faut que tu demandes à PHP d'afficher le contenu de ta variable $data['dateactiv'] car dans ton code tu la compares à une date au format "2012-02-21" ; or si ça se trouve ta variable contient quelque chose comme "2012/02/21" donc les chaînes ne seront pas les mêmes, ce qui peut expliquer tes dysfonctionnements.
Dans le cas où ta variable $data['dateactiv'] contiendrait bien une date avec des slashs (et non pas des tirets) il faudrait alors utiliser le petit bout de code que j'ai posté ci-dessus afin de la mettre au bon format.
Tu suis ?
On veut bien te filer le code complet dont tu as besoin, mais ne connaissant pas le format de ta variable $data['dateactiv'], on ne peut rien pour toi.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Essaye ça.
J'ai juste une réserve sur le preg_replace ; si ça ne marche pas on tentera autre chose.
Mihawk
"Tant qu'on ne fait pas, on ne sait pas."
J'ai juste une réserve sur le preg_replace ; si ça ne marche pas on tentera autre chose.
<?php $host = 'localhost'; $user = 'root'; $pass =''; $db = 'mabase'; $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error()); mysql_select_db($db) or die ('Erreur :'.mysql_error()); //if ($link=0){ //echo "die"; //} else {echo "OK";} $sql = 'SELECT idetatsite, dateactiv FROM cyb_site'; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while($data=mysql_fetch_assoc($req)) { $class ="user"; $dateUser = intval(preg_replace("#^(\d{4})-(\d{2})-(\d{2})$#", "$1$2$3", $data['dateactiv'])); $currentDate = intval(date("Ymd")); if($dateUser > $currentDate){ $class .= "active_user"; } else { $class .= "inactive_user"; } echo '<p class=\"'.$class.'">'.$data['idetatsite'].'';'</p>'; } ?>
Mihawk
"Tant qu'on ne fait pas, on ne sait pas."
Moi, j'ai soudain une question bête :$
As-tu dans tes résultats de ta base quelqu'un qui nous mettrait dans le rouge à un moment ?
Sinon quand tu disais que ton code ne marchait toujours pas, tu affichais quand même le nom de l'utilisateur (c'est juste qu'il n'était pas de la bonne couleur) ?
As-tu dans tes résultats de ta base quelqu'un qui nous mettrait dans le rouge à un moment ?
Sinon quand tu disais que ton code ne marchait toujours pas, tu affichais quand même le nom de l'utilisateur (c'est juste qu'il n'était pas de la bonne couleur) ?
Bonjour vous deux,
ça fait un temps que je vous taquine mais supporter cela s'il vous plait,:-)
Mihawk, j'ai essayé d'étudier le code et maintenant j'ai un résultat sauf que celui-ci ne prend pas en charge la condition pour dire qu'il ne vérifie pas les dates dates, il ne prend que la couleur du style inactive_user même quand la date du jour est supérieur à celle qui se trouve dans la base des données. Est-ce que la condition est bien faite ? essayé de revoir encore s'il vous plait.
ça fait un temps que je vous taquine mais supporter cela s'il vous plait,:-)
Mihawk, j'ai essayé d'étudier le code et maintenant j'ai un résultat sauf que celui-ci ne prend pas en charge la condition pour dire qu'il ne vérifie pas les dates dates, il ne prend que la couleur du style inactive_user même quand la date du jour est supérieur à celle qui se trouve dans la base des données. Est-ce que la condition est bien faite ? essayé de revoir encore s'il vous plait.
<html> <head> <style type="text/css"> <!-- .user {color:#ff0000;background:#333;} /* Tous les attributs communs à tous les utilisateurs */ .inactive_user { color:#fff;background:#074695;} .active_user {color:#000;background:#999;} --> </style> </head> <body> <?php $host = 'localhost'; $user = 'root'; $pass =''; $db = 'mabase'; $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error()); mysql_select_db($db) or die ('Erreur :'.mysql_error()); //if ($link=0){ //echo "die"; //} else {echo "OK";} $sql = 'SELECT idetatsite, dateactiv FROM cyb_site'; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while($data=mysql_fetch_assoc($req)) { $class ="user"; $dateUser = intval(preg_replace("#^(\d{4})-(\d{2})-(\d{2})$#", "$1$2$3", $data['dateactiv'])); $currentDate = intval(date("YYYY-mm-dd")); if($dateUser > $currentDate){ $class .= " active_user"; } else { $class .= " inactive_user"; } echo '<p class="'.$class.'">'.$data['idetatsite'].'</p>'; } ?> </body></html>
Ca y est c'est trouvé!
Je devais utiliser utiliser le STRTOTIME à la place de ceci : $dateUser = intval(preg_replace("#^(\d{4})-(\d{2})-(\d{2})$#", "$1$2$3", $data['dateactiv']));
Voici la correction.
GRAND MERCI à Mihawk et à Assassin qui m'ont beaucoup aider pour et pour les codes sources.
Je devais utiliser utiliser le STRTOTIME à la place de ceci : $dateUser = intval(preg_replace("#^(\d{4})-(\d{2})-(\d{2})$#", "$1$2$3", $data['dateactiv']));
Voici la correction.
$dateUser = strtotime($mysql_date); $currentDate = time(); if ($dateUser < $currentDate) { ... }
GRAND MERCI à Mihawk et à Assassin qui m'ont beaucoup aider pour et pour les codes sources.
Si datefinactivation > date du jour alors l'utilisateur est OK :)
Heureusement que tu es là ;)
Merci pour ton aide
voici ce que j'ai pu faire mais ce n'est pas trop concret je te montre peut être tu auras une idée...
Je n'ai pas bien saisie date du jour, à quoi ressemblera la date du jour dans mon code ?
toute mes dates sont stockée dans la base des données c'est là que je l'ai récupère.
voilà ce que j'ai essayé de faire
Les timestamp sont les plus faciles à manipuler.
plutôt que :
Sous réserve que Mihawk me corrige =)