Bonjour
Je ne comprend pas vraiment la question mais ma première observation est celle ci : 4 fois <th> et 3 fois <td>. Je ne pense vraiment pas que ça soit le problème mais tu peux toujours essayer. Ta variable
Bonne chance.
Ramz.
Slaut,
j'ai un probléme lors de affichage des articles pour la modification dans la view admin_index (http://localhost/Site/cockpit/posts/index)
il n'y a d'affichage des article seulement que le nombre de article et aussi ni les liens de suppression ou de édition
voici mon code
<div class="page-header">
<h1><?php echo $total; ?> Article</h1>
</div>
<table>
<thead>
<tr>
<th>ID</th>
<th>Titre</th>
<th>Content</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach ($posts as $k => $v):?>
<tr>
<td><?php echo $v->id; ?> </td>
<td><?php echo $v->name; ?> </td>
<td>
<a href="<?php echo Router::url('admin/posts/edit/'.$v->id); ?>">Editer</a>
<a href="<?php echo Router::url('admin/posts/delete/'.$v->id); ?>">Supprimer</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
merci en avence
Bonjour
Je ne comprend pas vraiment la question mais ma première observation est celle ci : 4 fois <th> et 3 fois <td>. Je ne pense vraiment pas que ça soit le problème mais tu peux toujours essayer. Ta variable
Bonne chance.
Ramz.
Salut,
@ Ramzz1994 Si je fais debug($posts); aprés le tableau
C:\wamp1\www\Site\View\posts\admin_index.php l .30
C:\wamp1\www\Site\Core\Controller.php l.32
C:\wamp1\www\Site\Core\Dispatcher.php l.19
C:\wamp1\www\Site\Webroot\index.php l.10
Array
(
)
si dans le tableau rien ne change (c'est a dire dan la boucle ) aucun affichage
aidez moi svp
Exactement Xtr3me aussi mon système de pagination fonction trés bien a ci pour grand merci pour vous ++++++
De rien ;) .
Quand tu as un problème qui change de comportement par rapport à la valeur d'une variable, vérifie toutes les lignes où cette variable est utilisé, simple conseil pour débugger.
Tu dois mal récupérer tes articles montre nous le controller correspondant il faut que tu stockes le tout dans un tableau et que tu l'envoie à la vue avec la fonction set. Admettons un tableau
@Ramz: Avoir 4 Th et 3 TD ne posera aucun problème au niveau php... ni même récupération du contenu c'est du simple html de base pour faire des tableaux s'il y a moins de TD que de TH il y aura décalage des colonnes tout simplement donc un problème d'affichage mais rien de plus.
voici mon controller.php
<?php
class Controller{
public $request;
private $vars= array( );
public $layout='default';
private $rendered=false;
function __construct($request=null){
if($request){
$this->request=$request;
}
}
public function render($view)
{
if($this->rendered){return false;}
extract($this->vars);
if(strpos($view, '/')===0){
$view= ROOT.DS.'view'.$view.'.php';
}else{
$view= ROOT.DS.'view'.DS.$this->request->controller.DS.$view.'.php';
}
ob_start();
require($view);
$content_for_layout=ob_get_clean();
require ROOT.DS.'view'.DS.'layout'.DS.$this->layout.'.php';
$this->rendered=true;
}
public function set($key ,$value=null){
if(is_array($key)){
$this->vars +=$key;
}else{
$this->vars$key]=$value;
}
}
function loadModel($name)
{
$file=ROOT.DS.'model'.DS.$name.'.php';
require_once($file);
if(!isset($this->$name))
{
$this->$name= new $name();
}
}
//Permet de gerer les erreur 404
function e404($message){
header("http://1.0 404 Not Found");
$this->set('message',$message);
$this->render('/error/404');
die();
}
//permet d'appler un controller de puis une view
function request($controller,$action){
$controller .='Controller';
require_once ROOT.DS.'Controller'.DS.$controller.'.php';
$c=new $controller;
return $c->$action();
}
function redirect($url,$code = null){
if($code==301){
header("HTTP/1.1 301 Moved Permanently");
}
header("location: ". Router::url($url));
}
}
?>
Je parlais du controller gérant l'administration pas du controller principal qui lui met à disposition des fonctions ;) .
@Xtr3me dans la première fois j'ai 2 article dans ma base de donneés le lien /Site/cockpit/posts/index affiche seulement un seul article aprés la suppression de l'article je tombe dans se problémm d'affichage
rq: rien changé dans la vue admin_index
Je vais pas pouvoir t'aider sans le code approprié... ensuite si tu n'as qu'un article sur les deux regardes du côté du type dans la bdd.
<?php
class PostsController extends Controller{
function index(){
$perPage=1;
$this->loadModel('Post');
$condition=array('online'=>'1','type'=>'post');
$d'posts']=$this->Post->find(array(
'conditions'=>$condition,
'limit'=>($perPage*$this->request->page=1).','.$perPage
));
$d'total']=$this->Post->findCount($condition);
$d'page']=ceil($d'total'] /$perPage);
$this->set($d);
}
function view($id,$slug){
$this->loadModel('Post');
$condition=array('online'=>'1','id'=>$id,'type'=>'post');
$d'post']=$this->Post->findFirst(array(
'fields'=>'id,slug,content,name',
'conditions'=>$condition));
if(empty($d'post'])){
$this->e404('Page Introvable');
}
//if ($slug!=$d'post']->slug) {
//$this->redirect("posts/view/id:$id/slug:".$d'post']->slug,'301');
//}
$this->set($d);
}
/**
**admin
*/
function admin_index(){
$perPage=10;
$this->loadModel('Post');
$condition=array('type'=>'post');
$d'posts']=$this->Post->find(array(
'fields'=>'id,name,online',
'conditions'=>$condition,
'limit'=>($perPage*$this->request->page=1).','.$perPage
));
$d'total']=$this->Post->findCount($condition);
$d'page']=ceil($d'total'] /$perPage);
$this->set($d);
}
//Permet de suprimer un article
function admin_delete($id){
$this->loadModel('Post');
$this->Post->delete($id);
$this->redirect('admin/posts/index');
}
}
?>
Si je mettre $perPage=1; il m'affiche que un seul article mais mois j'ai 3 article si je change par 10 aucun affichage
Tu t'es trompé:
'limit'=>($perPage*$this->request->page=1).','.$perPage
Devient:
'limit'=>($perPage*($this->request->page - 1)).','.$perPage