Page 1 sur 1

Aperçu d'un calendrier sur la page d'accueil du site

Posté : 22 juin 2019, 13:04
par josephgeoffriau
Bonjour,

je suis tout à fait débutant en codage php mais j'arrive quand même à comprendre l'architecture d'un site.
Voilà alors je dois mettre à jour le site internet du festival de théâtre pour lequel je travaille (comme technicien son et lumière !!)

l'année dernière j'avais réussi à me débrouiller pour tout modifier et mettre à jour,
cependant vu que je ne le fais qu'une fois par an j'ai oublié certains détails !!

donc :

sur ce site il y a un calendrier qui fait appel à une base de données mysql > pour çà pas de problèmes

le problème est que sur la page principale du site, il y a un aperçu du calendrier
et que sur cet aperçu il m'indique les événements de l'année dernière, non ceux de cette année

pour comprendre mieux , l'adresse du calendrier complet http://www.nessunorestifuori.it/program ... /index.php
la page d'accueil http://www.nessunorestifuori.it/index.php (en dessous des 3 photos "uno sguardo al programma") qui affiche les événéments de l'année dernière mais dont l'adresse de lien fait référence à un événement de l'année dernière dans le calendrier de cette année, ce qui fait que le lien est inexistant (http://www.nessunorestifuori.it/program ... o-karawane)

ci dessous la partie de code de index.php de la page principale

Code : Tout sélectionner

<div class="row" style="padding-bottom:32px"> <div class="col-md-12"> <a href="programma-2019/index.php"><h2 style="color:#FC633F; margin-bottom:20px">Uno sguardo al programma</h2></a> </div> <div class="col-md-12"> <div class="element-block events-listing"> <div class="events-listing-header"> <hr class="sm"> </div> <?php while ($row = mysql_fetch_array($eventi)) { $linkesterno = "$row[linkesterno]"; $idluogo = "$row[idluogo]"; $luogo = getOneData ($db, "luoghi", "id=$idluogo"); $nomeluogo ="$luogo[nome]"; $mapluogo ="$luogo[googlemaps]"; $idcategoria = "$row[idcategoria]"; $categoria = getOneData ($db, "categorie", "id=$idcategoria"); $nomecategoria ="$categoria[nome]"; $colore="$categoria[colore]"; $date= date_create("$row[datastart]"); $datainizio = date_format($date, "d F Y"); $dataend= date_create("$row[dataend]"); $datafine = date_format($dataend, "d F Y"); $mesestart ="$row[mese]"; $meseshort = "$mesishort[$mesestart]"; echo " <div class=\"events-listing-content\"> <div class=\"event-list-item\"> <div class=\"event-list-item-date\"> <span class=\"event-date\"> <span class=\"event-day\">$row[giorno]</span> <span class=\"event-month\">$meseshort, 19</span> </span> </div> <div class=\"event-list-item-info\" style=\"margin-bottom:15px; width:60%\"> <div class=\"lined-info\"> <h4><a href=\"programma-2019/index.php/$row[url]\" class=\"event-title\">$row[titolo]</a></h4> <span class=\"label label-primary nodesktop\" style=\"background-color:#$colore\"> <a href=\"programma-2019/index.php#categoria$row[idcategoria]\" style=\"color:#ffffff\">$nomecategoria</a> <br/> </span> $row[sottotitolo]</br> $row[compagnia]</br>"; if (($row[datastart]=="0000-00-00") OR ($row[datastart]==$row[dataend])) { echo "<span class=\"meta-data\" ><i class=\"fa fa-clock-o\"></i>$datainizio, ore $row[ora]</span></br>"; } else { echo "<span class=\"meta-data\" ><i class=\"fa fa-clock-o\"></i> dal $datainizio al $datafine</span></br>"; } echo " <span><a href=\"$mapluogo\" target=\"_blank\"><i class=\"fa fa-map-marker\"></i> $nomeluogo</a></span> </div> </div> <div class=\"event-list-item-actions notablet\" style=\"width:20%\"> <span class=\"label label-primary\" style=\"background-color:#$colore\"> <a href=\"programma-2019/index.php#categoria$row[idcategoria]\" style=\"color:#ffffff\">$nomecategoria</a> </span> <br/> </div> </div> </div>"; } ?> </div> </div>

merci pour vos réponses, j'espère avoir été plus ou moins clair

Re: Aperçu d'un calendrier sur la page d'accueil du site

Posté : 22 juin 2019, 14:14
par or 1
peut-être :
programma-2019/index.php/$row[url]
par
programma-2019/evento.php?id=$idluogo

Re: Aperçu d'un calendrier sur la page d'accueil du site

Posté : 23 juin 2019, 13:31
par josephgeoffriau
mmm çà ne marche pas...

le truc serait de rajouter une condition à l'affichage des événements pour faire prendre dans la base de données seulement les événéments de 2019

il existe un code du genre ?

Code : Tout sélectionner

if date = ("2019")
???

Re: Aperçu d'un calendrier sur la page d'accueil du site

Posté : 23 juin 2019, 13:48
par Saian
Salut, pas bien regardé dans le détail mais les évènements semblant provenir d'une requête SQL, il suffit de filtrer via la colonne de date dans le WHERE.

Ça peut être du WHERE date LIKE '2019%' ou du WHERE date_format(date, '%Y') = '2019' si la colonne date est bien une colonne de type date datetime et avec date à remplacer par le nom de la colonne date de la table.

Pour récupérer l'année en cours via le php tu peux faire du $year = date('Y'); et utiliser cette variable dans la requête.

PS : le problème 404 c'est pas que l'évènement n'existe pas sinon à priori il n'apparaitrait pas sur ta page d’accueil, c'est plutôt un problème de lien mal écrit qui ne permet au script sensé afficher l'évènement d'être appelé ou de faire correctement son travail.