json_encode problem

Anacondi

Erfahrenes Mitglied
hallo, ich habe in der datenbank Nachrichten die Tabs ID,body,user_name
jetzt wollte ich den usernamen und den text ausgeben lassen.
der text liegt in der Datenbank unter body
hier der bisherige code:
PHP:
<?php
require('connect.php');

function getNewMessagesSince($timestamp, $limit) {
	$lastupdate = array();
	$html = '';
	// get last ten messages
	if($timestamp == -1) {
		$sql = 'SELECT * FROM nachrichten ORDER BY id DESC LIMIT 5';
	}
	// get latest messages
	else {
		$sql = 'SELECT * FROM nachrichten WHERE id > '.intval($timestamp).' ORDER BY id DESC LIMIT 5';
	}

	$res = mysql_query($sql);
	while ($row = mysql_fetch_array($res)) {
		$lastupdate[] = $row['id'];
		$html .= '<li>'.htmlentities($row['body'], ENT_QUOTES, 'UTF-8').'</li>';
	}
 
	if(count($lastupdate)) {
		rsort($lastupdate);
		return array(
			'lastupdate' => array_shift($lastupdate),
			'html' => $html
		);
	}
	return false;
}
 
$lastupdate = isset($_POST['lastupdate']) ? $_POST['lastupdate'] : null;
$limit = isset($_POST['limit']) ? $_POST['limit'] : 10;
$timeout = time() + 10;
while(!($row = getNewMessagesSince($lastupdate, $limit)) && time() < $timeout) {
	usleep(200000);
}

echo json_encode($row);
?>
Der jeweilige text wird ausgegeben wie aber schaffe ich es, das der username vor dem text angezeigt wird.
in der form soll die ausgabe sein:
Beispiel: Mario : ....textausgabe
 
Das ist aber nicht JSON. Nen doppelpunkt zwischen zwei Werten heißt nicht direkt JSON, das ist doch ne Normale darstellungssache.
 
Dort wo du die Nachricht an $html ansetzt kannst du ja den Usernamen aus der Tabelle nehmen und ebenfals anhängen.

Aber kannst du mir sagen was dein Problem mit json_encode ist, wie du im Titel geschrieben hast?
 
wie gesagt, so funktionierts ja, er gibt mir den text aus, nur wie stelle ich es an, das er mir auch den usernamen vor dm text ausgibt
 
bin ich da falsch? ich habe nach json_encode gegoogelt, so kam ic auf die textausgabe.

ich habe die entsprechende zeile so abgeändert, bring aber auch nichts,
PHP:
$html .= '<li>'.htmlentities($row['body'], $row['user_name'], ENT_QUOTES, 'UTF-8').'</li>';
 
Zuletzt bearbeitet:
JSON zurückgeben macht man eigentlich nur, wenn man an ein JS-framework übergibt ;) [Schnittstelle]
 
Zurück