電子書籍の厳選無料作品が豊富!

レコードを読み込むのとは別に、最終書き込み者(ソートした最初のレコード)を表示させたいのですが、mysql_fetch_array($rst)を読み込ませると1位行目が消え、次ぎにmysql_fetch_array($rst)が読み込む時には2行目からになります。
-------------------------
最終書き込み者 一太郎さん「一番目のタイトル」
-レコードの一覧-
□一太郎 一番目タイトル
□次郎  2番目のタイトル
□佐武郎 三番目のタイトル
-------------------------
としたいのですが。

SQLを2度実行すればできるのですが、無駄な処理な気もします。
別のテーブルやこの情報だけtextに保存するのも無駄な気もするし。

//一番目をゲット
$sql = "select * from siritori order by db_no desc limit 1;";
$rst = mysql_query($sql,$con);
//$rst2 = $rst;
$col = mysql_fetch_array($rst);
print "最終書き込み者".$col["name"]."さん".$col["title"]."<hr>";

//一覧を表示
$sql = "select * from siritori order by db_no desc limit 10;";
$rst = mysql_query($sql,$con);
//SQL配列読み込み(select文)
while($col = mysql_fetch_array($rst)){
print $col["name"]."さん".$col["title"]."<br>".$col["kome"]."<hr>";}

//$rst2 = $rst;
配列をコピーできないかなー?とかもやったのですができない。

なんとか巧い解決方法はないでしょうか?
連想配置や、MySQLには詳しくないのでお教えください。

A 回答 (1件)

do ... while ステートメントを使ってこんな感じではいかがでしょうか?




$sql = "select * from siritori order by db_no desc limit 10;";
$rst = mysql_query($sql,$con);

//一番目読み込み
$col = mysql_fetch_array($rst);

//一番目書き込み
print "最終書き込み者".$col["name"]."さん".$col["title"]."<hr>";

//SQL配列読み込み(select文)
do{
print $col["name"]."さん".$col["title"]."<br>".$col["kome"]."<hr>";
}while($col = mysql_fetch_array($rst))
    • good
    • 0
この回答へのお礼

できました。
理由も分かりました。
まだPHPやPerlの考えが染みついているため、MySQLのいろいろなサンプルを見ようかと思います。

お礼日時:2005/07/09 16:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!