Développer un site : Jour 3

Par lexis parker, il y a 10 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.

Salut je coince a la fin de de la vidéo 3. mon système de page la premiére et la second page ne s'affiche pas comme dans la video

<?php foreach($pages as $p): ?>
<li><a href="<?php echo BASE_URL.'/pages/view/'.$p->id; ?>" title="<?php echo $p->name; ?>"><?php echo $p->name; ?></a></li>
<?php endforeach; ?>

je comprends pas pourquoi j'espère que vous allez pouvoir me dire ou chercher ou comment trouve l'erreur...
merci avance

Décrivez ici votre code ou ce que vous cherchez à faire
<?php foreach($pages as $p): ?>
<li><a href="<?php echo BASE_URL.'/pages/view/'.$p->id; ?>" title="<?php echo $p->name; ?>"><?php echo $p->name; ?></a></li>
<?php endforeach; ?>
Entourez votre code avec ce symbole

<?php foreach($pages as $p): ?> <li><a href="<?php echo BASE_URL.'/pages/view/'.$p->id; ?>" title="<?php echo $p->name; ?>"><?php echo $p->name; ?></a></li> <?php endforeach; ?>

Ce que je veux

affiche premiére et la second page sur mon menu

Ce que j'obtiens

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

7 réponses

alouspike, il y a 10 ans

Salut @lexis peux tu amener l'erreur SVP ?

intelligid, il y a 10 ans

Pour info,

<?php echo $p->name; ?>

peut être remplacé par

<?= $p->name; ?>
lexis parker, il y a 10 ans

merci a vous spike_jr et intelligid d'avoir répondu justement je ne pas une erreur qui est debug mais les liens ver la base de donne et de mes différent articles ne donne pas

lexis parker, il y a 10 ans

désole j' ai dû recommence la vidéo lorsque je change post par page comment sur ce code

<?php class PagesController extends Controller{ function view($id){ $this->loadModel('Post'); $d['page'] = $this->Post->findFirst(array( 'conditions' => array('id'=>$id,'type'=>'page') )); if(empty($d['page'])){ $this->e404("Le serveur proxy présente une erreur, ou l'adresse est incorrecte."); } $d['pages'] = $this->Post->find(array( 'conditions' => array('type'=>'page') )); $this->set($d); } } ?>

et je tonbe sur ça :
Warning: PDOStatement::execute(): SQLSTATE[42S22]: Column not found: 1054 Champ '5ANDtype' inconnu dans where clause in C:\wamp\www\P3\Site\core\Model.php on line 60

<?php class Model{ static $connections = array(); public $conf = 'default'; public $table = false; public $db; public function __construct(){ $conf = Conf::$databases[$this->conf]; if(isset(Model::$connections[$this->conf])){ $this->db = Model::$connections[$this->conf]; return true; } try{ $pdo = new PDO('mysql:host='.$conf['host'].';dbname='.$conf['database'].';',$conf['login'],$conf['password'],array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8')); $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING); Model::$connections[$this->conf] = $pdo; $this->db = $pdo; }catch(PDOException $e){ if(Conf::$debug >= 1){ die($e->getMessage()); }else{ die('impossible de se connecter à la base de donnée !!!'); } } if($this->table === false){ $this->table = strtolower(get_class($this)).'s'; } } public function find($req){ $sql = 'SELECT * FROM '.$this->table.' as '.get_class($this).' '; if(isset($req['conditions'])){ $sql .= 'WHERE '; if(!is_array($req['conditions'])){ $sql .= $req['conditions']; }else{ $cond = array(); foreach($req['conditions'] as $k=>$v){ if(!is_numeric($v)){ $v = '"'.addslashes($v).'"'; } $cond[] = "$k=$v"; } $sql .= implode('AND',$cond); } } //die($sql); $pre = $this->db->prepare($sql); $pre->execute(); return $pre->fetchAll(PDO::FETCH_OBJ); } public function findFirst($req){ return current($this->find($req)); } } ?>
Carouge10, il y a 10 ans

Regardez bien l'erreur, elle est explicite.
L'erreur viens de là :

$sql .= implode('AND',$cond);
lexis parker, il y a 10 ans

je vous remercie d'avence pour vos réponces

lexis parker, il y a 10 ans

Carouge10 infiniment mercie pour ton aide