Ich kodiere eine Live-Suche nach einem Text-Upload-Formular. Ich habe ein kleines Skript erstellt, mit dem ich AJAX-Anrufe machen werde. Es gibt artist
, album
und song
Datensätze zurück. Der Ausgabe-JSON wird in JS verwendet.Zuweisen/Echo php Dateiausgabe zu einer 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();
Es ist ziemlich einfach. Entwickelt für drei Fälle:
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
In der Formularseite, möchte ich artists
bereits zu einem JS-Variable vor jedem Eingang assinged werden. Ich möchte AJAX dafür nicht verwenden. Eine Möglichkeit, wie ich es funktionieren lassen könnte, ist wie folgt:
<?php
echo "var artists = ";
include("get_records.php");
echo ";";
?>
aber das scheint nur falsch. Gibt es eine Möglichkeit, es wie diese
<?php
echo "var artists = " . get_output("get_records.php") . ";";
?>
Sie wissen, zu tun, die Ausgabe der PHP-Datei zu erhalten, nicht es ist Inhalt?
Wie wäre es 'echo "var Künstler =". file_get_contents ("http: //localhost/get_records.php"). ";"; "? – revo
@revo Bereits versucht, dass. Dies liest nur den Inhalt der Datei und gibt ihn als String zurück. Führt den Code in der Datei nicht aus. – akinuri
Dies sollte gut funktionieren, da Sie es in einer PHP-Datei enthalten, so dass die Ausgabe die Ausgabe ist, nicht der Inhalt des PHP-Codes. –