私は、画像のIDとそのラベルのテキストと共に画像のIDを格納するCSVファイルを持っています(スプレッドシートはイメージギャラリー他)。 1.csv、2.csv、3.csvという名前の複数のCSVがあります。ループの目的で、ループカウンタを ".csv"に連結してファイルを取得するだけです。 CSVのものですが、必ずしも設定されているとは限りません。PHPで配列をソートしてファイルに戻す
ユーザーがコントロールパネルを使用してCSVを編集すると、画像のIDを変更できます。新しい画像を追加すると、そのIDも指定できます。
これは各CSV自体一つ最後
$htmlMenu .= "<tr> <th> Name/ID </th> <th> URL </th> <th> Text </th> </tr>";
$file_handle = fopen($fullCSVUrl, "r");
while (!feof($file_handle)) {
$line_of_text = fgetcsv($file_handle, 1024);
$htmlMenu .= "<tr> <td> $line_of_text[0] </td> <td> <a href=\"$line_of_text[1]\"> $line_of_text[1] </a> </td> <td> $line_of_text[2] </td>";
}
$htmlMenu .= "</table>";
によって各ファイル1を通過するループ内に存在する次のwhileループに変換され、CSV
1,images/url/photograph.jpg,label text
2,images/url/image2.jpg,label text
4,images/url/apple.jpg,label text
3,images/url/foo.jpg,label text
5,images/url/5.jpg,label text
の一例です、$ htmlMenuがエコーされ、個々のHTMLテーブルとして1つずつCSVごとにページが生成されます。これは$ line_of_text [0]がファイルから取得したIDであることを意味します。
可能であれば、最初の列でデータを並べ替えてからCSVに送り返し、このページにアクセスするたびにファイルをIDで効率的にソートしたいと思います。私は、CSV自体をソートするか、配列をソートしてファイルに戻して、古いデータを置き換えても構いません。
私は効果的に説明して欲しいと思っています。私は何をしたいのかを知っています。どこで、私はそれを理解できません。ご協力ありがとうございました。
PS:ソートされたテーブルを表示するには、リフレッシュする必要があることを理解しています。これは個人的な使い分けのとおりです。
返信ありがとうございます。このコードは複数のファイルが存在するため、ループ内にあります。あなたのコードはデータベースをソートしますが、プリントされたすべてのデータベースはソートされていても何度も何度も何度も印刷されています。私のループ内で複数の用途をサポートするために、これをどのように変更することができますか?(私のコードのすべてが含まれています) – Jordan
まず、すべてのファイルを配列に入れてから、それらの間を繰り返します。あなたはこのようなものを試すことができます:http://stackoverflow.com/questions/29608709/reading-csv-files-from-directory-and-showing-the-content-of-each-file-fails 私は答えを編集しますあなたの問題へのより良いアプローチを作る... – megavexus