Re,
Le 00 est tout a fait normal sur les consigne Permanente etant donné que l'on ne met rien dans Date et par defaut il me met des 0000-00-00
Version imprimable
Re,
Le 00 est tout a fait normal sur les consigne Permanente etant donné que l'on ne met rien dans Date et par defaut il me met des 0000-00-00
Quand tu distu es trop précis je t'assure... :mouarf:Citation:
le 0000/00/00 des date me fait déconer le truc
Désolé je suis au taff :p
Alors je m'explique :
J'ai un site sans consigne, je met une consigne Permanente donc sans date, la led est bien la proch.gif (grise)
Si apres je met une consigne Temporaire avec des dates dont celle du jour il ne me la prend pas en compte il garde l'image proch.gif (grise) alors qu'elle devrais etre en nouv.gif (led verte)
Par contre si j'enleve après la consigne Permanent l'image change et devient nouv.gif (led verte)
Merci
Edition: c'est pas le 0000-00-00 qui pause probleme car meme en metant des date inférieur en consigne permanent ma seconde consigne provisoire n'est pas pris en compte.
Ok je doit donc trouvé une solution pour ces consigne Permanente
sinon pour enlevé la partie perim.gif cela ne pose pas de probleme ???
Dans tous les cas merci à toi et passe de bonne fête de fin d'année :) moi je plonge dans une solutionCode:
1
2
3
4 else if ($now > $row['dateAu']) { $row['statut'] = 'proch.gif'; }
A quel niveau remarque tu ces 0 ?
Donne le code ou tu remarques ça.
En tout cas je vois que tu utilise une fonction dateFR, ça ne viendrait pas de là ?
Pour ce qui est des images, dans ton 1er post c'était des png, maintenant des gif.
Il n'aurait pas une embrouille là ?
Puis je vois ceci :
Une URL qui commence par un point.Code:./img/c_perm.png
Normalement les . ont une signification dans un système de fichier (un OS), mais pour une URL, normalement non.
Théoriquement il ne faut pas mettre de point, juste : /img/c_perm.png
Pour indiquer au navigateur que l'URL commence au niveau du domaine.
Ceci dit, si ces image causes problème, le plus simple est dans 1er temps d'éviter de les afficher, affiche seulement leur nom :
Fais simple d'abord. ;)Code:<td><?php echo $row['statut']; ?></td>
@RunCodePhp :
1/ Les 0 se mette dans mon champs date SQL quand je ne met pas de Date.
2/ La fonction FR est juste pour l'affichage sur ce cas la je ne m'en sert pas.
3/ Les image entre temps ont changé ce sont des .png et plus des Gif.
Merci à toi :)
@rawsrc je l'avais fait bien avant de te demandé et aucuns autre probleme avec ces consignes permanente qui me gave lol
En faite il faudrais que dans le Statut les consignes permanentes ne soit pas comptées car elles n'ont pas de dates (table : tb_types_consigne / champ : 2)
Ah, d'accord.Citation:
1/ Les 0 se mette dans mon champs date SQL quand je ne met pas de Date.
C'est au niveau de l'insertion où ça n'irait pas.
Quelque chose comme, soit tu défini ces 2 date comme NULL par défaut, et faire en sorte de réellement obtenir une date NULL.
Faudrait alors peut être intégrer le fait qu'une date peut être NULL lors des conditions.
Ou alors insérer des dates par défaut.
Enfin, sans dire de bêtise parce que là, je n'est plus trop suivi. ;)
C'est bien ce que je pense mais le Hic c'st que nous n'avons pas de date pour ce genre de consigne la est le problèmes :zen::zen::marteau:
Edition plus simple je pense :
MA table consignes :
http://img685.imageshack.us/img685/3913/97738771.gif
Extraire tous les ID 2 du champ idtypeconsignes
Ce n'est théoriquement pas un problème.Citation:
le Hic c'st que nous n'avons pas de date pour ce genre de consigne la est le problèmes
S'il n'y a pas de date, alors il faut définir coté BDD et pour le(s) champ(s) concerné(s) que par défaut la valeur soit NULL.
NULL est certes un cas particulier, mais on peu le percevoir comme une valeur à par entière.
Regarde du coté de ta Bdd, comment est défini ces date là, et voire aussi comment les insertions/update sont fait.
En tout cas, ça se gère.
Et tout ça si je ne dis pas de bêtises. ;)
Ah, d'accord, ces champs sont réellement défini à NULL par défaut.
Alors le problème viendrait de l'insertion (code Php/SQL), de même qu'il faudra faire attention aux éventuels UPDATE aussi.
Là, il faudrait du code.
D'accord ba voila mon code d'insertion de consigne alors (en mode non nettoyé je présice) :
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 <?php include('conf.php'); $datej = $_POST["datej"] ; $idclients_sites = $_POST["idclients_sites"] ; $datec = $_POST["datec"] ; $date_du= $_POST["date_du"] ; $date_au = $_POST["date_au"] ; $consignes = $_POST["consignes"] ; $clients_sites_id = $_POST["clients_sites_id"] ; $idtypeconsignes = $_POST["idtypeconsignes"] ; $sql = "INSERT INTO tb_consignes (datej, datec, date_du, date_au, consignes, clients_sites_id, idtypeconsignes) VALUES ('$datej', '$datec', '$date_du', '$date_au', '$consignes', '$clients_sites_id', '$idtypeconsignes')"; //exécution de la requête SQL: $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ; //affichage des résultats, pour savoir si l'insertion a marchée: if($requete) { echo("<br><br><font color=green size=6><center><img src=\"./img/ajout_ok.png\"></center></font><br><br><br><br><br><br><br><br>") ; } else { echo("<br><br><font color=green size=6><center><img src=\"./img/ajout_nonok.png\"></center></font><br><br><br><br><br><br><br><br>") ; } ?>
Mes champs date dans le formulaire sont sous cette forme :
2011-12-31
Par ailleurs, si une consigne peu ne pas avoir de date, alors ça veut dire que sur ces 2 données là par rapport aux autres données de cette table, on aurait une relation 0,1.
Donc rien par moment.
Ca sous entend que normalement il faudrait "sortir" ces 2 données là de cette table pour créer une table dédiée, genre "date_consigne" pour y mettre uniquement les consignes ayant des dates.
Au bout, la non présence de date de consigne (de la ligne) revient à dire quelle est NULL.
Ici, théoriquement bien sûr, on respecterait mieux les normes SQL, et en plus, sa simplifiait le code coté applicatif (théoriquement toujours).
De plus, on serait plus proche de ce que ton secteur représente.
Un petit retour de rawsrc pourrait être intéressant.
Toi même, qu'est-ce que tu en penses ?
Je pense que c'est faisable dans les dires mais a voir dans la pratique de plus etant donné que SEUL les consignes PERMANENTE n'ont pas de date il n'y a pas moyens de les extraires comme tu le dis étant que j'ai une table à part pour le type de consigne avec ID 1 Temporaire / ID 2=Permanente ?
Je sais pas comment vous faite pour ne pas être saoulé je vous jures lol
Edit : genre :
SELECT * FROM tb_types_consigne LIMIT 1
(Pas tapé pas tapé)
Et bien ça ne sert à rien, je dirais même doublement à rien.Citation:
comme tu le dis étant que j'ai une table à part pour le type de consigne avec ID 1 Temporaire / ID 2=Permanente ?
Pourquoi ?
Car ce couple de date peuvent totalement être en contradiction avec la valeur du type.
- Comme d'un coté avoir des date, mais un type 2
- Et inversement, un type 1 sans avoir de date.
(ou l'inverse, je m'embrouille peut être, mais j'espère que tu vois quand même).
Rien que ça signifie qu'il te faut supprimer ces 3 données là de cette table, et créer une table (genre date_consigne) avec comme clé primaire "clients_sites_id" et les 2 date.
La présence d'une ligne signifiera non seulement le type, et auront des dates car il le faut.
La non présence signifiera là aussi l'autre type, qui lui n'a surtout pas besoin de date.
Vu comme ça, ça me parais la meilleure chose à faire.
Parce qu'on aime ça. :aie:Citation:
Je sais pas comment vous faite pour ne pas être saoulé je vous jures
Ok pour la création d'une table par contre je comprend pas pouquoi viré clients_sites_id alors qu'elle appartient a ma Table "tb_clients_sites" qui contient tous nos clients sites ?
Je suis avec mon chef et je lui ai dit que sa diode il pouvais oublié :(
Non, pas "clients_sites_id" mais les 2 dates (donc 2), et le idtypeconsigne (ce qui fait 3).Citation:
par contre je comprend pas pouquoi viré clients_sites_id alors qu'elle appartient a ma Table "tb_clients_sites" qui contient tous nos clients sites ?
Tu auras besoin de ce "clients_sites_id" pour faire la jointure de table, ce qui fait que tu devras rajouter cette 3èmes tables dans ta requêtes.
Tu devrais quand même pouvoir le faire, c'est même certain.Citation:
Je suis avec mon chef et je lui ai dit que sa diode il pouvais oublié
Le SQL permettra de savoir si une ligne n'existe pas dans l'autre table, et par conséquent de savoir qu'on aura affaire à un type "permanent" (ou l'inverse ... mouarf, je n'sais plus).
Un truc comme ceci :
Ici, tu va obtenir systématiquement des valeurs aux dates, tantôt de vrai dates (quand il y en a), tantôt la chaine "NULL", qui signifiera qu'il n'y aura pas de date.Code:
1
2
3
4
5
6 SELECT champ1, champ2, IF (date_consigne.clients_sites_id, date_consigne.date_du, "NULL") AS date_du, IF (date_consigne.clients_sites_id, date_consigne.date_au, "NULL") AS date_au, champ3 FROM ... WHERE ...
(j'ai mis comme chaine NULL, mais on peu mettre ce qu'on veut, comme "aucune_date", 0, ... peu importe).
Je te remercie je vais voir cela si je pète pas le PC du taff avec ces 6 écrans avant.