как сохранить значение во второй переменной внутри выпадающего списка

У меня есть веб-сайт, написанный на PHP и MYSQL с помощью ajax, который включает в себя 3 зависимых списка drodpdown, где первое раскрывающееся меню содержит несколько значений, которые необходимы для 2 других списков dorpdown.

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

взгляните на изображение

код

<?php // code for submit button action global $wpdb, $site_name, $data; //variables that handle the retrieved data from mysql database based on the ID of the variable in HTML (select) if(isset($_POST['query_submit'])) { if(isset($_POST['site_name'])) { $site_name=$_POST['site_name']; } else { $site_name=""; } var_dump($site_name); 

/ * добавлены вышеприведенные строки
значение параметра var_dump 3 внутри переменной $ site_name есть способ обрезать или извлечь третье значение перед SQL-запросом. * /

 $sql = $wpdb->prepare("select i.siteID , i.siteNAME , i.equipmentTYPE , c.latitude , c.longitude , c.height , o.ownerNAME , o.ownerCONTACT , x.companyNAME , y.subcontractorCOMPANY , y.subcontractorNAME , y.subcontractorCONTACT from site_info i LEFT JOIN owner_info o on i.ownerID = o.ownerID LEFT JOIN company_info x on i.companyID = x.companyID LEFT JOIN subcontractor_info y on i.subcontractorID = y.subcontractorID LEFT JOIN site_coordinates2 c on i.siteID=c.siteID where i.siteNAME = %s AND o.ownerNAME = %s AND x.companyNAME = %s ",$site_name,$owner_name,$company_name); $query_submit =$wpdb->get_results($sql, OBJECT); 

код

  <td><select id="site_name" name = "site_name"> <option value="">Select Site</option> <?php $query_site_name =$wpdb->get_results("select DISTINCT i.siteNAME, i.ownerID, i.companyID, o.ownerNAME, x.companyNAME from site_info i LEFT JOIN owner_info o on i.ownerID = o.ownerID LEFT JOIN company_info x on i.companyID = x.companyID "); foreach($query_site_name as $row) { //$result1 = $row->ownerID; // $result2 = $row->companyID; echo "<option value = '".$row ->ownerID.",".$row ->companyID.",".$row ->siteNAME."'>".$row->siteNAME."</option>"; // echo "<option value = '".$row ->siteNAME."'>".$row->siteNAME."</option>"; } ?> </select></td> 

Код ajax

  <script type="text/javascript"> // make Dropdownlist depend on each other $(document).ready(function(){ // depend owner name on site name $('#site_name').change(function(){ var arrayId = $(this).val().split(","); if(arrayId != ""){ var ownerID = arrayId[0]; //0 var companyID = arrayId[1]; //1 $.ajax({ url:"<?php echo get_stylesheet_directory_uri(); ?>/dropdown_fetch_owner.php", method:"POST", data:{ownerID:ownerID,companyID:companyID}, dataType:"text", success:function(data){ var Response = data.split("--"); $('#owner_name').html(Response[2]); $('#Company_name').html(Response[4]); } }); } }); }); </script> 

dropdown_fetch_owner.php

 <?php include_once($_SERVER['DOCUMENT_ROOT'].'/wordpress/wp-load.php'); global $wpdb,$owner_name,$company_name; $sql =$wpdb->get_results("select ownerID, ownerNAME from owner_info where ownerID = '".$_POST['ownerID']."' ORDER BY ownerNAME"); $owner_name = '--Owner--'; var_dump($sql); foreach($sql as $row){ $owner_name.= "<option value ='".$row ->ownerID."'>".$row->ownerNAME."</option>"; } echo $owner_name; $sql =$wpdb->get_results("select companyID, companyNAME from company_info where companyID = '".$_POST['companyID']."' ORDER BY companyNAME"); $company_name = '--Company--'; var_dump($sql); foreach($sql as $row){ $company_name.= "<option value ='".$row ->companyID."'>".$row->companyNAME."</option>"; } echo $company_name; exit(); ?> 

Как насчет этого :

В вашем скрипте PHP вы можете explode имя сайта в array . Документация PHP explode ()

 if(isset($_POST['site_name'])) { $site_name=$_POST['site_name']; $values = explode(",", $site_name); $site_name = $values[0]; //Or whatever cell you want } else { $site_name=""; } 

РЕДАКТИРОВАТЬ :

Как я уже говорил:

В PHP измените это:

 echo "<option value = '".$row ->ownerID.",".$row ->companyID.",".$row ->siteNAME."'>".$row->siteNAME."</option>"; 

Для:

 echo "<option id = '".$row ->ownerID."' name = '".$row ->companyID."' value = '".$row ->siteNAME."'>".$row->siteNAME."</option>"; 

И в ajax измените это:

 $('#site_name').change(function(){ var arrayId = $(this).val().split(","); if(arrayId != ""){ var ownerID = arrayId[0]; //0 var companyID = arrayId[1]; //1 

Для:

 $('#site_name').change(function(){ var ownerID = $(this).children(":selected").attr("id"); var companyID = $(this).children(":selected").attr("name"); 

Используя этот код, вам не нужен код, который я предоставил перед редактированием, вам нужно будет

Измените это:

 if(isset($_POST['site_name'])) { $site_name=$_POST['site_name']; $values = explode(",", $site_name); $site_name = $values[0]; //Or whatever cell you want } else { $site_name=""; } 

Для:

 if(isset($_POST['site_name'])) { $site_name=$_POST['site_name']; //It'll contain just what you want ;) } else { $site_name=""; } 

. $ ( '# owner_name') HTML (данные [0] .model_no); используйте, как this model_no, имя используемого имени базы данных.