Recherche d'informations
Résolu/Fermé
Pierre_6790
Messages postés
16
Date d'inscription
lundi 15 novembre 2021
Statut
Membre
Dernière intervention
23 novembre 2021
-
23 nov. 2021 à 11:10
Pierre_6790 Messages postés 16 Date d'inscription lundi 15 novembre 2021 Statut Membre Dernière intervention 23 novembre 2021 - 23 nov. 2021 à 16:38
Pierre_6790 Messages postés 16 Date d'inscription lundi 15 novembre 2021 Statut Membre Dernière intervention 23 novembre 2021 - 23 nov. 2021 à 16:38
A voir également:
- Recherche d'informations
- Entrer les informations d'identification reseau - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Recherche adresse - Guide
- Recherche musique - Guide
4 réponses
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
23 nov. 2021 à 13:17
23 nov. 2021 à 13:17
Bonjour
Là, comme ça, je vais dire oui...
Après, il faudrait nous détailler ce que tu appelles liste... Éventuellement nous montrer un exemple de ce qu'elle contient et éventuellement également ce que tu as déjà essayé...
Là, comme ça, je vais dire oui...
Après, il faudrait nous détailler ce que tu appelles liste... Éventuellement nous montrer un exemple de ce qu'elle contient et éventuellement également ce que tu as déjà essayé...
Pierre_6790
Messages postés
16
Date d'inscription
lundi 15 novembre 2021
Statut
Membre
Dernière intervention
23 novembre 2021
23 nov. 2021 à 13:41
23 nov. 2021 à 13:41
Comme détails je pourrai vous dire que j'ai une variable $date et que j'aimerais que si la valeur de la variable $date se trouvent dans une liste (ça serait la condition de mon if) je ferais une action ( dans ce cas ci changerais la couleur de cette date)
J'ai déjà essayer de créer une liste et de comparer les éléments de cette manière
Et plusieurs chose de ce style mais ça ne marche pas donc si vous connaissez un endroit où je pourrais me renseigner. J'ai déjà lu plusieurs fonctions sur le site de php mais ce n'est pas ce que je cherche
J'ai déjà essayer de créer une liste et de comparer les éléments de cette manière
$date2 = new DateTime('2012-12-12') <div class="calendar__day2"><? if ($date->format('N') === $dates2): $date->format('d'); ?></div>
Et plusieurs chose de ce style mais ça ne marche pas donc si vous connaissez un endroit où je pourrais me renseigner. J'ai déjà lu plusieurs fonctions sur le site de php mais ce n'est pas ce que je cherche
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
23 nov. 2021 à 14:21
23 nov. 2021 à 14:21
D'où vient ta variable $date ? comment l'as tu initialisé ?
tu parles de "liste" ... mais là.. je ne vois que deux variables .. $date et $dates2 ... donc .. c'est quoi une "liste" pour toi ?
En php.. tu n'as pas de "liste"..
Eventuellement tu as un objet... ou un array ...
NB: les balises php c'est
et pas juste
NB²: Le code que tu nous montres ne peux pas fonctionner vu que tu as du php (sans balises ? ) suivi de html ...
tu parles de "liste" ... mais là.. je ne vois que deux variables .. $date et $dates2 ... donc .. c'est quoi une "liste" pour toi ?
En php.. tu n'as pas de "liste"..
Eventuellement tu as un objet... ou un array ...
NB: les balises php c'est
<?php
et pas juste
<?
NB²: Le code que tu nous montres ne peux pas fonctionner vu que tu as du php (sans balises ? ) suivi de html ...
Pierre_6790
Messages postés
16
Date d'inscription
lundi 15 novembre 2021
Statut
Membre
Dernière intervention
23 novembre 2021
23 nov. 2021 à 14:34
23 nov. 2021 à 14:34
Donc voila mon code, vous avez déjà vu la dernière version normalement.
Ceci est mon index.php
Ceci est mon Month.php
Et ceci est mon calendar.css
Donc mon idée serait de faire une class comme celle la :
Et de regarder si ma $date est dans une variable par exemple $dates2, dans le cas où elle y est j'utiliserais ma class calendar_day2 afin que le texte soit en rouge. Donc pour regarder si $date est dans $dates2 que me conseillez vous d'utiliser ?
Ceci est mon index.php
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous"> <link rel="stylesheet" type="text/css" href="calendar.css"> </head> <body> <nav class="nav-bar navbar-dark bg-primary mb-3"> <a href="/index.php" class="navbar-brand">Agenda</a> </nav> <?php require '../public/Month.php'; $month = new Month($_GET['month'] ?? null, $_GET['year'] ?? null); $start = $month->getStartingDay(); $start = $start->format('N') === '1' ? $start : $month->getStartingDay()->modify('last monday'); ?> <div class="d-flex flex-row align-items-center justify-content-between mx-sm-3"> <h1><?= $month->toString(); ?></h1> <div> <a href="index.php?month=<?= $month->previousMonth()->month; ?>&year=<?= $month->previousMonth()->year; ?>" class="btn btn-primary"><</a> <a href="index.php?month=<?= $month->nextMonth()->month; ?>&year=<?= $month->nextMonth()->year; ?>" class="btn btn-primary">></a> </div> </div> <table class="calendar__table calendar__table--<?= $month->getWeeks(); ?>weeks"> <?php for ($i = 0; $i < $month->getWeeks(); $i++): ?> <tr> <?php foreach($month->days as $k => $day): $date = (clone $start)->modify("+" . ($k + $i * 7) . "days");?> <td class="<?= $month->withinMonth($date) ? '' : 'calendar__othermonth'; ?>"> <?php if ($i ===0 ): ?> <div class="calendar__weekday"><?= $day; ?></div> <?php endif; ?> <div class="calendar__day"><?= $date->format('d'); ?></div> </td> <?php endforeach; ?> </tr> <?php endfor; ?> </table> </body> </html>
Ceci est mon Month.php
<?php class Month { public $days = ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche']; private $months = ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aout', 'Septembre', 'Octobre', 'Novembre', 'Décembre']; private $months2 = []; public $month; public $year; /** * Month constructor * @param int $month Le mois compris entre 1 et 12 * @param int $year L'année * @throws \Exception */ public function __construct(?int $month = null, ?int $year = null) { if ($month === null || $month < 1 || $month > 12) { $month = intval(date('m')); } if ($year === null) { $year = intval(date('Y')); } $this->month = $month; $this->year = $year; } /** * Renvoie le premier jour du mois * @return \DateTime */ public function getStartingDay (): \DateTime { return new \DateTime("{$this->year}-{$this->month}-01"); } /** * Retourne le mois en tout lettre (ex: Mars2018) * @return string */ public function toString (): string { return $this->months[$this->month - 1] . ' ' . $this->year; } /** * Renvoie le nombre de semaine dans le mois * @return int */ public function getWeeks (): int { $start = $this->getStartingDay(); $end = (clone $start)->modify('+1 month -1 day'); $weeks = intval($end->format('W')) - intval($start->format('W')) + 1; if ($weeks < 0) { $weeks = intval($end->format('W')); } return $weeks; } /** * Est-ce que le jour est dans le mois en cours * @param \DateTime $date * @return bool */ public function withinMonth (\DateTime $date): bool { return $this->getStartingDay()->format('Y-m') === $date->format('Y-m'); } /** * Renvoie le mois suivant * @return Month */ public function nextMonth () : Month { $month = $this->month + 1; $year = $this->year; if ($month > 12) { $month = 1; $year += 1; } return new Month($month, $year); } /** * Renvoie le mois précédent * @return Month */ public function previousMonth () : Month { $month = $this->month - 1; $year = $this->year; if ($month < 1) { $month = 12; $year -= 1; } return new Month($month, $year); } }
Et ceci est mon calendar.css
.calendar__table { width: 100%; height: calc(100vh - 128px); } .calendar__table td { padding: 10px; border: 1px solid #CCC; vertical-align: top; width: 14.29%; height: 20%; } .calendar__table--6weeks td { height: 16.66%; } .calendar__weekday { font-weight: bold; color: #000; font-size: 1.2em; } .calendar__day{ font-size: 1.3em; color: #000000 } .calendar__day2{ font-size: 1.3em; color: #FF0000; } .calendar__othermonth .calendar__day { opacity: 0.3; }
Donc mon idée serait de faire une class comme celle la :
.calendar__day{ font-size: 1.3em; color: #000000
Et de regarder si ma $date est dans une variable par exemple $dates2, dans le cas où elle y est j'utiliserais ma class calendar_day2 afin que le texte soit en rouge. Donc pour regarder si $date est dans $dates2 que me conseillez vous d'utiliser ?
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
23 nov. 2021 à 14:42
23 nov. 2021 à 14:42
si ma $date est dans une variable par exemple $dates2, dans le cas où elle y est j'utiliserais ma class calendar_day2
Ta variable $dates2 contient plusieurs dates ?? .. mais je te repose la question... sous quelle forme ??
Pierre_6790
Messages postés
16
Date d'inscription
lundi 15 novembre 2021
Statut
Membre
Dernière intervention
23 novembre 2021
23 nov. 2021 à 14:53
23 nov. 2021 à 14:53
Oui elle contiendrait plusieurs dates, que je pourrais ajouter ou enlever dans le code. Sous quelle forme je ne sais pas mais je dirais sous la forme DateTime('Y'-'m'-'j') je sais pas si c'est possible
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
23 nov. 2021 à 15:27
23 nov. 2021 à 15:27
là... je ne sais plus comment te formuler ma question ...
je vais faire une dernière tentative ...
$dates2 .. sera une variable contenant plusieurs dates tu nous dis...
$dates2 est (enfin.. sera..) une "liste" ...
Quel type de variable, pour toi, est une "liste" ???? moi je penche pour un array ... est-ce bien de cela que tu veux parler ???
Et donc...si tu parles d'array ... dans ce cas, il existe en php la fonction in_array
je vais faire une dernière tentative ...
$dates2 .. sera une variable contenant plusieurs dates tu nous dis...
$dates2 est (enfin.. sera..) une "liste" ...
Quel type de variable, pour toi, est une "liste" ???? moi je penche pour un array ... est-ce bien de cela que tu veux parler ???
Et donc...si tu parles d'array ... dans ce cas, il existe en php la fonction in_array
Pierre_6790
Messages postés
16
Date d'inscription
lundi 15 novembre 2021
Statut
Membre
Dernière intervention
23 novembre 2021
>
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
23 nov. 2021 à 16:12
23 nov. 2021 à 16:12
C'était une de mes questions, de savoir comment je pourrais faire ma liste mais du coup oui ce serait en array. J'aimerais que ça ressemble à quelque chose de ce style :
voila $ quoi ressemblerait ma variable $dates2
et voila comment j'aimerais pouvoir l'utiliser :
Seulement, je n'arrive pas à utiliser ma classe en exécution de ma condition if.
$dates2 = array('2021-12-12', '2021-13-12');
voila $ quoi ressemblerait ma variable $dates2
et voila comment j'aimerais pouvoir l'utiliser :
<?php if (in_array($date->format('Y-d-m'), $dates2)) { <div class="calendar__day2"><?= $date->format('d'); ?></div>; } else { <div class="calendar__day"><?= $date->format('d'); ?></div> } ?>
Seulement, je n'arrive pas à utiliser ma classe en exécution de ma condition if.
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
>
Pierre_6790
Messages postés
16
Date d'inscription
lundi 15 novembre 2021
Statut
Membre
Dernière intervention
23 novembre 2021
23 nov. 2021 à 16:33
23 nov. 2021 à 16:33
tu as encore oublié des balises PHP dans le code que tu nous montres...
if (in_array($date->format('Y-d-m'), $dates2)) { ?> <div class="calendar__day2"><?= $date->format('d'); ?></div>; <?php } else { ?> <div class="calendar__day"><?= $date->format('d'); ?></div> <?php }
Pierre_6790
Messages postés
16
Date d'inscription
lundi 15 novembre 2021
Statut
Membre
Dernière intervention
23 novembre 2021
>
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
23 nov. 2021 à 16:38
23 nov. 2021 à 16:38
Merci beaucoup ça marche désormais, vous êtes le meilleurs assistant