#php #javascript
#php #javascript
Вопрос:
здесь я пытаюсь взять набор значений базы данных через запятую и сохранить его в переменной javascript. Я пытался это сделать. но я не мог сделать их разделенными запятыми, поскольку выходные данные приходят все вместе. Пожалуйста, поправьте меня, где я делаю ошибку.
Примечания: Если значение assignedto пустое. имена сотрудников с флагом 1 будут извлечены из базы данных. но в приведенном ниже скрипте все вместе, где я требую, чтобы они были разделены запятыми.
if(assignedto == "")
{
'<?php
$val = mysql_query("select * from staff where flag='1'");
$arr='';
while ($row = mysql_fetch_array($val))
{
$arr = array($row['name']);
$assign .= implode(',',$arr);
?>'
assignedto = '<?php echo $assign; }?>';
}
Комментарии:
1. Пожалуйста, опубликуйте пример ожидаемого результата. Вы выбираете несколько столбцов (предположительно), но получаете доступ только к
name
столбцу в вашем цикле.2. В вашем коде ошибка, поэтому ваш javascript вообще не должен запускаться. Не стоит подкладывать <?php … ?> в цитатах, как это .
3. теперь значение assignedto выглядит примерно так: johnjacobsara я хочу, чтобы это было john, jacob, sara
4. пытаюсь получить данные из столбца (имя), где log — это другой столбец, и пытаюсь получить имя, где значение журнала равно 1
Ответ №1:
Я не уверен, но ваш код кажется неправильным, вы пробовали это?
if(assignedto == ""){
<?php
$val = mysql_query("select * from staff where flag='1'");
$arr=array();
while ($row = mysql_fetch_array($val)){
$arr[] = $row['name'];
}
$assign = implode(',',$arr);
?>
assignedto = '<?php echo str_replace(''','\'',$assign); ?>';
}
Комментарии:
1. Вы всегда должны использовать
json_encode
при передаче данных из PHP в JavaScript:assignedto = <?php echo json_encode($assign); ?>;
2. Да, вы правы, но пользователь не хочет создавать структуру, он просто хочет иметь строку, разделенную запятой, но, конечно, чтобы быть уверенным, что созданный код является допустимым для js, я добавил str_replace для appostrophes
3. 🙂 Мне нужно именно это: дополнительная информация об этой ошибке может быть доступна в журнале ошибок сервера
4. вам не понадобится
array()
around$row['name']
. Просто используйте$arr[]= $row['name'];
5. @Bala. C Я внес несколько изменений, можете ли вы проверить это еще раз?