
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpのheader("Location:#pos")...
-
セッション関数を使わずにファ...
-
SplFileObject を利用したとき...
-
フォームで戻った際に入力済み...
-
PHP8でWarning:Undefined varia...
-
PHPで画像の渡しが上手く行きま...
-
composerをインストールしたい...
-
$filePath = './user_img/' . $...
-
php ラジオボタン
-
phpの問い合わせフォームを作っ...
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
PHPの勉強してます。 配列のと...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
-
PHPについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<A href ~で複数の値を渡したい
-
parse_ini_fileでダブルクォー...
-
「次の10件を表示する」のよ...
-
テーブルに送信ボタンをつける
-
!==について
-
ヒアドキュメントの中で関数の実行
-
PHPでwait処理ってできます?
-
$_SERVER["QUERY_STRING"]の仕...
-
初歩的な質問だと思います。IF...
-
phpからoracle関数を使ってコミ...
-
PHP declare文について、ticks...
-
null代入とunset()の違いについて
-
PHP ハイパーリンク
-
PHPの質問です : -> 等
-
重い処理の最中の経過を出力したい
-
書籍とその書籍が提供している...
-
printの出力結果を変数に代入す...
-
ヒアドキュメントでstaticメン...
-
CakePHP リッチテキストエディ...
-
ランダム文字について
おすすめ情報