• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:雑誌の記事索引を号ごとにきれいにまとめたい)

雑誌記事索引の整理方法

このQ&Aのポイント
  • 雑誌の記事索引をデータベースに整理し、読者にバックナンバー記事を検索してもらえるようにしたいと思います。
  • データベースの構成は、mymagazineというテーブルに、magazinecode(通し番号)、yyyymm(発行年月日)、category(分類)、title(題名)、author(著者)とあり、以下のようにデータが格納されています。
  • これを、「号ごと」にまとめる方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • agunuz
  • ベストアンサー率65% (288/438)
回答No.2

>$sql = "select * from mymagazine"; orderの指定がないのが謎です。順不同で取得してもいいというわけではないですよね(最低でもmagazinecode, categoryの指定が必要です。 またネイティブなMySQL関数はすでにオワコンが違いので、今のうちにMySQLiもしくはPDO(個人的にはPDOを推奨)に書き替えてください。 閑話休題 おおまかに流れを書くとこんな感じでいいのではないですかね。 $sv_magazine = ''; while ($col = mysql_fetch_array($rst)) { $magazine = $col['magazinecode']; if ($magazine !== $sv_magazine) { if ($sv_magazine !== '') { // 前のマガジン番号($sv_magazine)のフッタ(必要があれば) } // 今読んだマガジン番号($magazine)のヘッダ $sv_magizine = $magazine; } // $col から明細を出力 } // ループ終了 if ($sv_magazine !== '') { // 最後のマガジン番号($sv_magazine)のフッタ(必要があれば) }

litton101
質問者

お礼

agunuzさん、ご回答およびいろいろとアドバイスありがとうございました。 >orderの指定がないのが謎です。 はい、本番環境では通し番号が振ってあるので これで並び替えします。 >今のうちにMySQLiもしくはPDO 大変お恥ずかしながら、MySQLiもPDOというのが初耳でした。 ちょっと調べたら情報いろいろあるので勉強して導入します。 http://otukutun.hatenablog.com/entry/2013/01/29/225140 >おおまかに流れを書くとこんな感じでいいのではないですかね。 具体的なコードで示していただき、非常に助かります。 早速解読しながら組み込んでみます。 また何か不明な点があれば、書き込ませていただきます。

その他の回答 (4)

noname#244856
noname#244856
回答No.6

PDOを使ったサンプル http://codepad.org/HeIMjkbl

litton101
質問者

お礼

To_aru_Userさん、御礼遅くなって失礼しました。 PDOを使ったサンプルをご提示いただきありがとうございました。 PDOの導入を含め、皆さんの回答を一通り、きちんと試してから締め切りたかったですが、 本件に取り組むまでに少し時間がかかりそうですので一旦〆切にします。 たびたびのご教示本当にありがとうございました。

noname#244856
noname#244856
回答No.5

http://php.net/ChangeLog-5.php PHP5.2.17がどれだけのバグをかかえているかこれを見てもらえれば分かると思います。 常に最新版を使うようにしましょう。 レンタルサーバー側がPHP5.2.17のままアップデートしていない場合等は、サーバー移転を検討しましょう。

litton101
質問者

お礼

To_aru_Userさん、たびたび恐れ入ります >レンタルサーバー側がPHP5.2.17のままアップデートしていない まさにこのケースなのですが、手元の開発環境だけでも 最新版にすることとします。 以上に参考になるアドバイスありがとうございます。

noname#244856
noname#244856
回答No.4
litton101
質問者

お礼

To_aru_Userさん、非常に参考になるURLを教えていただきありがとうございました。 「やっちゃいけないこと」のオンパレードでした、、、 一つ一つつぶしていきたいと思います。

回答No.1

sqlにgroup by は使用不可でしょうか?

litton101
質問者

お礼

muuming2001さん、ご回答ありがとうございます。 group by は存じ上げているのですが、SQLでくくった後、 PHP側でどう取り出すかが???な感じです、勉強してみます。

関連するQ&A