想知道是否有人可以幫助。我通過PHP和MySQL的教程運行,那裏是持有一個笑話數據庫:如何顯示消息,如果沒有結果返回數據庫查詢在PHP
- 笑話的笑話表
- 作者在作者表中類別表
- 分類
我有一個名爲authors.html.php的頁面,其中包含一個作者列表,其中包含添加作者,編輯/刪除作者(每個返回作者姓名旁邊)的選項。我所試圖做的是如果包含作者的數據庫是空的,而不是顯示下面的PHP錯誤:
Notice: Undefined variable: authors in C:\wamp\www\chapter7\admin\authors\authors.html.php on line 22
我想顯示一個漂亮整潔的消息說,沒有找到結果。
我的代碼如下:
<?php
include $_SERVER['DOCUMENT_ROOT'] . '/chapter7/includes/db.inc.php';
try {
$result = $pdo->query('SELECT id, name FROM author');
} catch (PDOException $e) {
$error = 'Error fetching authors from the database!';
include $_SERVER['DOCUMENT_ROOT'].
'/chapter7/admin/error.html.php';
exit();
}
foreach ($result as $row){
$authors[] = array('id' => $row['id'], 'name' => $row['name']);
}
include 'authors.html.php';
if (isset($_POST['action']) and $_POST['action'] == 'Delete') {
include $_SERVER['DOCUMENT_ROOT'].
'/chapter7/includes/db.inc.php';
//Get jokes belonging to author
try {
$sql = 'SELECT id FROM joke WHERE authorid = :id';
$s = $pdo->prepare($sql);
$s->bindValue(':id', $_POST['id']);
$s->execute();
} catch (PDOException $e) {
$error ='Error getting list of jokes to delete.';
include $_SERVER['DOCUMENT_ROOT'].
'/chapter7/admin/error.html.php';
exit();
}
$result = $s->fetchAll();
//Delete joke category entries
try {
$sql = 'DELETE FROM jokecategory WHERE jokeid =:id';
$s = $pdo->prepare($sql);
//For each joke
foreach ($result as $row) {
$jokeId= $row['id'];
$s->bindValue(':id', $jokeId);
$s->execute();
}
} catch (PDOException $e) {
$error = 'Error deleting category entries for joke.';
include $_SERVER['DOCUMENT_ROOT'].
'/chapter7/admin/error.html.php';
exit();
}
//Delete jokes belonging to author
try {
$sql = 'DELETE FROM joke WHERE authorid = :id';
$s = $pdo->prepare($sql);
$s->bindValue(':id', $_POST['id']);
$s->execute();
} catch (PDOException $e) {
$error = 'Error deleting jokes for author';
include $_SERVER['DOCUMENT_ROOT'].
'/chapter7/admin/error.html.php';
exit();
}
//Delete the author
try {
$sql = 'DELETE FROM author WHERE id =:id';
$s = $pdo->prepare($sql);
$s->bindValue(':id', $_POST['id']);
$s->execute();
} catch (PDOException $e) {
$error ='Error deleting author';
include $_SERVER['DOCUMENT_ROOT'].
'/chapter7/admin/error.html.php';
exit();
}
header('Location: .');
exit();
}
請注意我非常新的這個和已經嘗試了一些反覆失敗的悲慘,所以任何幫助,甚至只是簡單的指導,將步驟我通過思考圍繞創建這樣的功能將不勝感激。不只是尋找正確的答案,而是想要了解如果任何人都可以提供幫助的背後的想法會很棒。
*「我有一個名爲'authors.html.php'的頁面,其中包含作者列表」* - 並且您正在執行'include'authors.html.php';'?我不明白。對我來說,似乎是一個無盡的循環。 – 2014-09-05 12:34:12
if(sizeof($ result)== 0){// code here no results} else {// foreach ...} – Jack 2014-09-05 12:36:41
你應該遵循一個更好的教程。 – 2014-09-05 12:40:30