выбранное значение из списка в php

Мне нужно значение, которое я выбираю из listbox и хочу сохранить в переменной php, потому что я хочу использовать эту переменную для дальнейшего использования. Пожалуйста помоги..

<form name="myform" method="post">
   <?php
     include('dbconnect.php');
     db_connect();

     $query = "SELECT * FROM test_customer"; //Write a query
     $data = mysql_query($query);  //Execute the query
   ?>
   <select id="cust_name" name="mylist" onchange="selectedvalue()">
   <?php
     while($fetch_options = mysql_fetch_array($data)) { //Loop all the options retrieved from the query
   ?>
   //Added Id for Options Element 
   <option id ="<?php echo $fetch_options['test_id']; ?>"  value="<?php echo   $fetch_options['cust_name']; ?>"><?php echo $fetch_options['cust_name']; ?></option><!--Echo  out options-->

  <?php
    }
  ?>
  </select>
</form>

person Yash    schedule 08.02.2014    source источник
comment
Почему бы вам не сохранить его в переменной php после обработки формы с помощью $_POST?   -  person malta    schedule 08.02.2014


Ответы (3)


<select id="cust_name" name="mylist" onchange="selectedvalue(this.value)">

доступ к этим значениям selectedvalue(val) в параметре

получите это выбранное значение и сохраните его в типе ввода = скрыто, так как оно вам нужно для дальнейшего использования.

person Community    schedule 08.02.2014
comment
есть ли вариант без события onchange? и не могли бы вы показать, как я сохраняю это значение в переменной php? - person Yash; 08.02.2014
comment
Вы хотите опубликовать эту переменную? или как/почему вы хотите его использовать? поэтому я могу упростить код - person ; 08.02.2014
comment
я хочу передать это значение в другом запросе, чтобы в соответствии с ним я мог создать другой список. - person Yash; 08.02.2014
comment
используйте для этого AJAX.. так что вы можете изменить selection_list_2 при изменении selection_list_1.. - person ; 08.02.2014
comment
сэр, я вас не понял, на самом деле я хочу еще один список штатов с таким же именем клиента, а затем и города - person Yash; 08.02.2014
comment
Извините, но можете ли вы объяснить, что именно вам нужно? - person ; 08.02.2014

Если вы хотите сохранить в php-переменную, вы должны опубликовать форму. Я добавил кнопку отправки ниже. Вы также должны указать действие, куда будет отправлена ​​форма: action="whatever.php"

  <form name="myform" method="post" action="whatever.php"> <!-- added action here -->   

  <?php
     include('dbconnect.php');
     db_connect();

     $query = "SELECT * FROM test_customer"; //Write a query
     $data = mysql_query($query);  //Execute the query
     ?>
     <select id="cust_name" name="mylist" onchange="selectedvalue()">
     <?php
     while($fetch_options = mysql_fetch_array($data)) { //Loop all the options retrieved from the query
     ?>
     //Added Id for Options Element 
     <option id ="<?php echo $fetch_options['test_id']; ?>"  value="<?php echo   $fetch_options['cust_name']; ?>"><?php echo $fetch_options['cust_name']; ?></option><!--Echo  out options-->

     <?php
     }
     ?>
     </select>

     <!-- added submit button -->
     <input type="submit" value="ok" />

     </form>

Создайте php-файл с именем what.php и в этом файле сохраните значение в $cust_name, выполнив следующие действия:

<?php
$cust_name = $_POST['mylist']; //mylist is the name of the select-list
?>

Если вы хотите опубликовать форму без перезагрузки страницы, вы должны использовать нечто, называемое ajax.

person bestprogrammerintheworld    schedule 08.02.2014

Это работает для меня. Попробуйте этот пример.

 public function getAptTypesBySelectedKy($valKy) {
        $stmt = "SELECT ap_typ_ky, ap_typ_desc FROM apt_types WHERE ap_stat=1 order by ap_typ_desc";
        try {
            $con = DataHandler::connect();
            $values = $con->prepare($stmt);
            if ($values->execute()) {
                echo '<select class="form-control" name="type" id="apt_types_slc">';
                while ($row = $values->fetch(PDO::FETCH_ASSOC)) {
                    if ($valKy === $row['ap_typ_ky']) {
                        echo '<option value="' . $row['ap_typ_ky'] . '" selected>' . $row['ap_typ_desc'] . '</option>';
                    } else {
                         echo '<option value="' . $row['ap_typ_ky'] . '">' . $row['ap_typ_desc'] . '</option>';
                    }
                }
                echo '</select>';
            }
        } catch (PDOException $ex) {
            echo 'Error on apartment types';
            $error = $ex;
            print_r('<pre>' . $ex->getCode() . '</pre>');
            print_r('<pre>' . $ex->getMessage() . '</pre>');
        }
    }

На странице HTML-формы. $__typKy = $_RA['typeky'] //эта строка получает выбранное значение из базы данных и устанавливает его в качестве параметра функции getAptTypesBySelectedKy()

    <?php
          $__typKy;
          if (isset($_RA)) {
              $__typKy = $_RA['typeky'];// you need to find this key from database.
              //this is the selected value key of `<select>`
              }
              $var = new DataHandler();
              $var->getAptTypesBySelectedKy($__typKy);
    ?>
person Elshan    schedule 29.03.2015