par
001cod10 » 02 août 2007, 12:26
Toujours pas réglé mon problème de date.
Je poste mon script pour que vous puissiez m'aider efficacement.
<?php
function barre_navigation ($nb_total,
$nb_affichage_par_page,
$debut,
$nb_liens_dans_la_barre) {
$barre = '';
// on recherche l'URL courante munie de ses paramètre auxquels on ajoute le paramètre 'debut' qui jouera le role du premier élément de notre LIMIT
if ($_SERVER['QUERY_STRING'] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$tableau = explode ("debut=", $_SERVER['QUERY_STRING']);
$nb_element = count ($tableau);
if ($nb_element == 1) {
$query = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&debut=';
}
else {
if ($tableau[0] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$query = $_SERVER['PHP_SELF'].'?'.$tableau[0].'debut=';
}
}
}
// on calcul le numéro de la page active
$page_active = floor(($debut/$nb_affichage_par_page)+1);
// on calcul le nombre de pages total que va prendre notre affichage
$nb_pages_total = ceil($nb_total/$nb_affichage_par_page);
// on calcul le premier numero de la barre qui va s'afficher, ainsi que le dernier ($cpt_deb et $cpt_fin)
// exemple : 2 3 4 5 6 7 8 9 10 11 << $cpt_deb = 2 et $cpt_fin = 11
if ($nb_liens_dans_la_barre%2==0) {
$cpt_deb1 = $page_active - ($nb_liens_dans_la_barre/2)+1;
$cpt_fin1 = $page_active + ($nb_liens_dans_la_barre/2);
}
else {
$cpt_deb1 = $page_active - floor(($nb_liens_dans_la_barre/2));
$cpt_fin1 = $page_active + floor(($nb_liens_dans_la_barre/2));
}
if ($cpt_deb1 <= 1) {
$cpt_deb = 1;
$cpt_fin = $nb_liens_dans_la_barre;
}
elseif ($cpt_deb1>1 && $cpt_fin1<$nb_pages_total) {
$cpt_deb = $cpt_deb1;
$cpt_fin = $cpt_fin1;
}
else {
$cpt_deb = ($nb_pages_total-$nb_liens_dans_la_barre)+1;
$cpt_fin = $nb_pages_total;
}
if ($nb_pages_total <= $nb_liens_dans_la_barre) {
$cpt_deb=1;
$cpt_fin=$nb_pages_total;
}
// si le premier numéro qui s'affiche est différent de 1, on affiche << qui sera un lien vers la premiere page
if ($cpt_deb != 1) {
$cible = $query.(0);
$lien = '<A HREF="'.$cible.'"><<</A> ';
}
else {
$lien='';
}
$barre .= $lien;
// on affiche tous les liens de notre barre, tout en vérifiant de ne pas mettre de lien pour la page active
for ($cpt = $cpt_deb; $cpt <= $cpt_fin; $cpt++) {
if ($cpt == $page_active) {
if ($cpt == $nb_pages_total) {
$barre .= $cpt;
}
else {
$barre .= $cpt.' - ';
}
}
else {
if ($cpt == $cpt_fin) {
$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A>";
}
else {
$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A> - ";
}
}
}
$fin = ($nb_total - ($nb_total % $nb_affichage_par_page));
if (($nb_total % $nb_affichage_par_page) == 0) {
$fin = $fin - $nb_affichage_par_page;
}
// si $cpt_fin ne vaut pas la dernière page de la barre de navigation, on affiche un >> qui sera un lien vers la dernière page de navigation
if ($cpt_fin != $nb_pages_total) {
$cible = $query.$fin;
$lien = ' <A HREF="'.$cible.'">>></A>';
}
else {
$lien='';
}
$barre .= $lien;
return $barre;
}
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'base';
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
// on prépare une requête permettant de calculer le nombre total d'éléments qu'il faudra afficher sur nos différentes pages
$sql = 'SELECT count(*) FROM Table';
// on exécute cette requête
$resultat = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// on récupère le nombre d'éléments à afficher
$nb_total = mysql_fetch_array($resultat);
// on teste si ce nombre de vaut pas 0
if (($nb_total = $nb_total[0]) == 0) {
echo 'Aucune réponse trouvée';
}
else {
echo '<table border="0" width="100%">';
// sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on l'initialise à 0
if (!isset($_GET['debut'])) $_GET['debut'] = 0;
$nb_affichage_par_page = 1;
// requête SQL qui compte le nombre total d'enregistrements dans la table et qui
//récupère tous les enregistrements
$select = "SELECT typevent,cp,ville,adresse,description,prix,prevente,lieu,dateevent FROM Table LIMIT ".$_GET['debut'].",".$nb_affichage_par_page;
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
// si on a récupéré un résultat on l'affiche.
if($total) {
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)) {
$annee = substr($row['dateevent'],0,4);
$mois = substr($row['dateevent'],5,2);
$jour = substr($row['dateevent'],8,2);
function date2fr( $dateevent ){
$reps_EN = array( ':1' , ':2' , ':3' , ':4' , ':5' , ':6' , ':0' , '|st|' , '|nd|' , '|rd|' , '|th|' , '||' , 'January' , 'February' , 'March' , 'April' , 'May' , 'June' , 'July' , 'August' , 'September' , 'October' , 'November' , 'December' );
$reps_FR = array( 'lundi' , 'mardi' , 'mercredi' , 'jeudi' , 'vendredi' , 'samedi' , 'dimanche' , '<sup>er</sup>' , '' , '' , '' , '' , 'janvier' , 'février' , 'mars' , 'avril' , 'mai' , 'juin' , 'juillet' , 'août' , 'septembre' , 'octobre' , 'novembre' , 'décembre' );
return str_replace( $reps_EN, $reps_FR, date( ':w j|S| F Y' , strtotime( $dateevent ) ) );
}
$dateevent ="$jour-$mois-$annee";
echo '<tr><td colspan="4" background="Photo 035.jpg"> <td > </td></tr>';
echo '<tr><td> <td > </td></tr>';
echo '<tr>';
echo '<td><center><font face="Verdana, Arial, Helvetica, sans-serif" size="+1"color="#0000FF" size="+2"><b>'.$row['typevent'].'</center></b></td>';
echo '</tr>'."\n";
echo '<tr>';
echo '<td><center><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="">'.$dateevent.'</center></td>';
echo '</tr>'."\n";
echo '<tr>';
echo '<td><center><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="">'.$row['lieu'].'</center></td>';
echo '</tr>'."\n";
echo '<tr>';
echo '<td><center><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="">'.$row['adresse'].'</center></td>';
echo '</tr>'."\n";
echo '<tr>';
echo '<td><center><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="">'.$row['cp'].' <font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="">'.$row['ville'].'</center></td>';
echo '</tr>'."\n";
echo '<tr>';
echo '<td><center><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="">'.$row['prix'].'€</center></td>';
echo '</tr>'."\n";
}
echo '<tr>';
echo '<td><center><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size=""></center></td>';
echo '</tr>'."\n";
echo '<tr><td><center><span class="gras"><font face="Verdana, Arial, Helvetica, sans-serif" color="#800000" size="+2"><b>'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 3).'</b></font></span></td></center></tr>';
}
else echo 'Pas d\'enregistrements dans cette table...';
}
echo '<tr><td> <td > </td></tr>';
echo '<tr><td> <td > </td></tr>';
echo '<tr><td> <td > </td></tr>';
echo '</table>'."\n";
// fin du tableau.
// on libère le résultat
mysql_free_result($result);
?>
Toujours pas réglé mon problème de date.
Je poste mon script pour que vous puissiez m'aider efficacement.
[php]<?php
function barre_navigation ($nb_total,
$nb_affichage_par_page,
$debut,
$nb_liens_dans_la_barre) {
$barre = '';
// on recherche l'URL courante munie de ses paramètre auxquels on ajoute le paramètre 'debut' qui jouera le role du premier élément de notre LIMIT
if ($_SERVER['QUERY_STRING'] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$tableau = explode ("debut=", $_SERVER['QUERY_STRING']);
$nb_element = count ($tableau);
if ($nb_element == 1) {
$query = $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'].'&debut=';
}
else {
if ($tableau[0] == "") {
$query = $_SERVER['PHP_SELF'].'?debut=';
}
else {
$query = $_SERVER['PHP_SELF'].'?'.$tableau[0].'debut=';
}
}
}
// on calcul le numéro de la page active
$page_active = floor(($debut/$nb_affichage_par_page)+1);
// on calcul le nombre de pages total que va prendre notre affichage
$nb_pages_total = ceil($nb_total/$nb_affichage_par_page);
// on calcul le premier numero de la barre qui va s'afficher, ainsi que le dernier ($cpt_deb et $cpt_fin)
// exemple : 2 3 4 5 6 7 8 9 10 11 << $cpt_deb = 2 et $cpt_fin = 11
if ($nb_liens_dans_la_barre%2==0) {
$cpt_deb1 = $page_active - ($nb_liens_dans_la_barre/2)+1;
$cpt_fin1 = $page_active + ($nb_liens_dans_la_barre/2);
}
else {
$cpt_deb1 = $page_active - floor(($nb_liens_dans_la_barre/2));
$cpt_fin1 = $page_active + floor(($nb_liens_dans_la_barre/2));
}
if ($cpt_deb1 <= 1) {
$cpt_deb = 1;
$cpt_fin = $nb_liens_dans_la_barre;
}
elseif ($cpt_deb1>1 && $cpt_fin1<$nb_pages_total) {
$cpt_deb = $cpt_deb1;
$cpt_fin = $cpt_fin1;
}
else {
$cpt_deb = ($nb_pages_total-$nb_liens_dans_la_barre)+1;
$cpt_fin = $nb_pages_total;
}
if ($nb_pages_total <= $nb_liens_dans_la_barre) {
$cpt_deb=1;
$cpt_fin=$nb_pages_total;
}
// si le premier numéro qui s'affiche est différent de 1, on affiche << qui sera un lien vers la premiere page
if ($cpt_deb != 1) {
$cible = $query.(0);
$lien = '<A HREF="'.$cible.'"><<</A> ';
}
else {
$lien='';
}
$barre .= $lien;
// on affiche tous les liens de notre barre, tout en vérifiant de ne pas mettre de lien pour la page active
for ($cpt = $cpt_deb; $cpt <= $cpt_fin; $cpt++) {
if ($cpt == $page_active) {
if ($cpt == $nb_pages_total) {
$barre .= $cpt;
}
else {
$barre .= $cpt.' - ';
}
}
else {
if ($cpt == $cpt_fin) {
$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A>";
}
else {
$barre .= "<A HREF='".$query.(($cpt-1)*$nb_affichage_par_page);
$barre .= "'>".$cpt."</A> - ";
}
}
}
$fin = ($nb_total - ($nb_total % $nb_affichage_par_page));
if (($nb_total % $nb_affichage_par_page) == 0) {
$fin = $fin - $nb_affichage_par_page;
}
// si $cpt_fin ne vaut pas la dernière page de la barre de navigation, on affiche un >> qui sera un lien vers la dernière page de navigation
if ($cpt_fin != $nb_pages_total) {
$cible = $query.$fin;
$lien = ' <A HREF="'.$cible.'">>></A>';
}
else {
$lien='';
}
$barre .= $lien;
return $barre;
}
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'base';
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
// on prépare une requête permettant de calculer le nombre total d'éléments qu'il faudra afficher sur nos différentes pages
$sql = 'SELECT count(*) FROM Table';
// on exécute cette requête
$resultat = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// on récupère le nombre d'éléments à afficher
$nb_total = mysql_fetch_array($resultat);
// on teste si ce nombre de vaut pas 0
if (($nb_total = $nb_total[0]) == 0) {
echo 'Aucune réponse trouvée';
}
else {
echo '<table border="0" width="100%">';
// sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on l'initialise à 0
if (!isset($_GET['debut'])) $_GET['debut'] = 0;
$nb_affichage_par_page = 1;
// requête SQL qui compte le nombre total d'enregistrements dans la table et qui
//récupère tous les enregistrements
$select = "SELECT typevent,cp,ville,adresse,description,prix,prevente,lieu,dateevent FROM Table LIMIT ".$_GET['debut'].",".$nb_affichage_par_page;
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
// si on a récupéré un résultat on l'affiche.
if($total) {
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row = mysql_fetch_array($result)) {
$annee = substr($row['dateevent'],0,4);
$mois = substr($row['dateevent'],5,2);
$jour = substr($row['dateevent'],8,2);
function date2fr( $dateevent ){
$reps_EN = array( ':1' , ':2' , ':3' , ':4' , ':5' , ':6' , ':0' , '|st|' , '|nd|' , '|rd|' , '|th|' , '||' , 'January' , 'February' , 'March' , 'April' , 'May' , 'June' , 'July' , 'August' , 'September' , 'October' , 'November' , 'December' );
$reps_FR = array( 'lundi' , 'mardi' , 'mercredi' , 'jeudi' , 'vendredi' , 'samedi' , 'dimanche' , '<sup>er</sup>' , '' , '' , '' , '' , 'janvier' , 'février' , 'mars' , 'avril' , 'mai' , 'juin' , 'juillet' , 'août' , 'septembre' , 'octobre' , 'novembre' , 'décembre' );
return str_replace( $reps_EN, $reps_FR, date( ':w j|S| F Y' , strtotime( $dateevent ) ) );
}
$dateevent ="$jour-$mois-$annee";
echo '<tr><td colspan="4" background="Photo 035.jpg"> <td > </td></tr>';
echo '<tr><td> <td > </td></tr>';
echo '<tr>';
echo '<td><center><font face="Verdana, Arial, Helvetica, sans-serif" size="+1"color="#0000FF" size="+2"><b>'.$row['typevent'].'</center></b></td>';
echo '</tr>'."\n";
echo '<tr>';
echo '<td><center><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="">'.$dateevent.'</center></td>';
echo '</tr>'."\n";
echo '<tr>';
echo '<td><center><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="">'.$row['lieu'].'</center></td>';
echo '</tr>'."\n";
echo '<tr>';
echo '<td><center><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="">'.$row['adresse'].'</center></td>';
echo '</tr>'."\n";
echo '<tr>';
echo '<td><center><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="">'.$row['cp'].' <font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="">'.$row['ville'].'</center></td>';
echo '</tr>'."\n";
echo '<tr>';
echo '<td><center><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size="">'.$row['prix'].'€</center></td>';
echo '</tr>'."\n";
}
echo '<tr>';
echo '<td><center><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000" size=""></center></td>';
echo '</tr>'."\n";
echo '<tr><td><center><span class="gras"><font face="Verdana, Arial, Helvetica, sans-serif" color="#800000" size="+2"><b>'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 3).'</b></font></span></td></center></tr>';
}
else echo 'Pas d\'enregistrements dans cette table...';
}
echo '<tr><td> <td > </td></tr>';
echo '<tr><td> <td > </td></tr>';
echo '<tr><td> <td > </td></tr>';
echo '</table>'."\n";
// fin du tableau.
// on libère le résultat
mysql_free_result($result);
?>[/php]