Ищете простое решение здесь, я огляделся, но ничто, кажется, не дает мне простого решения. Я хочу получить данные из моей базы данных mysql, а затем в мои переменные javascript.
Эти два элемента var в моем .js
файле с именем test.js
и этот файл вызываются в мой .html
файл.
var tag_name = 'example'; var client_id = '123456789';
В файле .php
называемом call.php
я использую этот метод (PDO) для получения требуемых данных из MySQL
:
$stmt = $db->query('SELECT * FROM data WHERE id=1'); while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $tag_name = $row['tag_name']; $client_id = $row['client_id']; }
Я хочу попытаться достичь чего-то подобного в файле .js
test.js
– это, очевидно, не работает, но, надеюсь, проливает свет на то, что я пытаюсь достичь:
var tag_name = '<?php echo $tag_name ?>'; var client_id = '<?php echo $client_id ?>';
Могу ли я сделать это с помощью метода Ajax
? В своем исследовании я прочитал, что мне нужно использовать JSON
? Если вопрос был задан раньше, пожалуйста, направьте меня на сообщение, которое не просто сбрасывает 50 строк кода.
Ну вот:
Часть javascript:
$.ajax({ url: 'call.php', dataType: 'json' }).done( function(data){ var tag_name = data[0]; var client_id = data[1]; } );
Файл call.php
:
$stmt = $db->query('SELECT * FROM data WHERE id=1'); while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $tag_name = $row['tag_name']; $client_id = $row['client_id']; } echo json_encode(array($tag_name,$client_id));
создайте php-скрипт, который сгенерирует ваш js, и вместо привязки вашего тега скрипта к файлу .js связывается с ним скриптом php, который генерирует js
PHP
<?php //mysql stuff up here header('Content-Type: text/javascript'); ?> //some js here var tag_name = '<?php echo $tag_name ?>'; var client_id = '<?php echo $client_id ?>'; // some more js here
HTML
<script type="text/javascript" src="http://example.com/test.js.php"></script>
Вы можете откликнуть свои PHP-переменные как JSON, а затем потреблять их, но если вы просто пытаетесь установить переменные js с данными из php, вы можете просто передать переменные через вызов функции. Добавьте что-то вроде этого в ваш php-скрипт, чтобы активировать Javascript, который вы пытаетесь использовать для этой страницы.
<script type="text/javascript"> setVariables('<?php echo $tag_name ?>', '<?php echo $client_id ?>'); </script>
а затем создав эту функцию в вашем .js-файле, чтобы использовать эти значения и делать то, что вам нужно.
function setVariables(name, id){ var tag_name = name var client_id = id //Operations that need these values. }