![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
PHPはほとんど初心者ですが、よろしくお願いします。
カテゴリページでデータがある場合の表示ですが、逆順で表示させたいと思っています。
いろいろ調べてarray_reverse()を使えばいいそうですが、どのように書けばいいかわかりません。
見にくいですが、よろしくお願いします。
<?php
$C=$_GET["c"];//クエリからパラメータを取得
$ID=$_GET["id"];//クエリからパラメータを取得(アイテム)
$DATA=file("item.csv");//CSVファイルを1行1要素で配列に読み込む
$CAT_DATA=file("cate.csv");//カテゴリ用CSVファイルを読み込む
//CSVファイルからページデータを獲得する関数
//@引数 $id :ページID
//@戻り値 array :ページデータ
//(該当するIDがなければ空の配列を返す)
function getPageRecord ( $id )
{
$filename = 'cate.csv'; // CSVファイル名
$maxlen = 10240; // 1行の最大長(バイト)
$record = array();
if ($fp = fopen($filename, 'r')) {
while ($rec = fgetcsv($fp, $maxlen, ',')) {
if ($rec[0] == $id) {
$record = $rec;
break;
}
}
fclose($fp);
}
return $record;
}
//ページデータ獲得
$page = getPageRecord($_GET['c'])
//獲得したデータのレイアウト(カテゴリページ用のトップ)
?>
<?php
if($C){
print"<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>\n";
print"<html lang='ja'><head>\n";
print"<meta http-equiv='Content-Type' content='text/html; charset=Shift_JIS'>\n";
print"<meta http-equiv='Content-Style-Type' content='text/css'><title>$page[7]</title>\n";
print"<meta name='description' content='$page[4]'>\n";
print"<meta name='Keywords' content='$page[5],$page[6],'>\n";
print"<link rel='stylesheet' href='shop.css' type='text/css'>\n";
print"</head>\n";
print"<body>\n";
include("ninjya.txt");
print"<p class='b'>$page[2]</p>\n";
print"<div id='box'>\n";
print"<div id='hed'>\n";
print"<div class='sitemame'><p> サイト名</p></div>\n";
print"</div>\n";
print"<div id='navi'>\n";
print"<div class='navibody'><A href='url'>ホーム</A>><a href='index.html'>サイト名</a>>{$page[1]}</div>\n";
print"</div>\n";
print"<div id='main'>\n";
print"<div class='mainbody'>\n";
//パラメータがある場合の処理(カテゴリ別のページを表示)
print"<h1>{$page[1]}</h1>\n";
for($i=0;$i<sizeof($DATA);$i++){//$DATAの要素を一つずつ読み込みながら以下の処理を行う
$line=explode(",",$DATA[$i]); //1要素をさらにカンマで分解し配列に格納
if($line[1]==$C){//もしパラメータとカテゴリ番号が一致すれば表示
print"<table width='90%' cellspacing='10'><tbody><tr><td width='20%' rowspan='2'><a href='{$line[2]}'><img src='{$line[3]}' border='0' height='80' alt='{$line[4]}'></a></td>\n";
print"<td width='60%'><a href='{$line[2]}'>{$line[4]}</a>\n";
print"</td>\n";
print"<td width='20%'>\n";
print"<span class='nedan'>{$line[5]}円</span></td>\n";
print"</tr><tr><td width='70%' colspan='2'><a href='item-{$line[0]}.html' title='{$line[4]}'>>>詳細</a></td></tr></tbody>\n";
print"</table>\n";
}
}
}
No.4
- 回答日時:
index.phpの63行目はちゃんとみましたか?
括弧の数がちがっていたり、行末に「;」が抜けていたりしませんか?
前回の回答でもかきましたがそういう「ケアレスミス」の可能性が大です。
この回答への補足
すいません確認ですが、
for($i=0;$i<sizeof($DATA);$i++){//$DATAの要素を一つずつ読み込みながら以下の処理を行う
$line=explode(",",$DATA[$i]); //1要素をさらにカンマで分解し配列に格納
if($line[1]==$C){//もしパラメータとカテゴリ番号が一致すれば表示
これを
for($i=sizeof($DATA)-1;$i>=0);$i--){ //$DATAの要素を一つずつ読み込みながら以下の処理を行う
$line=explode(",",$DATA[$i]); //1要素をさらにカンマで分解し配列に格納
if($line[1]==$C){//もしパラメータとカテゴリ番号が一致すれば表示
このように変えればいいのですよね。(まちがっていたらすいません)
ちなみに前のままではちゃんと表示できています。
No.3
- 回答日時:
ためしに、テストデータをつくって
「for($i=sizeof($DATA)-1;$i>=0);$i--){」でやってみましたが
問題なく表示されました。おそらく、なんらかのケアレスミスではないですか?
>試してみましたがエラーがでました。
エラーの内容を転記してください。
わざわざ試していただきありがとうございます。
エラーですが、このようなものが表示されています。
Parse error: syntax error, unexpected ')', expecting ';' in /home/~/index.php on line 63
No.2
- 回答日時:
試していませんが、
for($i=sizeof($DATA)-1;$i>=0);$i--){ //$DATAの要素を一つずつ読み込みながら以下の処理を行う
ご回答ありがとうございます。
for($i=0;$i<sizeof($DATA);$i++){ //$DATAの要素を一つずつ読み込みながら以下の処理を行う の部分を
for($i=sizeof($DATA)-1;$i>=0);$i--){ //$DATAの要素を一つずつ読み込みながら以下の処理を行う で試してみましたがエラーがでました。
どうすれば・・
No.1
- 回答日時:
まるなげすぎて要件がわかりづらいですね。
<?PHP
$array=Array(5,2,3,1,4);
$array=array_reverse($array);
print_r($array);
?>
とすれば出力が4,1,3,2,5となります。
こういうのが逆順ですが、やりたいことはどういうことなのでしょう?
お返事ありがとうございます。
もともと私はPHPが出来ず、このプログラムも他の人から参考にしたものです。
参考までに
http://affblog.aki-f.com/?eid=176447#sequel
このページのサンプルになります。
http://affiliate.aki-f.com/blogdata/sample5/samp …
CSVにデータを追加すると下に追加されます。これを逆順にして、新しくデータを追加したものは上に表示されるようにしたいです。
そこでいろいろと調べてarray_reverse()で出来そうと分かったのですが、どこをどのように入れれば分からなく質問しています。
わかりづらくてすいませんがよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
null代入とunset()の違いについて
-
「次の10件を表示する」のよ...
-
PHP ハイパーリンク
-
日付・時刻を比較する方法について
-
バッチファイルでpingの結果を...
-
Dosブロンプトでtabを出力したい
-
「取得先」という表現について
-
【C#】DataGridViewの最大列数...
-
Yahoo! JAPAN IDを新規取得でき...
-
DTOとEntityの差は何ですか。
-
switch()文で値の大小比較
-
wordの差し込み印刷で文字...
-
ps3で久しぶりにCDの音楽情報取...
-
エラーの理由が分りません。Pri...
-
shシェルスクリプト 空白行の...
-
EXCEL、マクロ-改ページ行番号...
-
開始と終了を指定して、その間...
-
Google scholarがひらけなくな...
-
format関数について
-
グローバルIPの取得方法を教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<A href ~で複数の値を渡したい
-
「次の10件を表示する」のよ...
-
テーブルに送信ボタンをつける
-
日付を基にした乱数生成
-
PHPのif文「POSTしていな...
-
POSTされたかどうか確かめる方...
-
PHPでwait処理ってできます?
-
microtime関数は、結構イイカゲ...
-
Google chart API 、PHP、MySQL...
-
vbYesNoの使い方
-
PHP ハイパーリンク
-
if (isset($_a)&&$_a)この意味は
-
アクセスキーについて
-
「ソースコードは 左~右へと読...
-
<python>戻り値
-
Luaにて、and or の組み合わせ...
-
null代入とunset()の違いについて
-
2個のプログラムは結果は同じ...
-
PHP5で 定義されているINFの実...
-
逆順表示したい?
おすすめ情報