В Wordpress, использующем плагин Ninjaform, у меня есть пользовательские функции, которые запрашивают мою базу данных mysql, я хотел бы иметь возможность запрашивать базу данных для кода поставщика, основываясь на выпадающем списке пользователя, выбирающем имя поставщика, без необходимости страницы для обновить.
Вот куда я попал в functions.php. Первая часть функции выводит имя поставщика в раскрывающийся список, который работает, как и ожидалось. Вторая часть функции - это моя попытка заполнить код поставщика на основе переменной $ supplier, но вместо этого поле возвращается пустым, когда пользователь выбрал имя поставщика.
<?php
add_filter('ninja_forms_render_options','my_pre_population_callback', 10, 2);
function my_pre_population_callback($options, $settings) {
if( $settings['key'] == 'supplier_list' ) {
$connection = mysqli_connect( "serverip:port", "username", "password", "db" );
if (!$connection) { die('Not connected : ' . mysqli_error());}
$query = "SELECT SUP_Name FROM sup_supplier ORDER BY SUP_Name ASC";
$results = mysqli_query($connection,$query);
if (!$results) {
die('Invalid query: ' . mysqli_error());
}
$options = array();
$options[] = array("label" => "N/A", "value" => "");
while($row = mysqli_fetch_assoc($results))
{ $options[] = array ('label' => $row['SUP_Name'],'value' => $row['SUP_Name'] ); }
wp_reset_postdata();
}
if( $settings['key'] == 'supplier_code' ) {
$connection = mysqli_connect( "serverip:port", "username", "password", "db" );
if (!$connection) { die('Not connected : ' . mysqli_error());}
$supplier = $_GET['SUP_Name'];
$query = "SELECT SUP_AccountNo FROM sup_supplier WHERE SUP_Name = '".$supplier."' ORDER BY SUP_Name ASC";
$results = mysqli_query($connection,$query);
if (!$results) {
die('Invalid query: ' . mysqli_error());
}
$options = array();
while($row = mysqli_fetch_assoc($results))
{ $options[] = array ('label' => $row['SUP_AccountNo'],'value' => $row['SUP_AccountNo'] ); }
wp_reset_postdata();
}
return $options;
mysqli_close($con);
?>
Я знаю, что это связано с переменной $ supplier, но я не смог найти или определить правильный синтаксис, который мог бы получить вводимые пользователем данные о имени поставщика.
Любая помощь, как всегда, будет принята с благодарностью.