はじめまして。
現在会社の課題で独自F/Wを使用して、ローカルにてブログ形式のフォーム作成しています。
環境は下記のとおりです。
言語:PHP5.6
DB:Mysql
サーバー:Apache
ブログ記事のソートをタイトル順、投稿(編集)順で並び替えられるように実現したいのですが、下記エラーで配列形式になっていないのかもしくはデータの引き渡しが出来てないかがわからない状態です。
また、修正の仕方もわからないため、ご教授いただければ幸いです。
Notice: Undefined variable: view in C:\xampp\htdocs\levis\app\views\blog\list.php on line 24 Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\levis\app\views\blog\list.php on line 24
Controllersファイル
<?php if (empty($_POST['sort'])){ $view['articles'] = select_articles(array( 'order_by' => 'id DESC', )); } if (isset($_POST['sort']) == 'title'){ $view['articles'] = select_articles(array( 'order_by' => 'created DESC', )); } elseif (isset($_POST['sort']) == 'created') { $view['articles'] = select_articles(array( 'order_by' => 'title DESC' )); }
Viewファイル
<html> <head> <meta charset="<?php t(MAIN_CHARSET) ?>" /> <title>ブログ</title> </head> <body> <h1>ブログ</h1> <form action="" method="post"> <div> <select name="sort" class="short"> <option value="created">日時</option> <option value="title">タイトル</option> </select> <input type="submit" name="" value="切替"> </div> </form> <table> <tr> <th>ID</th> <th>登録日時</th> <th>修正日時</th> <th>タイトル</th> </tr> <?php foreach ($view['articles'] as $article) : ?> <tr> <td><?php h($article['id']) ?></td> <td><?php h(localdate('Y/m/d H:i', $article['created'])) ?></td> <td><?php h(localdate('Y/m/d H:i', $article['modified'])) ?></td> <td> <a href="<?php t(MAIN_FILE) ?>/blog/view?id=<?php t($article['id']) ?>"><?php h($article['title']) ?></a> <a href="<?php t(MAIN_FILE) ?>/blog/edit?id=<?php t($article['id']) ?>">編集</a> <a href="<?php t(MAIN_FILE) ?>/blog/delete?id=<?php t($article['id']) ?>">削除</a> </td> </tr> <?php endforeach ?> </table> <p><a href="<?php t(MAIN_FILE) ?>/blog/add">新規登録</a></p> </body> </html>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/09 11:12