Bonjour,
j'ai une table qui a été créée comme ça (export sous phpMyadmin) :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 CREATE TABLE IF NOT EXISTS `news` ( `id` smallint(6) NOT NULL AUTO_INCREMENT, `titre` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `auteur` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `date` datetime NOT NULL, `contenu` text COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
Pour en lire le contenu, je fais :et alors qu'un var_dump de $news me donne (pour le 1er enregistrement)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 $news = array(); $resultats=$connexion->query("SELECT id, auteur, titre, DATE_FORMAT('date', '%d/%m/%Y %H') AS date_formatee, contenu FROM news ORDER BY date DESC"); $result = $resultats->fetch(PDO::FETCH_ASSOC); foreach($result as $champ) { $news[] = $champ; } ..... foreach($news as $n) { echo "titre=".$n['titre']."<br>"; echo ' <div class="news"> <h2>'.$n['titre'].'</h2> <p>News postée le '.str_replace(' ', ' à ', $n['date_formatee']).' par '.$n['auteur'].'</p> <p>'.$n['contenu'].'</p> </div>'; }(déjà problème des caractères accentués alors que la bdd est en utf8), le code ci-dessus me donne0 => string '1' (length=1)
1 => string 'vincent1870' (length=11)
2 => string 'Une premi�re news' (length=17)
3 => null
4 => string 'Bienvenue � tous sur ce beau site !<br /> <br /> Bon surf ! ' (length=62)donc au lieu de prendre les champs complets de la table, ça ne prend que le premier caractère ; pourquoi ?1
News postée le 1 par 1
1
v
News postée le v par v
v
etc
Partager