Page 1 sur 1

Problème pour auto-remplir des champs à partir d'entrées de BDD

Posté : 13 déc. 2016, 02:29
par fouldon
Bonjour à tous,

Je suis en train de coder un petit fichier PHP pour un projet scolaire. Le but est d'utiliser mes entrées de BDD pour remplir automatiquement les champs de l'index de mon site. Je voulais trouver un script pas trop compliqué qui puisse me permettre de garder mon site viable même lors de mises à jour de mes bases, mais visiblement je coince quelque part.

Je n'ai visiblement pas d'erreurs, le site fonctionnant bien mais ne me retournant aucune création de petites vignettes pour mes différentes entrées. Je vous laisse le code, si vous avez une petite d'idée d'où le problème peut venir, je suis preneur.

Code : Tout sélectionner

<? $link = mysqli_connect('localhost', 'root', 'root', 'ResidencesEtudiantes'); if ( ! $link ) die ("connection impossible"); $bdd_name = "fichesresidences"; $page = $_GET["page"]; if(!$page) $page = 1; $debut = ($page-1) * 12; $liste = array(); $requete = "SELECT Reference,Nom,Photo FROM $bdd_name LIMIT 12 OFFSET $debut"; $resultats = mysqli_query($session,$requete); while (mysqli_num_rows( $resultats ) > 0 && ($ligne = mysqli_fetch_row($resultats))) { $element = array(); $element["Reference"] = $ligne[0]; $element["Nom"] = $ligne[1]; $element["Photo"] = $ligne[2]; array_push( $liste , $element ); } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Résidences</title> <!-- Bootstrap CSS --> <link href="css/bootstrap.css" rel="stylesheet"> <!-- Custom CSS --> <link href="css/style.css" rel="stylesheet"> </head> <body> <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation"> <div class="container"> <a class="navbar-brand" href="index.php">Titre du site</a> </div> </nav> <div class="container"> <div class="row"> <div class="col-lg-12"> <h1 class="page-header"> Liste des Résidences </h1> </div> </div> <div class="row"> <? foreach ($liste as $key => $value) { ?> <div class="col-md-3 portfolio-item"> <a class="item" href="localhost:8888/Residences/Fiches.php?id=<? echo($value[0]); ?>"> <img class="img-responsive" src="<?php echo($value[2]); ?>" alt=""> <div class="textes"> <div class="resName"><? echo($value[1]); ?></div> </div> </a> </div> <? } ?> </div> <hr> <!-- Pagination --> <div class="row text-center"> <div class="col-lg-12"> <ul class="pagination"> <li id="page1"><a href="index.php?page=1">1</a></li> <li id="page2"><a href="index.php?page=2">2</a></li> <li id="page3"><a href="index.php?page=3">3</a></li> <li id="page4"><a href="index.php?page=4">4</a></li> <li id="page5"><a href="index.php?page=5">5</a></li> <li id="page6"><a href="index.php?page=6">6</a></li> <li id="page7"><a href="index.php?page=7">7</a></li> </ul> </div> </div> </div> <!-- jQuery --> <script src="js/jquery.js"></script> <!-- Bootstrap JavaScript --> <script src="js/bootstrap.min.js"></script> <script> $(document).ready(function(){ var pageSelected = "page<? print($page);?>"; $("ul.pagination li").removeClass("active"); $("#" + pageSelected).addClass("active"); }); </script> </body> </html>

Re: Problème pour auto-remplir des champs à partir d'entrées de BDD

Posté : 13 déc. 2016, 10:09
par Spols
ma première idée va vers les short tag, <? sont il bien activé ? dans le doute, je préconise de toujours utilisé les tag <?php.
sinon il te faut débuguer par étape, affiche ta requète avant l'éxécution teste la dans phpmyadmin par exemple.
vérifie que php enregistre bien les données un var_dump($liste); après ton while peut être utile.

Re: Problème pour auto-remplir des champs à partir d'entrées de BDD

Posté : 13 déc. 2016, 13:16
par Ryle
Idem que Spols, même si les short tags sont activés, la balise "<?php" est préférable pour éviter des conflits avec du XML par exemple...

Pour le problème, dans ton foreach tu fais appel aux index 0, 1 et 2 de $value, alors qu'à priori $value est un tableau indexé avec les index Reference, Nom et Photo :)

Re: Problème pour auto-remplir des champs à partir d'entrées de BDD

Posté : 14 déc. 2016, 00:06
par or 1
$link = mysqli_connect('localhost', 'root', 'root', 'ResidencesEtudiantes');
$resultats = mysqli_query($session,$requete); // ne fonctionne probablement pas