Получить значение кнопки отправки из нескольких кнопок php - PullRequest
0 голосов
/ 05 октября 2018

У меня есть динамическое меню внутри элемента формы. Код здесь

<form method="GET" action="index.php">
<?php
display_menu(); // this function generates menu items
?>
</form>

после того, как меню сгенерировано, каждый пункт меню является кнопкой отправки вышеуказанной формы. Я хочу получить ввод одного элемента:атрибут name или id кнопки submit и загрузка сообщения из базы данных.

<form method="GET" action="index.php">
<input type="submit" name="page-1" id="page-1" value="page-1">
<input type="submit" name="page-2" id="page-2" value="page-2">
<input type="submit" name="page-3" id="page-3" value="page-3">
<input type="submit" name="page-4" id="page-4" value="page-4">
</form>

, поэтому при нажатии любой кнопки ввода вызывается функция display_post ().Код функции следующий: -

function display_post(){
$conn = mysqli_connect('localhost', 'root', '', 'posts') or die('cannot connect');
if($_SERVER['REQUEST_METHOD'] == 'GET' ){
$blog_post_id = $_GET["id"]; 
$sql = "SELECT * FROM blog_posts where id='blog_post_id' ";
$result = mysqli_query($conn, $sql) or die('cannot load');
while ($row = mysqli_fetch_assoc($result)){
if($row > 0){
echo '<div>'.$row['content'].'</div>';
}else echo 'no posts';
}
}
}

Однако метод display_post() вызывается внутри тега содержимого, тогда как display_menu() вызывается внутри другого div.Так что проблема в том, что я не могу получить идентификатор кнопки отправки, любая помощь будет оценена заранее, спасибо.

Ответы [ 3 ]

0 голосов
/ 05 октября 2018

Если я правильно угадаю, в чем твоя сложность, то

$blog_post_id = $_GET["id"]; 
$sql = "SELECT * FROM blog_posts where id='".$blog_post_id."' ";//I modified this line
$result = mysqli_query($conn, $sql) or die('cannot load');
0 голосов
/ 05 октября 2018

Вы можете сделать 5 различных форм для каждой кнопки и изменить действие на

action="index.php?id=1" 

Затем используйте $_GET['id']

Также измените id='blog_post_id' " to id='$blog_post_id' "

0 голосов
/ 05 октября 2018

Когда вы нажмете кнопку отправки, вы получите все входные значения формы.

Сделайте одну вещь, поместите это утверждение print_r($_GET);exit; в display_post() в качестве первой строки и посмотрите, что вы получите после нажатияна кнопку отправки.

Примечание: 1. Если вы хотите получить значение нажатой кнопки, вам следует использовать javascript или jQuery и Ajax.2. Нельзя получить значение поля ввода по полям ID.ех.если у нас есть поле <input type="submit" name="page-1" id="page-1" value="page-1">, тогда мы можем получить его значение следующим образом:

echo $_GET['page-1'];

page-1 - имя поля ввода.

...