質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

0回答

1487閲覧

phpでデータベースのレコードを無限スクロール

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2019/02/23 12:25

編集2019/02/23 12:27

前提・実現したいこと

勝手な質問ですみませんが、phpでコメントの投稿一覧を無限スクロールする方法が分かりません。色々なサイトを観てみましたが、さっぱり分かりません。どんなソースコードにすればいいですか?

該当のソースコード

php

1<?php 2session_start(); 3 4$db_host = 'localhost'; 5$db_name = 'sns'; 6$db_user = 'root'; 7$db_pass = ''; 8 9// データベースへ接続する 10$link = mysqli_connect( $db_host, $db_user, $db_pass, $db_name ); 11if ( $link !== false ) { 12 13$tipes = "1"; 14 15 16$msg = ''; 17$err_msg = ''; 18 19if ( isset( $_POST['send'] ) === true ) { 20 21$name = $_SESSION["NAME"]; 22$comment = $_POST['comment']; 23$userid = $_SESSION["ID"]; 24 25date_default_timezone_set('Asia/Tokyo'); 26 27$time = date('Y-m-d H:i:s'); 28$tipe = "1"; 29 30if ( $name !== '' && $comment !== '' ) { 31 32 33 34 35//生成する文字数 36$length = 10; 37 38//使用する文字 39$char = '1234567890'; 40 41$charlen = mb_strlen($char); 42$result = ""; 43 44for($i=1;$i<=$length;$i++){ 45 $index = mt_rand(0, $charlen - 1); 46 $result .= mb_substr($char, $index, 1); 47} 48 49echo $result; 50 51 52//書き込みオリジナルファイル読み込み 53$files=file_get_contents('sample.php'); 54 55//'a'+乱数を生成してファイル名に 56$fileName = "Reply/31".rand(); 57 58//書き込みオリジナルファイルから変更点を置き換える 59$files=str_replace("===1===",$result,$files); 60$files=str_replace("===2===",$name,$files); 61$files=str_replace("===3===",$comment,$files); 62 63//文字コードをUTFに変換 64$files = mb_convert_encoding($files, "UTF-8","AUTO"); 65 66//ファイル名に拡張子を付ける 67$fileName = $fileName. ".php"; 68 69//ファイル生成&書き込み 70$handle = fopen( $fileName, 'w'); 71 72fwrite( $handle, $files); 73fclose( $handle ); 74 75// メッセージ表示 76print $fileName. "を生成しました。<br/>\n"; 77 78 79 80require('./user/filed/' . $_SESSION["ID"] . '.php'); 81 82$query = " INSERT INTO board ( " 83. " user_icon , " 84. " user_id , " 85. " rinku , " 86. " tipe , " 87. " time , " 88. " name , " 89. " comment " 90. " ) VALUES ( " 91. "'" . mysqli_real_escape_string( $link, $name1 ) ."', " 92. "'" . mysqli_real_escape_string( $link, $userid ) ."', " 93. "'" . mysqli_real_escape_string( $link, $fileName ) ."', " 94. "'" . mysqli_real_escape_string( $link, $tipes ) ."', " 95. "'" . mysqli_real_escape_string( $link, $time ) ."', " 96. "'" . mysqli_real_escape_string( $link, $name ) ."', " 97. "'" . mysqli_real_escape_string( $link, $comment ) . "'" 98." ) "; 99 100$res = mysqli_query( $link, $query ); 101 102if ( $res !== false ) { 103$msg = '書き込みに成功しました'; 104}else{ 105$err_msg = '書き込みに失敗しました'; 106} 107}else{ 108$err_msg = '名前とコメントを記入してください'; 109} 110} 111 112 $query = "SELECT 113 * 114 FROM 115 `board` 116 WHERE 117 tipe = 1 and 118 ( 119 user_id in ( 120 select to_id from follow where from_id = '" . $_SESSION["ID"] . "' 121 ) 122 or user_id = '" . $_SESSION["ID"] . "' 123 )"; 124 $res = mysqli_query( $link,$query ); 125 $data = array(); 126 while( $row = mysqli_fetch_assoc( $res ) ) { 127 array_push( $data, $row); 128 } 129 arsort( $data ); 130 131} else { 132 echo "データベースの接続に失敗しました"; 133} 134 135// データベースへの接続を閉じる 136mysqli_close( $link ); 137 138 139#終了 140$stmt = null; 141$pdo = null; 142 143 144?> 145 146 147<html> 148<head> 149 150<script src="js.js"></script> 151 152<meta name="viewport" content="width=device-width,initial-scale=1.0"> 153<title>書き込み欄</title> 154<link rel="stylesheet" type="text/css" href="./css.css"> 155<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 156</head> 157<body> 158 159 160<?php 161$foodlink = file_get_contents('./テンプレート/herder.php'); 162echo $foodlink; 163?> 164 165<div id="T1"></div><br><br><br> 166 167 168<div style="padding:10px;border-radius:10px;background:#DBB8FF;"> 169 170 171 <h1>メイン画面</h1> 172 <!-- ユーザーIDにHTMLタグが含まれても良いようにエスケープする --> 173 <p>ようこそ<u><?php 174 175 if (isset($_SESSION["NAME"])) { 176 177 echo htmlspecialchars($_SESSION["NAME"], ENT_QUOTES); 178 179 }else{ 180 echo "ゲスト"; 181 182 } 183 ?></u>さん</p> <!-- ユーザー名をechoで表示 --> 184<?php 185// ログイン状態チェック 186if (isset($_SESSION["NAME"])) { 187 188$foodlink = file_get_contents('./テンプレート/user.php'); 189echo $foodlink; 190 191 192$foodlink = file_get_contents('./user/' . $_SESSION["ID"] . 'a.txt'); 193echo $foodlink; 194 195 196 197} 198 199?> 200 201<?php 202 203if ( isset( $_POST['tuti'] ) === true ) { 204 205 206$w = $_POST["tuti"]; 207 208if($w == 1){ 209// 「はい」の時の処理 210 211} 212} 213?> 214 215</div><br> 216 217<div class="kakomi-box4"> 218 219<?php 220// ログイン状態チェック 221if (isset($_SESSION["NAME"])) { 222 223$foodlink = file_get_contents('./テンプレート/post.php'); 224echo $foodlink; 225 226} 227?> 228<!-- ここに、書き込まれたデータを表示する --> 229 230<?php 231 232if ( $msg !== '' ) echo '<p>' . $msg . '</p>'; 233if ( $err_msg !== '' ) echo '<p style="color:#f00;">' . $err_msg . '</p>'; 234foreach( $data as $key => $val ){ 235echo '<fieldset style="background:#add6ff; padding:10px; border:none;"><a href="./users/' . $val['user_id'] . '.php"><img src="' . $val['user_icon'] . '" alt="50" width="" height="50"></a><font size="6">' . $val['name'] . '</font><br>' . $val['comment'] . '<br><br><font size="2">' . $val['time'] . '</font>' . '<br><a href="' . $val['rinku'] . '" target=_blank">返信</a>' . '</fieldset><br>'; 236} 237 238 239?> 240 241 242</div> 243 244 245</body> 246</html>

