Я кодирую прямой поиск текста для загрузки текста. Я создал небольшой скрипт, на который я буду звонить AJAX. Он возвращает artist
, album
и song
записей. Выходной JSON будет использоваться в JS.Assign/echo php file output to php variable
// get_records.php
include_once("connect2db.php");
if (empty($_GET)) {
$artists = json_encode(mysqli_fetch_all($mysqli->query("SELECT artist from `artists`"), MYSQLI_ASSOC));
echo $artists;
} else {
if (isset($_GET["artist"])) {
$artist = test_input($_GET["artist"]);
if (isset($_GET["album"])) {
// ...
echo $songs;
} else {
// ...
echo $albums;
}
}
}
$mysqli->close();
Это довольно просто. Предназначен для трех случаев:
get_records.php // returns artists
get_records.php?artist=XXX // returns albums of XXX
get_records.php?artist=XXX&album=YYY // returns songs from the album YYY that belongs to XXX
На странице формы, я хочу artists
быть уже assinged переменной JS перед любым входом. Я не хочу использовать AJAX для этого. Один из способов заставить его работать:
<?php
echo "var artists = ";
include("get_records.php");
echo ";";
?>
но это просто кажется неправильным. Есть ли способ сделать это, как этот
<?php
echo "var artists = " . get_output("get_records.php") . ";";
?>
вы знаете, получить выход файла PHP, а не его содержание?
Как насчет 'эхо "вар художников =". file_get_contents ("http: //localhost/get_records.php"). ";"; '? – revo
@revo Уже пробовал это. Это просто считывает содержимое файла и возвращает его как строку. Не выполняет код внутри файла. – akinuri
это должно работать нормально, потому что вы включаете его внутри php-файла, поэтому вывод будет выводимым, а не содержимым php-кода. –