2017-03-11 5 views
0

Ich versuche, ein JSON-OBJECT zurückzusenden, aber die Daten hängen von einer $ id-Variable ab, die gesendet wird, wenn ein AJAX-Aufruf gesendet wird. Wie verwende ich diese $ id-Variable innerhalb meiner JSON-Zeichenfolge und sende sie zurück an JSON.parse()Wie setze ich PHP-Variablen in JSON mit AJAX?

Dies ist im Grunde, was ich tun möchte, ich JSON bin hier

Wie ich es

$id = somenumber; 
echo '{"imageSrc":"assets/img/ . $id . .jpg","second":"radi"}'; 

Wie es, wenn an JSON.parse senden sollte sein möchte()

echo '{"imageSrc":"assets/img/2.jpg","second":"radi"}'; 

Aber ich kann nur eine Variable oder etwas anderes als nur Text zum JSON hinzufügen?

Die aktuelle Seite der AJAX-Request erhalten fordert PHP

require_once '../includes/db.php'; 
require_once '../includes/functions.php'; 

$dbCon = dbCon(); 
define("SQL", "SELECT * FROM rating ORDER BY rand() LIMIT 1"); 
$result = $dbCon->query(SQL); 

while ($row = $result->fetch_object()) { 
    $id = $row->id; 

    //HOW DO I PARSE A VARIABLE INTO THIS JSON STRING BEFORE AJAX GETS IT?? 
    echo '{"imageSrc":"assets/img/2.jpg","second":"radi"}'; 
} 

EDIT: json_encode() ist eine PHP-Funktion, die dies dank axiac für die Informationen Dodes

<?php 
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); 

echo json_encode($arr); 
?> 
The above example will output: 

{"a":1,"b":2,"c":3,"d":4,"e":5} 
+5

'JSON' ist nur eine Textdarstellung einiger Datenstruktur . Erstellen Sie Ihre Datenstruktur nach Belieben und verwenden Sie dann die PHP-Funktion ['json_encode()'] (http://php.net/manual/en/function.json-encode.php), um den Text zurück zum Browser zu senden . ** Generiere JSON nicht von Hand! ** – axiac

Antwort

0
while ($row = $result->fetch_object()) { 
$id = $row->id; 

//in this way 
echo '{"imageSrc":"assets/img/'.$id.'.jpg","second":"radi"}'; 

}

php Dosis nicht ersetzen die Var iable Wert, wenn Sie es in einfache Anführungszeichen setzen

$var = "some text"; 
echo 'hi $var'; //output : hi $var 
echo "hi $var"; //output : hi some text 

oder Sie können Ihre Daten innerhalb eines Arrays setzen und wandeln es wie JSon diese

$arr = ["imageSrc"=>"assets/img/".$id.".jpg","second"=>"radi"]; 
echo json_encode($arr); 
Verwandte Themen