Problem bei Ausgabe von viel Text

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem bei Ausgabe von viel Text

    Hallo Forum

    Ich habe ein Problem. Ich bastle mir gerade eine neue Homepage und ich will dort meine Texte die ich schreibe veröffentlichen. Ich bin da offenbar an eine grenze von MySQL gestossen (kann das sein?). Der Text den ich in ein LONGTEXT-formatiertes Feld eingefügt habe ist knappe 30 Wordseiten lang (etwa 50'000 Zeichen). In der Datenbank ist der ganze Text gespeichert, also nichts abgehackt. Ich mache eine normale MySQL-Abfrage in PHP und will dann den Text ausgeben lassen. So wie halt immer. Aber bei diesem Text gibt er mir einfach gar nichts aus. Kein einziges Zeichen. Die anderen Artikel werden problemlos ausgegeben.

    Hat jemand eine Ahnung an was es liegen könnte? Muss ich bei so vielen Zeichen etwas spezielles beachten?

    Danke schon mal für eure Hilfe.

  • #2
    nein, longtext fasst m.w. bis zu 4 gb.
    aber vielleicht zeigst du besser, wie du die ausgabe machst.

    Kommentar


    • #3
      PHP-Code:
      $selectarticle mysql_query("SELECT *, po_articles.id AS articleid, 
      DATE_FORMAT(date, '%d. %M %Y') AS datum, "
      .$tblpre."articles.author AS userid, 
      po_users.username AS author 
      FROM "
      .$tblpre."articles WHERE po_articles.id = ".$_GET["article"]."") or die(mysql_error());
      $article mysql_fetch_assoc($selectarticle);



      //
      // create article-printing
      //
      $articletext nl2br(tscode_replace($article["article"]));$


      //
      // Get Smilie-Replacments
      //
      $reqsmilies "SELECT * FROM ".$tblpre."smilies";
      $ressmilies mysql_query($reqsmilies);
              
      while(
      $smilies_text mysql_fetch_assoc($ressmilies))
         {
                        
      $articletext str_replace($smilies_text['smiliename'], 
                        
      "<img src=\"images/smilies/".$smilies_text['smilieimage']."\" 
                        alt=\""
      .$smilies_text['smiliename']."\">"$articletext);
         }



      $t->article $articletext
      Also was passiert mit dem Text. Zuerst werden alle Absätze und Zeilenumbrüche gemacht und der ganze Text wird nach BBCode abgesucht und der BBCode gegebenenfalls ersetzt. Danach wird wieder der ganze Text nach Smilie-Strings (die in der Datenbank stehen) durchsucht und gegebenenfalls ersetzt.
      Dann wird der fetige ersetzte Text in eine Variable gespichert um ihn dann im Template auszugeben.

      Bisher hat das immer funktioniert.

      EDIT: Ich habe jetzt herausgefunden, dass das BBCode-Replacement ein Problem darstellt. Ich habe ihn mal rausgenommen und dann wird der ganze Text ohne Probleme angezeigt. Wieso das?
      Zuletzt geändert von pascal007; 12.07.2007, 07:28.

      Kommentar


      • #4
        was steht in tscode_replace?

        Kommentar


        • #5
          Hier die tscode.php
          Zuletzt geändert von pascal007; 12.07.2007, 11:43.

          Kommentar


          • #6
            enthält dein text denn überhaupt bbtags? wenn ja - enferne sie. klappt die ausgabe dann? wenn ja, versuche (per ausschluss) herauszufinden, welcher tag das problem verursacht.

            Kommentar


            • #7
              Ja er enthält BBCode. Aber ich denke nicht dass es daran liegt. Ich benutze dieses File schon in vielen Scripts ohne Probleme und die kürzeren Texte gehen ja. Zudem wenn ich in der dargstellten Seite im Browser nachsehe steht der Text auch nicht im Quelltext. Also wird er nicht mal ausgegeben.

              Aber ich werde das dann mal so machen wie du es vorgeschlagen hast. Vllt gibt es da wirklich irgendwie ein Fehler.

              EDIT: oke hab den Fehler gefunden ich habe 3 BBCodes im Text aufgemacht und dann mit [][][] geschlossen, ohne etwas in die Klammern zu schreiben. Dass hat ihn offenbar daran gehindert den Text auszugeben. Komisch... aber danke für deine schnelle Hilfe .
              Zuletzt geändert von pascal007; 12.07.2007, 16:58.

              Kommentar

              Lädt...
              X