前提・実現したいこと
DBの要素を2列のカードに出力したいです。
料理一覧のようなサイトを開発しています。
bunruiには丼や肉などが入ります。
ryori_idは1から順に入ります。
--ryoriテーブル作成
CREATE TABLE health
.ryori
( ryori_id
CHAR(4) NOT NULL ,
ryori_name
VARCHAR(50) NOT NULL ,
bunrui
VARCHAR(50) NOT NULL ,
enbun
double(11,1) NOT NULL ,
cal
INT NOT NULL ,
PRIMARY KEY (ryori_id
)
) ENGINE = InnoDB;
このような構造になっています。
発生している問題・エラーメッセージ
修正版です。
カードが表示されません。{}等見直しましたが、改善されません。
エラーメッセージ if (isset($_REQUEST['keyword'])) { $sql=$pdo->prepare('select * from ryori where ryori_name like ?'); $sql->execute(['%'.$_REQUEST['keyword'].'%']); } else { $sql=$pdo->prepare('select * from ryori'); $sql->execute([]); } for ($i = 0; $i < $sql->rowCount(); $i++) { $row = $sql->fetchColumn($i); if($i % 2 == 0) { echo'<div class="card-group">'; echo'<div class="card">'; echo'<img src="',$row['url'],'" alt="" >'; echo'<div class="card__textbox">'; echo'<div class="card__titletext">'; echo'' ,$row['ryori_name'],''; echo'</div>'; echo'<div class="card__overviewtext">'; echo'カロリー:',$row['cal'],' <br>'; echo'塩分:',$row['enbun'],''; echo'</div>'; echo'</div>'; echo'</div>'; } else { echo'<div class="card">'; echo'<img src="',$row['url'],'">'; echo'<div class="card__textbox">'; echo'<div class="card__titletext">'; echo'' ,$row['ryori_name'],''; echo'</div>'; echo'<div class="card__overviewtext">'; echo'カロリー:',$row['cal'],' <br>'; echo'塩分:',$row['enbun'],''; echo'</div>'; echo'</div>'; echo'</div>'; echo'</div>'; } }
試したこと
補足情報(FW/ツールのバージョンなど)
xamppのローカルで動かしています。
bootstrap4を入れてます。
スマホ環境を想定してます。
chromeにて動作確認してます。
回答3件
あなたの回答
tips
プレビュー