$rules 配列のエントリを使用しようとすると、次のエラーが表示されます。
注意: 未定義のインデックス: C:\xampp\htdocs\topdrawerfifa\fifa-text-book.php の id 55 行目 注意: 未定義のインデックス: C:\xampp\htdocs\topdrawerfifa\fifa-text-book.php のコンテンツ56行目
この回答はエラーの意味に対処していますが、ソースを特定するのには役立ちません。
ここにコードがあります -
function get_rules($id = null){
$rules = array();
$query = "SELECT 'fifa_rules' . 'id' AS 'rule_id', 'content'
FROM 'fifa_rules'";
if(isset($id)){
$id = (int)$id;
$query .= "WHERE 'fifa_rules'.'id' = {$id}";
}
$query .= "ORDER BY 'fifa_rules'.'id' DESC";
$query = mysql_query($query);
while($row = mysql_fetch_assoc($query)){
$rules[] = $row;
}
return $rules;
}
$rules = (isset ($_GET['$id'])) ? get_rules($_GET['id']) : get_rules();
?>
<h2><a href="fifa-text-book.php?id=<?php echo $rules['id']; ?>"><?php echo
$rules['id']; ?></a></h2>
<div><?php echo nl2br($rules['content']); ?></div>
while ループを次のように変更すると、最後の部分が機能するようになりました。
while($row = mysql_fetch_array($query)){
$rules['id'] = $row['id'];
$rules['content'] = $row['content'];
}
ただし、データベースの最初のエントリのみが表示されます。これを正しく機能させるにはどうすればよいですか?ありがとう。