Datenbankabfrage in einem Javascript Array ausgeben

dennis-sauer

Erfahrenes Mitglied
Hallo zusammen,

ich habe ein paar Probleme damit, bzw sagen wir ich bekomme es gar nicht hin, meine Datenbankabfrage in ein Javascript Array zu setzen.

Es handelt sich um einen Kalender, welcher mit Hilfe von Javascript an einem bestimmten Tag etwas anzeigt oder auch nicht. Der Background ist folgender:

Code:
<script type="text/javascript">
$(document).ready(function(){  
	
	var events_array = new Array(
		{
			startDate: new Date(2011,07, 20, 9, 50),
			endDate: new Date(2012,00, 20),
			title: "Event 3",
			description: "Description 3",
			priority: 3,
			frecuency:3
		}
	);	
	$("#calendar").dp_calendar({
		events_array: events_array
	}); 
});  
</script>

In dem oben eingegebenen Zeitfenster wird mir nun ein Event 3 angezeigt.

Jetzt möchte ich aber im Vorfeld eine Datenbankabfrage haben, denn die Termine sollen in eine Datenbank eingetragen werden mit den entsprechenden Werten.

Ähnlich der unten gezeigten Abfrage, bitte nicht wundern, es handelt sich um eine Textdatenbank, eine andere Möglichkeit habe ich zur Zeit nicht.

PHP:
	$db = new Database("serviceinfo");
	$result = $db->executeQuery("SELECT * FROM news ORDER BY id DESC LIMIT 5");	
	if ($result->getRowCount() == 0) {
	echo "<div class=\"notification info\">Test</div>";
	} else {
	echo "<ul id=\"ticker\">";
	while ($result->next()) {
			$date = $result->getCurrentValueByName("date");
			$time = $result->getCurrentValueByName("time");
			$categorie = $result->getCurrentValueByName("categorie");
			$title = $result->getCurrentValueByName("title");
			$content = $result->getCurrentValueByName("content");
			$admin = $result->getCurrentValueByName("admin");
	echo "<li>";
	echo "Am $date, um $time Uhr von $admin in der Kategorie $categorie <br />";
	echo "<strong>$title</strong> &raquo; $content";
	echo "</li>";
	}
	echo "</ul><br />";
	}

Hat da jemand eine Idee, wie ich das mit einander verknüpfen kann?

Grüße und Dank im voraus

Dennis
 
Hi,

du könntest die abgefragten Daten in ein PHP-Array packen und zu JSON konvertieren.
Dieses könntest du dann per JavaScript einlesen:
PHP:
$data = array();
while ($result->next()) { 
            $date = $result->getCurrentValueByName("date"); 
            $time = $result->getCurrentValueByName("time"); 
            $categorie = $result->getCurrentValueByName("categorie"); 
            $title = $result->getCurrentValueByName("title"); 
            $content = $result->getCurrentValueByName("content"); 
            $admin = $result->getCurrentValueByName("admin"); 


            $data['date'] = $result->getCurrentValueByName("date");
            // ...
    echo "<li>"; 
    echo "Am $date, um $time Uhr von $admin in der Kategorie $categorie <br />"; 
    echo "<strong>$title</strong> &raquo; $content"; 
    echo "</li>"; 
    } 
    echo "</ul><br />"; 
    }  

$json = json_encode($data);
Javascript:
var data = GetJSONDataAsString();

var events_array = JSON.parse(data);
// ...
Jetzt musst du nur noch die JSON-Daten in JavaScript laden - entweder lässt du es per PHP ausgeben, oder du machst einen AJAX Aufruf.
 
Zurück