• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:order by rank descでの並び替え。)

PHPからSQLITEのデータを並び替えて出力する方法について

このQ&Aのポイント
  • 質問文章では、PHPからSQLiteのデータを並び替えて出力したいという要望があります。
  • 具体的には、PHPのコードで$_REQUEST['ord']の値によってデータをrank順に並び替えたいとしています。
  • しかし、現在エラーが発生しており、原因を特定することができません。解決策をご存知の方はいらっしゃいますか?

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

  • ベストアンサー
回答No.2

たびたびお邪魔します。 ご親切にありがとうございます。ソース見せていただきました。 この本体(***.php)はsetup.phpを呼び出していて、さらに本体プログラムに呼び出されています。 ここではないところで一時的に検索用テーブルi1,i2,i3が作られて、プログラムとともに削除されているようです。 info_itemは個人の項目を可変的に入力できるテーブルです、たぶん。 すごい考えですね、本当に勉強になりまして、こちらが感謝です。 エラー箇所はファンクションitems_list()を呼び出している本体かもしれませんが、貼っていただいた部分だけで言いますと。 私の知識不足かも知れないのですがSELECT * FROM table1 LEFT JOIN table2 table3 on ~で3つのデータベースを結合させることはできないんじゃないかと思います。 252行// トップページ用一覧から295行までの left join info_item i* on~ (i*はi1,i2,i3とi$no)部分を left join i* on~という具合にinfo_itemを削除してみてはどうでしょうか。286行目のleft join info_item i$no onも含みます。 とりあえずこの本体を別名で保存してから、書き換えやってみてください。 自信の無い回答ですが、ご容赦を! これでだめで、続きがあるならまた書き込みます。そのとき不都合が無ければsetup.phpと本体.php見せてくださいね。 引継ぎ業務なのですか?大変ですね。お仕事がんばってくださいね。では!

その他の回答 (1)

回答No.1

はじめまして。 構成がわからないのですが from info left join info_item i1 on ~ の infoとi1はテーブルですね。info_itemもテーブルですか? テーブルでないなら info_itemを削除すれば多分いけます。 それでダメならrankカラムが infoとi1両方に存在しているので、info.rankとかにすればいいのでは。 info_itemがテーブルでrankカラムがinfo_itemテーブルにあるなら from info left join info_item on ~ left join i1 on ~とかになるかと。 あっていればいいですが。

tamamayan
質問者

お礼

http://z224sc.pen.io/ こちらのページに問http://okwave.jp/qa/q7493561.html#題のPHPの部分とデータベースの中身をのせてみました。 試行錯誤しているのですが、データベースの扱いをもう少し勉強してみようと思います。

tamamayan
質問者

補足

ありがとうございます。 info_itemがテーブルになっていてその中にrankカラムがあります。 そのrankの数字順に並べたいと思っています。 またi1というものは存在していないのでなぜこれが出てくるのかがわかりません。原因はこのあたりにあるのかもしれません。 ですが、i1というそれらしい記述が全くないのです。 構成はsqliteファイルの中にPHPの処理などを打ち込んでいる形です。 データベースファイルをみてもらえれば内容がわかると思うのですが、そういったことは可能でしょうか?

関連するQ&A