Umbruch in mit PHP generiertem JavaScript

windhalf

Mitglied
Hallo zusammen !

Ich habe da ein Problem mit einem mittels PHP generierten JavaScrpit-Code, der Elemente des JavaScript aus einer SQL Datenbank liest.

Aus einem mir nicht ersichtlichen Grund enthält der von PHP generierte Code einen Zeilenumbruch mitten drin und JavaScript gefällt das überhaupt nicht. Der Code wird nicht ausgeführt.

Wie kann ich verhindern, dass PHP die Umbrüche da platziert,wo es nicht soll ?


Vielen Dank für die Hilfe im Voraus !
 
Hier der relevante Teil des Codes

PHP:
<?
         $query = "SELECT SQL_BIG_RESULT SQL_BUFFER_RESULT * FROM items";
         $queryResult = mysql_query( $query );
             while( $row = mysql_fetch_array( $queryResult, MYSQL_BOTH ) ) {
	            echo("d.add (" . $row [ "id" ] . "," . $row[ "parent" ] . ",'" . $row[ "name" ] . "',");
	            if ($row[ "url" ] == NULL) echo("'',");
	            else echo("'http://www.ghgd.de/local/urls/" . $row[ "url" ] . "',");
                echo("'" . $row["comment"] . "','anzeige');\n");
            }
                     
       ?>
Dazu gehört noch ein ellenlanges JavaScript, aber das ist wohl nicht nötig.
Der Code wird immmer nach dem Teil mit der URL umgebrochen, was
dazu führt, das eine "nicht abgeschlossene Zeichenfolgenkonstante" produziert wird...

Ich hoffe, ihr könnt mir da weiterhelfen...
 
Zuletzt bearbeitet von einem Moderator:
Hmm... Keine Reaktionen ? Ist dieses Problem so ungewöhnlich ? Vielleicht könnte mir ja jemand nen Tip geben, wo man das nachlesen kann oder so...
 
Vermutlich kommt der Zeilenumbruch aus der DB.

$url = str_replace("\n","",$row["url"]);

so sollte er entfernt werden
 
Sorry... haut irgendwie immernoch nicht hin. Es ist aber in der Tat ein DB Problem... Wenn ich dafür sorge das in der Spalte "Comment" immer was steht, klappt es. Probleme gibt es nur, wenn sie leer ist...

Allerdings erfordert die spätere Anwendung, daß Comment auch leer sein darf.

Kann man das serverseitig irgendwie beeinflussen, wo die DB die Umbrüche kreiert oder so ?

Mann, ich hasse diesen Kram... :mad:
 
Zuletzt bearbeitet:
Du könntes als Defaultwert ein Leerzeichen in der DB angeben

oder

du gibst den string nicht sofort per echo aus sonderen baust ihn in einer var zusammen und jagst den str_replace drüber und entfernst \n und \r
 
Hm... Ich danke für die Hilfe.

Ich werd mich nochmal ransetzen... Ich habs auf nem anderen Server getestet, da gehts. Seltsam, das man das nicht vom Server her beeinflussen kann, wie der Parser die Geschichte behandelt...
 
mach doch bei jedem durchlauf ein
PHP:
if(!$row['blablub'] OR $row['blablub'] == "") $row['blablub'] = " ";

sollte eigentlich funzen, wenn nich, dann sagt es mir...
 
Zurück