Как хранить значения базы данных через запятую?

#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 Я внес несколько изменений, можете ли вы проверить это еще раз?