Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/05/2011, 16h13   #1
Membre du Club
 
Avatar de fazpedro
 
Homme
Inscription : août 2009
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 360
Points : 64
Points : 64
Par défaut Accent dans le mois / date

Bonjour,

je cherche à effectuer une recherche sur des tranches de date dans ma base SQL, ce qui fonctionne (je ne sais pas si mon code est "propre", je débute...)
ce qui ne fonctionne pas c'est les accents : *
exemple=> jeudi 1er décembre s'affiche : jeudi 01 d�cembre
Comment l'afficher en français avec les accents (variable $date_vue ci-dessous) ?
Merci de votre aide.

mon code PHP :

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>MON SITE</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
 
<body>
 
<?php include('bandeau.php'); ?> <!-- insère le bandeau principal en haut -->
 
<?php
 
// On ne vérifie pas l'année !
if(isset($_POST['annee'])) $annee=$_POST['annee'];
else $annee="2011";
 
// création de la date de départ au format date MySQL
$date_depart=$annee.'-'.$_POST['date2'].'-'.$_POST['date1'];
echo '<p>'.'</p>';
echo 'Du :  '.'<b>'.$date_depart.'      '.'</b>';
 
// création de la date de fin au format date MySQL
$date_fin=$annee.'-'.$_POST['date4'].'-'.$_POST['date3'];
echo 'Au : '.'<b>'.$date_fin.'</b>';
echo '<p>'.'</p>';
 
// connexion à la base
$db = mysql_connect('sql.free.fr', 'user', 'mdp')  or die('Erreur de connexion '.mysql_error());
 
// sélection de la base  
mysql_select_db('nom_de_la_base',$db)  or die('Erreur de selection '.mysql_error());
mysql_query("SET NAMES latin1");
$select2 = "SELECT type_evenement, type_etab, secteur, heure, tarif, lieu, nom, description, date_ev 
FROM evenement WHERE date_ev BETWEEN '&date_depart' AND '$date_fin' 
AND type_evenement LIKE '".$_POST['evenement1']."' AND secteur LIKE '".$_POST['secteur']."'";
$result = mysql_query($select2) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
 
//On vérifie que la table contient quelque chose
if
(mysql_num_rows($result) == 0)
{
echo '<p>'.'<b>'.'Aucun &eacute;v&egrave;nement ! '.'</b>'.'</p>'.
'<p>'.'</p>'.
'<br>'.'</br>'.
'<a href="'. $_SERVER['HTTP_REFERER'] .'">Retour</a>'."</div>";
}
 
//Si il y a des entrées	  
else
{
 
//On fait une boucle pour sortir toutes les entrées
while($affiche = mysql_fetch_array($result))
 {
 
 //On remet la date au format français
setlocale (LC_TIME, 'fr_FR');
$date_affiche = $affiche["date_ev"];
$date_vue = strftime("%A %d %B",strtotime("$date_affiche"));
 //On affiche les entrées
 
echo '<p>'.'</p>';
echo '<b>'."<div class='recherche'>".$affiche["type_evenement"]."   ".'</b>'."</div>";
echo '<p>'.'</p>';
echo "<div class='recherche'>"."    > ".$affiche["type_etab"]."   "."</div>";
echo '<b>'."<div class='recherche'>"."    > ".$date_vue."   ".'</b>'."</div>";
echo "<div class='recherche'>"."    > ".$affiche["secteur"]."   "."</div>";
echo "<div class='recherche'>"."Début à : ".$affiche["heure"]."   "."</div>";
echo "<div class='recherche'>"."  Tarif : ".$affiche["tarif"]."   "."</div>";
echo "<div class='recherche'>"." où ? ".$affiche["lieu"]."   "."</div>";
echo '<b>'."<div class='recherche'>"." qui ? ".$affiche["nom"]."   ".'</b>'."</div>";
echo '<p>'.'</p>';
echo "<div class='recherche'>"."      < ".$affiche["description"]."   "."</div>";
echo '<br>'.'</br>';
 
//On ferme la boucle while
 }
 
//on ferme le else
echo '<a href="'. $_SERVER['HTTP_REFERER'] .'">Retour</a>'."</div>";
}
 
// Fermeture de la connexion à la base de données
mysql_close();		
?>
 
<?php include('bas_de_page.php'); ?> <!-- insère le bas de page  -->
 
</body>
 
</html>
fazpedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 16h18   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
pourquoi : SET NAMES latin1 si content="text/html;charset=utf-8" ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 16h19   #3
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Essaie :
Code :
setlocale (LC_TIME, 'fr_FR.UTF8');
Par contre je vois que tu fais la connexion à ta bdd en LATIN1 alors que tout le reste est en UTF8.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/05/2011, 21h41   #4
Membre du Club
 