補足情報(FW/ツールのバージョンなど)

回答に必要なさそうな情報は載せてませんが、どうか、回答宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/02/23 12:56 編集

>回答に必要なさそうな情報は載せてませんが 載せてくださいとしか言えません。「必要そうな」と検討がついているなら載せないデメリットのほうが大きいです。 情報は多ければ多いほど的確な回答・迅速な解決につながります。 特に「色々探した」「色々なサイトを見てみた」これが正しい情報なのか質問者さんの理解が間に合っているかを判断して、回答につなげるためには必須です。 行先の情報を何も伝えずにタクシーは目的地には連れて行ってくれませんから。(しかもこのサイトはタクシーのように運賃を回答者に払うわけではありません。それだけ質問者さんが手抜きするとどこにもたどりつけません)
m.ts10806

2019/02/23 12:58

それに「どんなソースコードにすればいいですか?」は質問ではなくほとんど作業依頼ですよね。 それなりのサイトを見てさっぱりわからないと言っている人にソースコードを渡して理解がされるとは到底思えません。理解されない回答をしたいと思う人はいませんよ。
FKM

2019/02/23 13:01 編集

無限スクロールという言い方より、データベースレコードの値が出た数の分だけテーブルやdivといった要素を作成するようにしたいってことでよろしいでしょうか?ソースを見たところ、決め打ちでしか記事入れられないようになっていますし。それならPHP初心者あるある的な質問ですから。
退会済みユーザー

退会済みユーザー

2019/02/24 00:49

一応削除リクエストを行いました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問