PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_MULTI_STATEMENTS => false ); $pdo = new PDO('mysql:charset=utf8mb4;dbname=' . DB_NAME . ';host=' . DB_HOST, DB_USER, DB_PASS, $option); } catch (PDOException $e) { // 接続エラーのときエラー内容を取得する $error_message[] = $e->getMessage(); } $userid = htmlentities($_GET['userid']); $itemsPerPage = 30; // 1ページあたりのユーズ数 $pageNumber = htmlentities(isset($_GET['page'])) ? htmlentities(intval($_GET['page'])) : 1; $offset = ($pageNumber - 1) * $itemsPerPage; $messages = array(); if (!empty($pdo)) { $sql = "SELECT account, username, uniqid, rpuniqid, ueuse, datetime, photo1, photo2, video1, favorite, abi, abidate FROM ueuse WHERE rpuniqid = '' ORDER BY datetime DESC LIMIT $offset, $itemsPerPage"; $message_array = $pdo->query($sql); while ($row = $message_array->fetch(PDO::FETCH_ASSOC)) { $messages[] = $row; } // ユーザー情報を取得して、$messages内のusernameをuserDataのusernameに置き換える foreach ($messages as &$message) { $userQuery = $pdo->prepare("SELECT username, userid, profile, role, iconname, headname FROM account WHERE userid = :userid"); $userQuery->bindValue(':userid', $message["account"]); $userQuery->execute(); $userData = $userQuery->fetch(); if ($userData) { $message['iconname'] = $userData['iconname']; $message['headname'] = $userData['headname']; $message['username'] = $userData['username']; $message['role'] = $userData['role']; } } if(!empty($messages)){ foreach ($messages as $value) { $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数 // コンマで区切って配列に分割し、要素数を数える $favIds = explode(',', $fav); $value["favcnt"] = count($favIds)-1; $messageDisplay = new MessageDisplay($value, $userid); // $userid をコンストラクタに渡す $messageDisplay->display(); } }else{ echo '

ユーズがありません

'; } $pdo = null; } ?>