louislepro62
Messages postés1Date d'inscriptionmercredi 23 juillet 2014StatutMembreDernière intervention23 juillet 2014
-
Modifié par louislepro62 le 23/07/2014 à 21:32
Utilisateur anonyme -
24 juil. 2014 à 00:18
Bonjour,
je suis débutant en PHP et j'ai voulu essayer de créer un site WEB ou je pourrais poster mes photos depuis une base de données SQL (en indiquant le lien de la photo dans une entrée.)
mon (début de) site est réalisé selon l'architecture MVC (du moins j'essaye ^^) j'ai créé une base de donnée avec PHP My Admin avec le nom "bdd_1" et elle contient une table appelée "posts"
voici mon code :
/ fichier "connexion_sql.php" du répertoire modèle
<?php
try
{$bdd=newPDO('mysql:host=localhost; dbname=bdd_1','root','');}catch(Exeption $e){die('Erreur : '.$e->getMessage());}print_r($bdd);//fin//fichier "get_posts.php" contenant la fonction get_posts dans le répertoire modèle<?phpfunctionget_posts($offset,$limit){global$bdd;$offset=(int)$offset;$limit=(int)$limit;$req=$bdd->prepare('SELECT id, titre, lien, commentaires, proprietaire, vote_pos, vote_neg, description, DATE_FORMAT(date_creation, \'%d/%m/%Y à %Hh %imin %ss\') AS date_creation_fr FROM posts ORDER BY date_creation DESC LIMIT :offset, :limit');$req->bindParam(':offset',$offset, PDO::PARAM_INT);$req->bindParam(':limit',$limit, PDO::PARAM_INT);$req->execute();$posts=$req->fetchALL();return$posts;}//fin//fichier "index.php" du répertoire contrôleur<?php//req posts$offset=0;$limit=5;include_once('modele/get_posts.php');$posts=get_posts($offset,$limit);//traitement postsforeach($postsas$cle=>$post){$posts[$cle]['titre']=htmlspecialchars($post['titre']);$posts[$cle]['lien']=htmlspecialchars($post['lien']);$posts[$cle]['description']=nl2br(htmlspecialchars($post['description']));$posts[$cle]['commentaires']=nl2br(htmlspecialchars($post['commentaires']));}print_r($posts);echo$posts;include_once('vue/vue_index.php');//fin//fichier "vue_index.php" du répertoire vue (seulement une partie)<section><h1>Mes dernières photos :</h1><article id="new_photos_block"><!--Photos au centre de la page :--><?phpini_set('display_errors',1);error_reporting(E_ALL);foreach($postsas$post){?><div class=new_photo><h3><span class="titre_photo"><?phpecho$post['titre'];?></span><em>le <?phpecho$post['date_creation_fr']?></em></h3><img title="cliquer pour agrandir l'image" alt=<?phpecho'\"'.$post['titre'].'\"';?>
src=<?phpecho'\"'.$post['lien'].'\"';?>/></div><br></article><br></section>//fin//fichier "index.php" à la racine pour accéder au site<?phpinclude_once('modele/connexion_sql.php');if(!isset($_GET['section']) OR $_GET['section']='index'){include_once('controleur/index.php');}//fin
Merci énormément d'avance si vous pouvez m'aider a comprendre se qui ne va pas, car la page n'affiche pas d'erreurs
mais elle n'affiche aucun éléments provenant de la table, j'ai essayé de le débugger par moi même en affichant le contenu des variable qui contiennent les données de la table ( avec print_r($posts['titre] par exemple') ) mais la page m'affiche "Array ( )"
J'ai l'impression que le code ne trouve pas la table mais cela me renverrai normalement un erreur, non ?
Donc voilà, je ne sais pas quoi faire, j'ai déjà vérifié le contenu de la table sur PHP My Admin plusieurs fois.
Je sais que c'est mon problème et que c'est normalement a moi de le résoudre mais je suis perdu, pouvez-vous m'aider ?
J'aurais un conseil pour t'aider à déboguer. Teste ta requete SQL en l'exécutant dans phpmyadmin (onglet SQL je crois) si ça te retourne rien, tu as trouvé ton problème. sinon dis moi je jetterai un oeil plus poussé à ton code.