Avatar de fazpedro
 
Homme
Inscription : août 2009
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2009
Messages : 360
Points : 64
Points : 64
Par défaut Accent dans le mois / date

C'est bon, c'est résolu, merci encore pour votre réponse rapide.
en fait il suffisait de changer en utf-8...

code corrigé :
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>FAZ A CAEN</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
 
<body>
 
<?php include('bandeau.php'); ?> <!-- insère le bandeau principal en haut -->
 
<?php
 
// On ne vérifie pas l'année !
if(isset($_POST['annee'])) $annee=$_POST['annee'];
else $annee="2011";
 
// création de la date de départ au format date MySQL
$date_depart=$annee.'-'.$_POST['date2'].'-'.$_POST['date1'];
 
// création de la date de fin au format date MySQL
$date_fin=$annee.'-'.$_POST['date4'].'-'.$_POST['date3'];
 
//On remet les dates au format français
setlocale (LC_TIME, 'fr_FR.UTF8');
$date_vue_depart = strftime("%A %d %B",strtotime("$date_depart"));
$date_vue_fin = strftime("%A %d %B",strtotime("$date_fin"));
 
// Affichage de la date de départ et de fin en français
echo '<p>'.'</p>';
echo 'Du :  '.'<b>'.$date_vue_depart.'&nbsp;'.'&nbsp;'.'&nbsp;'.'</b>';
echo 'Au : '.'<b>'.$date_vue_fin.'</b>';
echo '<p>'.'</p>';
 
// connexion à la base
$db = mysql_connect('sql.free.fr', 'user', 'mdp')  or die('Erreur de connexion '.mysql_error());
 
// sélection de la base  
mysql_select_db('nom_de_la_base',$db)  or die('Erreur de selection '.mysql_error());
// mysql_query("SET NAMES latin1");
$select2 = "SELECT type_evenement, type_etab, secteur, heure, tarif, lieu, nom, description, date_ev 
FROM evenement WHERE date_ev BETWEEN '&date_depart' AND '$date_fin' 
AND type_evenement LIKE '".$_POST['evenement1']."' AND secteur LIKE '".$_POST['secteur']."'";
$result = mysql_query($select2) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
 
//On vérifie que la table contient quelque chose
if
(mysql_num_rows($result) == 0)
{
echo '<p>'.'<b>'.'Aucun &eacute;v&egrave;nement ! '.'</b>'.'</p>'.
'<p>'.'</p>'.
'<br>'.'</br>'.
'<a href="'. $_SERVER['HTTP_REFERER'] .'">Retour</a>'."</div>";
}
 
//Si il y a des entrées	  
else
{
 
//On fait une boucle pour sortir toutes les entrées
while($affiche = mysql_fetch_array($result))
 {
//On remet la date au format français
setlocale (LC_TIME, 'fr_FR.UTF8');
$date_affiche = $affiche["date_ev"];
$date_vue = strftime("%A %d %B",strtotime("$date_affiche"));
 
 //On affiche les entrées
echo '<p>'.'</p>';
echo '<b>'."<div class='recherche'>".$affiche["type_evenement"]."   ".'</b>'."</div>";
echo '<p>'.'</p>';
echo "<div class='recherche'>"."    > ".$affiche["type_etab"]."   "."</div>";
echo '<b>'."<div class='recherche'>"."    > ".$date_vue."   ".'</b>'."</div>";
echo "<div class='recherche'>"."    > ".$affiche["secteur"]."   "."</div>";
echo "<div class='recherche'>"."Début à : ".$affiche["heure"]."   "."</div>";
echo "<div class='recherche'>"."  Tarif : ".$affiche["tarif"]."   "."</div>";
echo "<div class='recherche'>"." où ? ".$affiche["lieu"]."   "."</div>";
echo '<b>'."<div class='recherche'>"." qui ? ".$affiche["nom"]."   ".'</b>'."</div>";
echo '<p>'.'</p>';
echo "<div class='recherche'>"."      < ".$affiche["description"]."   "."</div>";
echo '<br>'.'</br>';
 
//On ferme la boucle while
 }
 
//on ferme le else
echo '<a href="'. $_SERVER['HTTP_REFERER'] .'">Retour</a>'."</div>";
}
 
// Fermeture de la connexion à la base de données
mysql_close();		
?>
 
<?php include('bas_de_page.php'); ?> <!-- insère le bas de page  -->
 
</body>
 
</html>
fazpedro est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h24.


 
 
 
 
Partenaires

Hébergement Web