получить значения из таблицы MySQL с помощью PHP и отобразить результаты в функции jQuery как «опцию»

#php #jquery #mysql

#php #jquery #mysql

Вопрос:

Я столкнулся с проблемой, касающейся следующего:

1) Я извлек значения «select-> options», используя PHP MySQL, как показано ниже:

 $fetch_sub_categories1 =    '{ label: "", value: "" },';
$fetch_sub_categories2 =    '{ label: "", value: "" },';
$fetch_sub_categories3 =    '{ label: "", value: "" },';
$fetch_sub_categories4 =    '{ label: "", value: "" },';


$num_of_returned_rows = mysqli_num_rows($get_sub_cats_query);        
if ($num_of_returned_rows>0)
{
for ($i=0;$i<$num_of_returned_rows;$i  )
{
     $row=mysqli_fetch_array($get_sub_cats_query);

     if ($row['category'] == 'Αρχικά Πιάτα'){
        if($i==$num_of_returned_rows) $fetch_sub_categories1 .= '{ label: ""'.$row['sub_category'].'"", value: ""'.$row['sub_category'].'"" }';
        else                          $fetch_sub_categories1 .= '{ label: ""'.$row['sub_category'].'"", value: ""'.$row['sub_category'].'"" },';
     }
     if ($row['category'] == 'Κυρίως Πιάτα') {
        if($i==$num_of_returned_rows) $fetch_sub_categories2 .= '{ label: ""'.$row['sub_category'].'"", value: ""'.$row['sub_category'].'"" }';
        else                          $fetch_sub_categories2 .= '{ label: ""'.$row['sub_category'].'"", value: ""'.$row['sub_category'].'"" },';
     }
     if ($row['category'] == 'Επιδόρπια')   {
        if($i==$num_of_returned_rows) $fetch_sub_categories3 .= '{ label: ""'.$row['sub_category'].'"", value: ""'.$row['sub_category'].'"" }';
        else                          $fetch_sub_categories3 .= '{ label: ""'.$row['sub_category'].'"", value: ""'.$row['sub_category'].'"" },';
     }
     if ($row['category'] == 'Ποτά')         {
        if($i==$num_of_returned_rows) $fetch_sub_categories4 .= '{ label: ""'.$row['sub_category'].'"", value: ""'.$row['sub_category'].'"" }';
        else                          $fetch_sub_categories4 .= '{ label: ""'.$row['sub_category'].'"", value: ""'.$row['sub_category'].'"" },';
     }
}
  

}

2) У меня есть готовая функция jQuery для прослушивания документов, которую я использую для отображения вышеуказанных результатов, как показано ниже:

 label: "Υποκατηγορία:",
                                name: "sub_category",
                                type:  "select",
                                options: [

                                        '<?php echo $fetch_sub_categories1; ?>'
                                ]
  

Однако браузер интерпретирует всю переменную $fetch_sub_categories1 как строку и не отображает параметры, определенные в переменной.

Результат, как показано ниже:

введите описание изображения здесь

Любой совет будет высоко оценен.

Ответ №1:

Удалите одинарные кавычки вокруг <?php ?> тега:

 label: "Υποκατηγορία:",
name: "sub_category",
type: "select",
options: [
    <?php echo $fetch_sub_categories1; ?>
]
  

Они являются причиной, по которой содержимое $fetch_sub_categories1 интерпретируется как строка.

Комментарии:

1. Спасибо за ответ. я пробовал это, но если я делаю это без кавычек, jquery завершается неудачей.

2. Это потому, что у вас есть 2 двойные кавычки ( "" ) вокруг каждой метки и значения (кроме первых, пустых).

3. @A.A.PEACE Попробуйте использовать только 1 одинарную кавычку вокруг каждой метки и значения: '{ label: "'.$row['sub_category'].'", value: "'.$row['sub_category'].'" }'

4. Спасибо за работу, друг. Ваш совет очень помог. я изменил одинарные кавычки на двойные кавычки в объявлении $ fetch_sub_categories1 в php и в jquery, как вы сказали (без каких-либо кавычек)