огляделся, увидел много ответов MySQL, но не MySQLi. Я пытаюсь вернуть 1 строку по своему выбору. на данный момент я могу вернуть только первую строку.
К чему я пытаюсь добраться, привяжите мою основную базу данных по ID, когда вы нажимаете ID, более пристальный взгляд на запись находится на другой странице.
<?php $connect = mysqli_connect("localhost", "root", "", "mydb"); $query = "SELECT name, surname FROM info ORDER BY id"; $record = mysqli_query($connect, $query); @$num_results = mysqli_num_rows($record); $row = mysqli_fetch_assoc($record); $fname = $row['name']; $surname = $row['surname']; print $fname; print $surname; ?>
Чтобы сделать то, что вы просите, сначала создайте список пользователей:
$connect = mysqli_connect("localhost", "root", "", "mydb"); $query = "SELECT name, surname FROM info ORDER BY id"; $record = mysqli_query($query, $connect); while($row = mysqli_fetch_assoc($record)){ $user = $row['name'] . ' ' . $row['surname']; echo '<a href="user.php?uid=' . $row['id'] . '">' .$user . '</a></br>'; }
Будет создан список всех ваших пользователей, которые выглядят так:
<a href="user.php?uid=1">Bart Simpson</a></br> <a href="user.php?uid=2">Matt Damon</a></br>
И так далее.
Когда вы нажимаете ссылку пользователя на исходной странице, она должна обрабатываться кодом в user.php:
$connect = mysqli_connect("localhost", "root", "", "mydb"); $query = "SELECT name, surname FROM info WHERE id = ?"; // returns one line identified by id - you can use something else if you're guarateed the value is unique in your table $stmt = mysqli_prepare($connect, $query); mysqli_stmt_bind_param($stmt, 'i', $_GET['uid']); mysqli_stmt_execute($stmt); mysqli_stmt_bind_result($stmt, $name, $surname); mysqli_stmt_fetch($stmt);
Готов поспорить, вы можете догадаться, что происходит сейчас, не так ли? Правильно, вы можете отобразить данные для отдельного пользователя на этой странице:
$user = $name . ' ' . $surname; echo $user;
ЗАМЕТКИ: