PHPの教科書を見ながらコメント機能をつけてみたのですが、
評価項目も追加しようと思い、手探りで行ってみました。
テーブルに評価のカラムを追加してPHPもカラム名を追記したのですが、
うまく表示されません。
関数についてもよく分かっていない状態なので詳細教えて下さい。
【PHP記載内容】
<?php // エラー表示 error_reporting(E_ALL); ini_set('display_errors', '1'); // データの受け取り $name = $_POST['name']; $title = $_POST['title']; $star = $_POST['star']; $body = $_POST['body']; //必須項目チェック(名前か本文が空ではないか?) if ($name == '' || $body == ''){ header('Location: CSS41.php'); // CSS41.phpへ移動 exit(); //終了 } //データベースに接続 $dsn = 'mysql:host=localhost;dbname=tabe1;charset=utf8'; $user = 'tabe1user'; $password = '1111'; // 設定したパスワード try { $db = new PDO($dsn, $user, $password); $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); //プリペアドステートメント作成 $stmt = $db->prepare(" INSERT INTO bbs (name, title, star, body, date ) VALUES (:name, :title, :star, :body, now() )" ); print_r($db->errorInfo()); //パラメータを割り当て $stmt->bindParam(':name', $name, PDO::PARAM_STR); $stmt->bindParam(':title', $title, PDO::PARAM_STR); $stmt->bindParam(':star', $star, PDO::PARAM_STR); $stmt->bindParam(':body', $body, PDO::PARAM_STR); //クエリの実行 $stmt->execute(); //CCSS41.phpに戻る header('Location: CSS41.php'); exit(); } catch(PDOException $e) { die ('エラー:' . $e->getMessage()); } ?>
【HTML記載内容】
<?php while ($row = $stmt->fetch()): $title = $row['title'] ? $row['title'] : '(無題)'; ?> <p>名前:<?php echo $row['name'] ?></p> <p>タイトル:<?php echo $title ?></p> <p>評価:<?php echo $row['star'] ?></p> <p><?php echo nl2br($row['body'], false) ?></p> <p><?php echo $row['date'] ?></p> <?php endwhile; //ページ数の表示 try { //プリペアドステートメント作成 $stmt = $db->prepare("SELECT COUNT(*) FROM bbs"); //クエリ $stmt->execute(); } catch (PDOException $e){ echo "エラー:" . $e->getMessage(); } //コメントの件数を取得 $comments = $stmt->fetchColumn(); //ページ数を計算 $max_page = ceil($comments / $num); echo '<p>'; for ($i = 1; $i <= $max_page; $i++){ echo '<a href="CSS41.php?page=' . $i . '">' . $i . '</a> '; } echo '</p>'; ?>
【WEB画面】
自身が現在のコードをどこまで把握しているのか、分からないところ・分かっているところを明確にして具体的に記載してください。既に回答が付いている通り、おおよそここまで自力で組める人なのであればその程度の機能追加ができない理由が見当たりません。
回答1件
あなたの回答
tips
プレビュー