0

多くの試行錯誤の後、結果が最初の文字でグループ化され、その最初の文字が以下に示すように表示されるコードを機能させることができました。

-A-
Alton Towers

-C-
Cedar Point
Chessington

これらのレターの見出しを HTML アンカーに変換しました。私が今やろうとしているのは、各アンカーへのリンクであるページの上部にある行の最初の文字を表示するだけの同様のコードを実行することです。コードを動作させることができません。コードを複製して文字を表示するように変更すると、元のクエリ リストは表示されません。誰か助けてくれませんか?以下は、クエリ結果を文字見出し付きで表示するために使用されるコードです。

try
{
$sql = 'SELECT park_id, name, town, state, country
FROM tpf_parks ORDER BY name ASC';
$result = $pdo->query($sql);
}
catch (PDOException $e)
{
$error = 'Error fetching parks: ' . $e->getMessage();
//include 'error.html.php';//
exit();
}


$name = '';


foreach($result as $key=>$row){
    if(substr($row['name'],0,1)!=$name) echo '<br /><br /><h1>-<a name="'.substr($row['name'],0,1).'">'.substr($row

['name'],0,1).'-</h1></a>';
    $name = substr($row['name'],0,1);

    echo "<a href='park.php?park_id=".$row['park_id']."'>

<h2>".$row['name']."</h2>
<h3>".$row['town'].", ".$row['state'].", ".$row['country']."</h3></a><hr>";


}
4

1 に答える 1

0

初めてループするときは、結果セットのポインターが自動的にリセットされません。したがって、2回目にアクセスしようとすると、空/セットの最後になります。結果の PDOStatement オブジェクトがどのように機能するかをよく読んでください。

これは、これを解決する方法のアイデアを提供する同様の質問です。

于 2013-04-13T00:11:51.997 に答える