ほとんど、phpが分からず、人のコードを参考にして作った物をいじっています。
今回、どうしてもわからない事があるので質問しました。
item.csvとcate.csvからページを作成しています。
item.csvにデータを入れるのですが、バナータグを入れると
,"<a href=""http://・・・"" target=""_blank""><img src=""http://・・・"" border=""0""></a>",
このようになってしまい、上手く表示ができない状態です。(エクセルが原因と考えられます)
""を"に置き変えてちゃんと表示できるのようにしたいのですが、どのようにすればいいのでしょうか?
この問題点をクリアすればどうにかなりそうです。
すいませんが、どこをどのように直せばバナーが上手く表示できるようになるのでしょうか?
phpがほとんど分かっていない為、詳しく教えてください。よろしくお願いします。
<?php
$C=$_GET["c"]; //クエリからパラメータを取得
$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 = 1024; // 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"<head>\n";
print"</head>\n";
print"<body>\n";
for($i=sizeof($DATA)-1;$i>=1;$i--){ //$DATAの要素を一つずつ読み込みながら以下の処理を行う
$line=explode(",",$DATA[$i]); //1要素をさらにカンマで分解し配列に格納
if($line[1]==$C){ //もしパラメータとカテゴリ番号が一致すれば表示
//問題箇所:商品出力:バナータグやテキストリンクタグを入れると上手く表示できません
print"<table width='90%' class='shop'><tbody><tr><td align='center' width='20%'>{$line[3]}</td><td width='60%' colspan='2'><p>{$line[2]}<br>{$line[7]}</td></tr></tbody></table>\n";
}
}
}else{
print"<head>\n";
print"</head>\n";
print"<body>\n";
}
?>
</body></html>
No.2ベストアンサー
- 回答日時:
$DATA=file("item.csv"); //CSVファイルを1行1要素で配列に読み込む
を
$fp = fopen("item.csv", "rt");
while ($DATA[] = fgetcsv($fp)) ;
fclose($fp);
にするとcsvが自動的に処理されます
$DATA[ ]は , で explodeされた配列になるので新たに explode する必要はありません
for($i=sizeof($DATA)-1;$i>=1;$i--){ //$DATAの要素を一つずつ読み込みながら以下の処理を行う
$line=$DATA[$i];
if($line[1]==$C){ //もしパラメータとカテゴリ番号が一致すれば表示
返事が遅くなりすいません。何とか解決いたしました。
それともう1つ質問していいですか?
上記のコードの場合
http://abc.com/c-1.html
とかになるのですが、間にカテゴリを1つ増やす何て事できるのでしょうか?
こんな感じ
http://abc.com/カテゴリID/c-1.html
ちなみにCSVデータには
cate.csv
カテゴリID,カテゴリ名,,,,,
item.csv
商品ID,カテゴリID,商品名などがあります。
もしよろしければ教えてください。よろしくお願いします!
No.1
- 回答日時:
単純な文字の置換なら
$str = str_replace('""', '"', $str);
ですがexplode()ではなくちゃんとしたパーサを使った方がいいかと。
//$line=explode(",",$DATA[$i]);
$line=csv2values($DATA[$i]);
function csv2values
http://rabis.iblis.org/index.php?CSV
ご回答ありがごうございます。
>$str = str_replace('""', '"', $str);
$line = str_replace('""', '"', $line);これで試した所、バナーは表示されるようになりました。
ただバナーの前後に " が表示されている状態です。
もう少しです。
>$line=csv2values($DATA[$i]);
こちらの方は今、時間がないので明日にでも試したいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpでPEAR::DBを使っているので...
-
phpでcookieがうまく保存されない
-
index.phpって何ですか? 具体...
-
index.phpに入るには、どうすれ...
-
PHP8を使うと、大量のWarningが...
-
PHPSpreadsheetを使って関数を...
-
アンドロイドスマホでのphp ech...
-
Postgresの特定のカラムからス...
-
PHPのエラーの解消法について教...
-
PHP MySql ページング
-
ECCUBE4のページ管理でPHPを実...
-
PHPで画像の渡しが上手く行きま...
-
ログインした掲示板ですが、直...
-
ここで言う空文字の意味とは?
-
PHP でメールフォームを作成したい
-
MySQLの配置が変わったため、db...
-
phpのクラスメソッドの定義が長...
-
phpでクラスのメソッドで同名の...
-
アマゾンのような評価の星を選...
-
SFTPなどは使わないホームペー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpでcookieがうまく保存されない
-
なんでブラウザでPHPを動かすた...
-
PHP8を使うと、大量のWarningが...
-
ワードプレスサイト PHP8.0.25...
-
PHPSpreadsheetを使って関数を...
-
php 入力画面から確認表示画面...
-
PHPのエラーの解消法について教...
-
掲示板のセキュリティについて...
-
php 完了画面の送信メールのコ...
-
PHPのセッション有効期限について
-
掲示板を作成しておりアップロ...
-
PHPでCookieを使った訪問回数に...
-
PHPで画像の渡しが上手く行きま...
-
重複を防ぐ記述について教えて...
-
php 確認表示画面で値をSESSION...
-
ファイルアップロードに関して...
-
メールフォームのタイトルが文...
-
フォームで戻った際に入力済み...
-
PHPで訪問回数を表示するカウン...
-
アップロード画像数でCSSを分け...
おすすめ情報