PHP: $ var = $ _GET не получает никакого значения из выпадающего списка - PullRequest
0 голосов
/ 10 мая 2018

Я изо всех сил пытаюсь найти причину, по которой я могу получить $ _GET (или $ _POST) в моем PHP-коде. У меня есть выпадающий список из таблицы, которая отлично работает. Вторая часть предполагает захват выбранного значения и использование его во втором запросе, но все, что я получаю, это пустая страница. Я хочу сделать это только с помощью php.

<?php
$connect = mysqli_connect("localhost","db","pwd");
mysqli_select_db($connect, "db");

?>
<!DOCTYPE html>
<html>
<head>
<title> Title </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<form method="GET">
<Select name = "Paises">
<option selected disabled>Choose an option</option>
<?php
   $r = mysqli_query($connect, "SELECT Pais from Brokers"); // Runing the query.
   while($row = mysqli_fetch_array($r)) 
    {
?>
<option value =""><?php echo $row["Pais"];  ?>   </option>
<?php
}
?>
<input type="submit" name="submit" value="submit" />
</form>
</select>
<?php 
  //Second part of code: Getting the selected value from dropdown menu named Paises
   $selected_pais = $_GET['Paises'];
   //using the value on second query:
   $r2 = mysqli_query($connect, "SELECT BrokeryMercado from Brokers WHERE Pais = '".$selected_pais."'"); // Run the query.

   while($row2 = mysqli_fetch_array($r2)) {
   echo"{$row2['BrokeryMercado']}";

    // I get the same blank page when trying: echo "{$row2["BrokeryMercado"]}"; 
    //same result trying: echo "You have selected :" .$selected_pais; 
    }
  ?>
  </body>
  </html>

Это может быть что-то глупое, но я продолжаю получать только пустую страницу. Пробовал 2 разделяет файлы и результаты одинаковые. URL выглядит так: myfile.php? Paises = & submit = submit
Так что я думаю, что там нет никакой ценности. Заранее спасибо за любые идеи.

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Вы должны указать атрибут значения в теге опции <option value ="<?= $row["Pais"]; ?>"><?php echo $row["Pais"]; ?> </option>

0 голосов
/ 10 мая 2018

Это может быть вызвано тем, что в вашем теге option есть пустой 'value' attribute, и это может быть причиной того, что GET или POST ничего не получают.

<option value ="">

Попробуйте указать значение.

То есть это:

<option value="<?php echo $row["Pais"]; ?>"><?php echo $row["Pais"]; ?></option>

Надеюсь, это сработает, или, по крайней мере, GET или POST даст вам что-то для тестирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...