Задать вопрос
@vladimir328

Как извлечь данные записи бд по кнопке?

Есть таблица с записями из бд. Нужно создать еще один столбик, где у каждой записи будет кнопка, которая будет открывать только эту запись. Я знаю как составить запрос в бд через WHERE, но не понимаю что нужно записать в <a href="">, чтобы оно передавал id именно этой записи в запрос.
  • Вопрос задан
  • 226 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@alexalexes
В href записываете get параметр id строки.
<a href="?id=1">см. запись</a>
Если текущий список php используется для вывода всего списка, то скрипт нужно модифицировать так, что принимая параметр id, он начал работать по логике вывода сведений одной строки. Нет параметра - выводим все.
if(isset($_GET['id']))
{
  // тут код или вызов функции для работы с одной записью
}
else
{
  // тут код или вызов функции для вывода всего списка
}

В ветке кода, где работаем с одной записью, подставляем get параметр в запрос:
msqli_prepare("текст запроса ... where id = ?"); // ставим в нужное место запроса параметрические метки
msqli_bind_param("i", $_GET["id"]); // передаем параметр на место меток-вопросов, в каком порядке они идут
msqi_execute();
// msqli_fetch функция и форматированный вывод сведений

PS: msqli_* примерно накидал, смотрите документацию, как их вызывать. Идея и порядок кода примерно такой будет.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Richard_Ferlow
Веб-программист
В общих чертах - в href вам нужно передать GET переменную. типа href="index.php?show_id=6" а в скрипте уже эту переменную ловить через $_GET['show_id'] и подставлять ее в запрос в условие WHERE. Однако тут надо позаботиться о защите, чтобы через эту переменную ваш запрос не дополнили так, чтобы навредить.
Ответ написан
Комментировать
@Ertanic
Обычно где-то на странице записи оставляют скрытый элемент, содержащий уникальный идентификатор записи - id, если кратко. Если нужно вытащить из БД какую-нибудь информацию, требующая ключа записи, берут и дёргают этот id из скрытого элемента. Далее составляют POST- или GET-запрос, в зависимости от того, можно ли показывать данные или нет.
Сообщу для справки о том, что разница GET- и POST- запросов заключается в том, что GET-запрос передаётся в открытом виде, понятном человеку, потому самый не надёжный, а POST-запрос шифрует содержимое запроса.
Для того, чтобы передавать параметры скриптам нужно прописать после адреса к скрипту конструкцию, подобную этой: скрипт.php?название_параметра=значение%20параметра&название_параметра2=значение%20параметра2. В данном случае символ & необходим для записи дополнительных параметров, а %20 - закодированный символ пробела.
В PHP затем можно будет получить эти параметры следующим образом:
$val1 = $_GET['название_параметра'];
$val2 = $_GET['название_параметра'];

В вашем случае нужно что-то такое:
<a href="/api/getPost.php?post_id=0000">

Рекомендую почитать про параметры URL-запросов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы