PHP Array mittels JQuery ausgeben

Purdey

Erfahrenes Mitglied
Hallo ich habe eine Datenbanktabelle in welcher Benachrichtigungen gespeichert werden.
Diese lese ich via

PHP:
<? 
include('dbcon.php');

$notifications = array();
$sql = "SELECT ziel_ref FROM benachrichtigung";
$res = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($res)) {
    while ($r = mysql_fetch_object($res)) {
        $notifications[] = $r->ziel_ref;
    }
}

echo implode('<br />', $notifications);

?>

aus der Datenbank aus.

Ein kleines Javascript:

Code:
<script type="text/javascript">
$.jGrowl.defaults.position = 'bottom-left';
$(document).ready(function(){
	setInterval(function() {

		$.post('check.php', { userId: 2}, function(data) {

//AUSGABE DER RÜCKGABE WERTE in jGrowl

});

    });
}, 10000);
 });
</script>

ruft nun alle paar Sekunden die Datei Check.php auf und gibt die Inhalte des DB Feldes ziel_ref zurück. Genau diese Werte würde ich gern in jGrowl Datensatz für Datensatz (vermutlich über $.each(data, function(key, value) { ..) ausgeben via

$.jGrowl('####TEXT#####', { life: 10000, sticky: true});

nur leider bekomme ich das Array nicht transportiert und wieder ausgelesen.

Ich hoffe Ihr könnt mir helfen?
 
Die daten von der check.php als JSON übergeben, diese dann mit jquery in einer Schleife an jGrowl übergeben.
 
Wie müsste ich dann beide Dateien anpassen?
Kann ich damit auch mehrstuffige Arrays abbilden?

Danke schon mal.
 
PHP:
<?php 
include('dbcon.php'); 

$notifications = array(); 
$sql = "SELECT ziel_ref FROM benachrichtigung"; 
$res = mysql_query($sql) or die(mysql_error()); 
if (mysql_num_rows($res)) { 
    while ($r = mysql_fetch_object($res)) { 
        $notifications[] = $r->ziel_ref; 
    } 
} 

echo json_encode($notifications); 

?>
Javascript:
$(document).ready(function(){
    $.ajax({
        type: "POST",
        success: function(data){
             json = jQuery.parseJSON( data );
             // dann kannst du json einfach als objekt verwenden
        },
        url: "foo.php"
    });
});

beachte das ab php 5 <? nicht mehr geht! Unbedingt: <?php verwenden!
 
Hi super die Übertragung des Arrays klappt nun gut habe nun noch via

for(var key in json) {
$.jGrowl(json[key], { life: 10000, sticky: true});
}

dafür gesorgt das jede nachricht übergeben wird.
 
Zuletzt bearbeitet:
Zurück