Javascript console.log () возвращает ссылку ссылки на строку PHP

0

Я пытаюсь вывести значения массива в консоль, но я получаю неопределенную ошибку:

ОШИБКА

ReferenceError: Ciencia is not defined

КОД

 $sql = "SELECT topic FROM book_list WHERE topic != '' ORDER BY topic ASC";
        $result = mysqli_query($db, $sql);
        <?php 
            while($topic = mysqli_fetch_assoc($result)){?>
                console.log(<?php echo $topic['topic']; ?>);
        <?php }?>

Если я вывожу sql в консоли mysql, я получаю это

+-------------+
| topic       |
+-------------+
| Ciencia     |
| Comedia     |
| Comedia     |
| Matematicas |
| Science     |
+-------------+

Спасибо!

  • 0
    Прочитайте сгенерированный источник, и вы увидите свою проблему
Теги:

2 ответа

2
Лучший ответ

Похоже, он пытается console.log(Ciencia) вместо console.log("Ciencia").

Измените свою линию на:

console.log("<?php echo $topic['topic']; ?>");
  • 0
    Да, это сработало отлично
0

Вам нужно преобразовать строку PHP в строку Javascript, а не пытаться использовать строку PHP как выражение. json_encode() подходит для этого.

console.log(<?php echo json_encode($topic['topic']); ?>);

Это лучше, чем просто помещать кавычки вокруг выражения echo, если переменная PHP содержит специальные символы, которые необходимо закодировать (например, кавычки).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню