Avatar billede avatar2 Nybegynder
11. februar 2003 - 16:35 Der er 11 kommentarer

php/ie output buffer

Der hentes data fra en mysql table og disse udskrives i en tabel med php. Normalt fungere det uden problemer men når der kommer over 100 rækker på tabellen kommer der underlige tegn som "ã€" enkelte steder og tabellen kan derfor ikke udskrives rigtigt.
Det er først når tabellerne når disse størrelser at der kommer problemer.
Avatar billede swaxi Nybegynder
11. februar 2003 - 19:30 #1
og det sker kun i ie, eller ?
hvad er iøvrigt spørgsmålet ? om det kan passe at der er bugs i noget software, som m$ har lavet ? ;)
Avatar billede avatar2 Nybegynder
11. februar 2003 - 19:36 #2
næe, spørgsmålet er hvad der kan gøres for at disse evt. buffer fejl ikke fremkommer.
Jeg har prøvet at bruge flush() uden held.

Jeg har ikke testet det under Netscape men kan godt lige prøve for at se om det er et ms problem
Avatar billede olebole Juniormester
11. februar 2003 - 21:01 #3
<ole>

kode ...?

/mvh
</bole>
Avatar billede avatar2 Nybegynder
11. februar 2003 - 22:28 #4
Det er en større klump kode men her er for løkken som laver rækkerne. Der hentes data fra mysql og disse udskrives i 6 kolonner. Som nævnt virker det fint sålænge tabellen er under 100-120 rækker.

    $query = "select ID, galleryUrl, thumbUrl, category, clicks, description from gm_galleries $limit order by $order $desc";
    $result_id = mysql_query($query)OR die($query . mysql_error());

    for($i=1; list($ID, $galleryUrl, $thumbUrl, $category, $clicks, $description) = mysql_fetch_row($result_id); $i++){

?>
    <tr>
      <td nowrap><div align="center"><? echo $i; ?></div></td>
      <td nowrap><input type="radio" name="ID" value="<? echo $ID; ?>"></td>
      <td nowrap><a href="<? echo $galleryUrl; ?>" target="_blank"><? if( $description == "") echo $galleryUrl; else echo $description ?></a></td>
      <td width="10%" nowrap> <div align="center"><? echo $category; ?></div></td>
      <td width="5%" nowrap> <div align="center">
      <?
      if($selThumbs == "No" ){
          if($thumbUrl != "" )
              echo "<a href=\"$thumbUrl\">Thumb</a>";
        else
            echo "&nbsp;";
      }
      else{
          if($thumbUrl != "" )
            echo "<img src=\"$thumbUrl\">";
        else
            echo "&nbsp;";           
      }
      ?>
      </div></td>
      <td width="5%" nowrap><div align="center"><? echo $clicks; ?>&nbsp;</div></td>
    </tr>
    <?

?>
Avatar billede avatar2 Nybegynder
11. februar 2003 - 22:34 #5
Ofte er det et "<" der bliver erstattet f.eks sådan her: "ã€td nowrap>"
og "</tr>" bliver til "ã€r>"
Avatar billede olebole Juniormester
12. februar 2003 - 00:42 #6
1. Det er meget vigtigt, du har dette stående i head:
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

2. Du bør ved så mange rækker fylde en streng med dine rækker og skrive den ud til sidst:

while( BETINGELSE ) {
    $str .= "Et eller andet\n";
}
echo $str;

/mvh
Avatar billede olebole Juniormester
12. februar 2003 - 00:44 #7
Det samme gælder naturligvis for en for-løkke  :)
Avatar billede swaxi Nybegynder
12. februar 2003 - 11:12 #8
er det iøvrigt kun outputtet, eller er filen også korrumperet hvis du vælger 'vis kilde' ? (kunne hinte om det er ie eller php der messer op)
Avatar billede avatar2 Nybegynder
12. februar 2003 - 11:24 #9
olebole
1. jep det står i headeren
2. det lader til at de mystiske tegn forsvinder men browseren kan stadig ikke vise det. Det står og blinker og tilsidst kommer en dns fejl..( kører på localhost). Det er også lidt skidt at fylde det hele i en streng da det bliver bøvlet senere at ændre tabellen:(

swaxi,
ovenstående eksemple er taget fra view source så det bliver også korrupt ja.
Avatar billede avatar2 Nybegynder
12. februar 2003 - 11:28 #10
Den kan f.eks. 122 rækker men ikke 130 rækker. Så jeg hælder meget til et buffer problem i enten php eller ie. Installere netscape nu og tester det.
Avatar billede avatar2 Nybegynder
12. februar 2003 - 11:48 #11
Der er også problemer i Netscape men der er det altid række 219 præcis det samme sted hvor den stopper med at udskrive.
Men Netscape tager det stille og roligt og udskriver det den kan:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester