#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, как вы сказали (без каких-либо кавычек)