[php] Problème de comparaison de date
steph70
-
balou01 Messages postés 86 Statut Membre -
balou01 Messages postés 86 Statut Membre -
Bonjour,
J'ai mis en place sur mon site un formulaire à remplir par les personnes de la mairie pour déclarer les coupures d'eau.
J'ai mis sur mon index un lien qui renvoie sur une page qui donne les coupures prévisionnelles et je veux que la balise <blink> ne fonctionne que lorsque la date d'une coupure correspond à la date du jour.
J'ai donc mis ceci dans mon index :
Et un peu plus loin :
Mais même si ca ne me renvoie pas d'erreur, ca ne fonctionne pas. Mon <blink> ne clignote pas alors que si je fais simplement un
Donc je suppose qu'il y a un probème sur la comparaison.
Pouvez vous m'aider svp ?
Merci d'avance
Amicalement
steph70
J'ai mis en place sur mon site un formulaire à remplir par les personnes de la mairie pour déclarer les coupures d'eau.
J'ai mis sur mon index un lien qui renvoie sur une page qui donne les coupures prévisionnelles et je veux que la balise <blink> ne fonctionne que lorsque la date d'une coupure correspond à la date du jour.
J'ai donc mis ceci dans mon index :
<?php
$date=date("Y-m-d");
mysql_connect("localhost", "login", "mdp"); // Connexion à MySQL
mysql_select_db("db"); // Sélection de la base db
$reponse = mysql_query("SELECT Date FROM coupures");
while ($donnees = mysql_fetch_array($reponse) )
{
if ($donnees==$date)
{
($b="<blink>Alerte coupures d'eau</blink>");
}
else
{
($b="Alerte coupures d'eau");
}
}
mysql_close(); // Déconnexion de MySQL
?>
Et un peu plus loin :
<a href="Les_coupures.php"><?php print ($b); ?></a>
Mais même si ca ne me renvoie pas d'erreur, ca ne fonctionne pas. Mon <blink> ne clignote pas alors que si je fais simplement un
<?php
$c=1;
if ($c ==1)
{
$b="<blink>Alerte coupures d'eau</blink>";
}
else
{
$b="Alerte coupures d'eau";
}
?>
Donc je suppose qu'il y a un probème sur la comparaison.
Pouvez vous m'aider svp ?
Merci d'avance
Amicalement
steph70
A voir également:
- [php] Problème de comparaison de date
- Comparaison million milliard - Accueil - Technologies
- Airpods 3 date de sortie - Guide
- Nombre de jours entre deux dates excel - Guide
- Office 2024 date de sortie - Accueil - Bureautique
- Samsung a33 date de sortie - Guide
8 réponses
while ($donnees = mysql_fetch_array($reponse) )
{
if ($donnees==$date)
J'ai juste vu ça pas cherché plus loin, déjà là tu as un gros problème.
mysql_fetch_array() renvoie un tableau, donc tu compares une variable à un tableau ce qui ne marchera pas.
normalement tu dois avoir un truc du genre :
if ($donnees['lenomdetadonneedanslatable'] == $date)
Oui, sauf que c'est bien un tableau puisque même si dans requête je ne demande qu'un champs, il y en a plusieurs de rempli non ?
Amicalement
Steph70
Amicalement
Steph70
Ok, j'avais mal compris ce que tu m'avais dit.
Ca fonctionne (enfin presque)
Voici mon code
Mon seul souci est que si la table est vide, je n'ai plus accès au lien.
Merci encore et si tu as une idée quand au dernier problème ca serait super.
Amicalement
Steph70
Ca fonctionne (enfin presque)
Voici mon code
<?php
$date=date("Y-m-d");
mysql_connect("localhost", "login", mdp"); // Connexion à MySQL
mysql_select_db(ldb"); // Sélection de la base db
$reponse = mysql_query("SELECT Date FROM coupures");
while ($donnees = mysql_fetch_array($reponse) )
{
if ($donnees['Date']==$date)
{
$b="<blink>Alerte coupures d'eau</blink>";
}
else
{
$b="Alerte coupures d'eau";
}
}
mysql_close(); // Déconnexion de MySQL
?>
Mon seul souci est que si la table est vide, je n'ai plus accès au lien.
Merci encore et si tu as une idée quand au dernier problème ca serait super.
Amicalement
Steph70
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
SAlut,
J'ai pas tout compris ce qui ce passait ou pas et ce que tu souhaitais mais essai peut etre avec ca (si j'ai pas trop mal compris...
J'ai pas tout compris ce qui ce passait ou pas et ce que tu souhaitais mais essai peut etre avec ca (si j'ai pas trop mal compris...
<?php
$date=date("Y-m-d");
mysql_connect("localhost", "login", "mdp"); // Connexion à MySQL
mysql_select_db("ldb"); // Sélection de la base db
$reponse = mysql_query("SELECT Date FROM coupures");
if($reponse != NULL)// Code si ta table contient au moins une date
{
while ($donnees = mysql_fetch_array($reponse) )
{
if ($donnees['Date']==$date)
{
$b="<blink>Alerte coupures d'eau</blink>";
}
else
{
$b="Alerte coupures d'eau";
}
}
else
{
// Code si ta table est vide (et par conséquent ton tableau $donnees est vide)
}
mysql_close(); // Déconnexion de MySQL
?>
Re et merci
Tu as parfaitement bien compris ce que je souhaitais faire.
Par contre meme si ta proposition semble correcte, elle ne fonctionne pas.
Si je n'ai rien dans ma table, je n'ai plus accès a mon lien et je ne comprend pas pourquoi puisque ta suggestion me parait totalement correcte.
Voici mon code :
Merci pour votre aide
Amicalement
Steph70
Tu as parfaitement bien compris ce que je souhaitais faire.
Par contre meme si ta proposition semble correcte, elle ne fonctionne pas.
Si je n'ai rien dans ma table, je n'ai plus accès a mon lien et je ne comprend pas pourquoi puisque ta suggestion me parait totalement correcte.
Voici mon code :
<?php
//Codage php pour le blink de la coupure d'eau
$date=date("Y-m-d");
mysql_connect("localhost", "login", "mdp"); // Connexion à MySQL
mysql_select_db("db"); // Sélection de la base db
$reponse = mysql_query("SELECT Date FROM coupures");
if($reponse!= NULL)// Si ta table contient au moins une date
{
while ($donnees = mysql_fetch_array($reponse) )
{
if ($donnees['Date']==$date)
{
$b="<blink>Alerte coupures d'eau</blink>";
}
else
{
$b="Alerte coupures d'eau";
}
}
}
else
{
$b="Alerte coupures d'eau";
}
mysql_close(); // Déconnexion de MySQL
?>
Merci pour votre aide
Amicalement
Steph70
Bonjour,
Voici la solution trouvée :
Et dans le texte :
Problème résolu. Merci a tous et en particulier à Heyoan qui m'a apporté la solution avec les explications.
Amicalement
Steph70
Voici la solution trouvée :
<?php
mysql_connect("localhost", "login", "mdp"); // Connexion à MySQL
mysql_select_db("db"); // Sélection de la base db
$sql = "SELECT Lieux' FROM coupures WHERE Date = CURRENT_DATE() LIMIT 1";
// Peu importe ce qui est SELECT-ionné (ici 'OK') puisqu'on ne s'occupera que du nombre de résultats !
// Le LIMIT 1 permet d'arrêter la requête dès qu'un résultat est trouvé puisque cela est suffisant pour le test à effectuer...
$reponse = mysql_query($sql) or die(mysql_error());
$style_du_jour = '';
if (mysql_num_rows($reponse) > 0) {
$style_du_jour = ' style="text-decoration: blink"';
}
mysql_close(); // Déconnexion de MySQL
?>
Et dans le texte :
<a href="Les_coupures.php"<?php echo $style_du_jour; ?>>Alerte coupures d'eau</a>
Problème résolu. Merci a tous et en particulier à Heyoan qui m'a apporté la solution avec les explications.
Amicalement
Steph70