前提・実現したいこと
勝手な質問ですみませんが、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/ツールのバージョンなど)
回答に必要なさそうな情報は載せてませんが、どうか、回答宜しくお願いします。
あなたの回答
tips
プレビュー