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; ?>
affiche premiére et la second page sur mon menu
Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(
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
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));
}
}
?>
Regardez bien l'erreur, elle est explicite.
L'erreur viens de là :
$sql .= implode('AND',$cond);