Problem mit der Übergabe einer Variable
Hallo Leute
Mein Script beinhaltet JS sowie PHP, poste es aber hier, da ich denke dass das Problem im PHP liegt.
Im folgenden Script lese ich Daten aus einer Datenbank aus, speichere diese in Arrays. Die Arrays wandle ich in Strings um, damit ich mit diesen im JS weiter arbeiten kann.
Das Script funktioniert auch einwandfrei, jedoch sobald in einem content mehr als 1 <p>-Tag steht (und nur die <p>-Tags machen Probleme), funktioniert das JS-Script nicht mehr. Definiere ich aber die Variable selbt (z.B. $content = "<p>Test</p><p>Test</p>"; ) funktioniert wieder alles.
Hoffe ihr versteht was ich meine. Danke schonmal für eure Hilfe!
Hier mein Script:
Hallo Leute
Mein Script beinhaltet JS sowie PHP, poste es aber hier, da ich denke dass das Problem im PHP liegt.
Im folgenden Script lese ich Daten aus einer Datenbank aus, speichere diese in Arrays. Die Arrays wandle ich in Strings um, damit ich mit diesen im JS weiter arbeiten kann.
Das Script funktioniert auch einwandfrei, jedoch sobald in einem content mehr als 1 <p>-Tag steht (und nur die <p>-Tags machen Probleme), funktioniert das JS-Script nicht mehr. Definiere ich aber die Variable selbt (z.B. $content = "<p>Test</p><p>Test</p>"; ) funktioniert wieder alles.
Hoffe ihr versteht was ich meine. Danke schonmal für eure Hilfe!
Hier mein Script:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
</head>
<body>
<div id="ausgabe"> </div>
<?php
include("includes/functions/db_connection.php");
$timestamp = time();
$aktuelle_infos = array();
$dauer = array();
//-------------------------------MySQL Abfrage-------------------------------
$sql = "SELECT id, timestamp_start, timestamp_end, anzeigedauer_ms, content1, content2, content3, content4, content5, content6, content7, content8, content9, content10, anzahl_seiten FROM meldungen WHERE timestamp_start < $timestamp";
$result = mysql_query($sql);
//------------------------------Arrays befüllen------------------------------
while ($row = mysql_fetch_assoc($result))
{
$timestamp_start = $row["timestamp_start"];
$timestamp_end = $row["timestamp_end"];
$anzeigedauer_ms = $row["anzeigedauer_ms"];
$anzahl_seiten = $row["anzahl_seiten"];
if($timestamp_end >= $timestamp)
{
for($a = 1; $a <= $anzahl_seiten; $a++)
{
$content_nr = 'content'.$a;
$aktuelle_infos[] = $row[$content_nr];
$dauer[] = $anzeigedauer_ms;
}
}
}
//------------------------------Array in String umwandeln------------------------------
$string_content = implode(" | ", $aktuelle_infos); //Das ist der Wert der Variable: <p>Test</p> <p>Test</p>
//Wenn ich anstelle von $string_content = implode(" | ", $aktuelle_infos); die Variable so definiere $string_content = "<p>Test</p> <p>Test</p>"
//funktioniert alles einwandfrei.
$string_dauer = implode(" | ", $dauer);
?>
<script type="text/javascript">
var i = 0;
//------------------------------PHP Strings an JS übergeben------------------------------
var info_string='<?php echo $string_content; ?>';
var dauer_string='<?php echo $string_dauer; ?>';
//------------------------------Strings in Arrays umwandeln------------------------------
var infos = info_string.split("|");
var dauer = dauer_string.split("|");
//------------------------------Seite aktualisieren------------------------------
function reloadPage()
{
location.reload(true);
}
setTimeout("reloadPage()", 60000);
clearTimeout();
//------------------------------Ausgabe------------------------------
function anzeigen()
{
if (i < infos.length)
{ i++; } else { i = 0; }
document.getElementById('ausgabe').innerHTML = infos[i];
setTimeout('anzeigen()', dauer[i]);
}
anzeigen();
</script>
</body>
</html>
Zuletzt bearbeitet: