Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 13:24 Der er 32 kommentarer

Problem med tabel der bliver for stor

Hej

Jeg har et problem med et udtræk jeg laver fra PHP:

    $query = mysql_query("SELECT companyID, companyName, companyStatus, companyBuyStatus FROM intranetCrmCompanies") or die(handleError(mysql_error()));
    while ($row = mysql_fetch_array($query)) {
       
       
            echo "<tr>";
                    echo "<td height=16 class=body><a href=\"salesViewCompany.php\">$row[companyName]</a></td>";
                    echo "<td height=16 class=body><a href=\"salesViewCompany.php\">$row[companyStatus]</a></td>";
                    echo "<td height=16 class=body><a href=\"salesViewCompany.php\">$row[companyBuyStatus]</a></td>";
                echo "</tr>";

    }

Dette udtræk spytter dette ud:

<td height=16 class=body><a href="salesViewCompany.php">AF-Frederiksborg</a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td></tr><tr><td height=16 class=body><a href="salesViewCompany.php">AF-Storkøbenhavn</a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td></tr><tr><td height=16 class=body><a href="salesViewCompany.php">AO</a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td></tr><tr><td height=16 class=body><a href="salesViewCompany.php">AP Møller</a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td></tr><tr><td height=16 class=body><a href="salesViewCompany.php">AP Revision</a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td></tr><tr><td height=16 class=body><a href="salesViewCompany.php">Arla</a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td></tr><tr><td height=16 class=body><a href="salesViewCompany.php">ATP Huset</a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td></tr><tr><td height=16 class=body><a href="salesViewCompany.php">Banestyrelsen</a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td></tr><tr><td height=16 class=body><a href="salesViewCompany.php">BD</a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td></tr><tr><td height=16 class=body><a href="salesViewCompany.php">Berendsen</a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td><td height=16 class=body><a href="salesViewCompany.php"></a></td></tr></table></td>

Som I kan se bliver det spyttet ud i en lang køre. Jeg skal gerne have trukket ca. 350 linjer/records ud, men hvis jeg har meget mere en 10 (som ovenpå) vil siden slet ikke loades. Jeg kan forestille mig at det er fordi at koden på siden kommer i en lang køre, men er ikke sikker.

Jeg håber at nogen kan hjælpe.

VH

Anders Thingholm
Avatar billede whatever Nybegynder
14. juni 2003 - 13:31 #1
Følgende kommer ikke i en køre:

echo "<tr>
        <td height=\"16\" class=\"body\"><a href=\"salesViewCompany.php\">". $row["companyName"] ."</a></td>
        <td height=\"16\" class=\"body\"><a href=\"salesViewCompany.php\">". $row["companyStatus"] ."</a></td>
        <td height=\"16\" class=\"body\"><a href=\"salesViewCompany.php\">". $row["companyBuyStatus"] ."</a></td>
    </tr>\n";

Om det hjælper ved jeg ikke.
Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 13:36 #2
Hej igen

Nu har jeg lavet mit udtræk på 1 linje, men det virker heller ikke:

echo "<tr><td height=16><a href=\"salesViewCompany.php\">$row[companyName]</a></td><td height=16 class=body><a href=\"salesViewCompany.php\">$row[companyStatus]</a></td><td height=16 class=body><a href=\"salesViewCompany.php\">$row[companyBuyStatus]</a></td></tr>";
Avatar billede mikmakmuk Nybegynder
14. juni 2003 - 13:38 #3
Det lyder meget rigtigt, så må du jo bare sætte noget <br> ind
Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 13:38 #4
Filen kan ses her:

http://dev.thingholm.dk/ekspertenTest/html/sales.php

Der ser ud som om at der er for meget at parse...
Avatar billede whatever Nybegynder
14. juni 2003 - 13:41 #5
Den side findes ikke.
Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 13:42 #6
Jo, den gør, men det ser ikke ud til at den vil vise den...ØV
Avatar billede whatever Nybegynder
14. juni 2003 - 13:45 #7
prøv at smide hele koden her. Eller en phps fil på serveren.
Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 13:55 #8
Det ser ud til at problemet kommer omkring nr. 200...

PHP filen kan downloades her:

http://dev.thingholm.dk/1/sales.zip
Avatar billede whatever Nybegynder
14. juni 2003 - 14:03 #9
Der er umiddelbart ikke noget galt med den fil.
Avatar billede roenving Novice
14. juni 2003 - 14:17 #10
Er du sikker på, at der ikke er småfejl i tabel-opbygningen ?-)

-- i det du dumpede først optræder der f.eks. en </table> til sidst i koden -- det skulle der vel ikke være allerede efter 'B' ...

-- jeg har på et tidspunkt måttet igennem sådan en øvelse, hvor det viste sig at problemet opstod af et eller andet tag, som var i overskud -- ved normal testning var det ikke en fejl fordi den f******** browser var så forstående ;O)

-- men når der skulle genereres bogstavelig talt tusindvis af linjer, så var problemet åbenbart for vanskeligt (-- i princippet nåede man altså også ind på den 1000. nestede tabel eller række (det kan jeg ikke huske ,-)
Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 14:51 #11
Hej igen

Det virker som det skal, hvis jeg fjerner "height=16 class=body" i min TD tag...
Avatar billede roenving Novice
14. juni 2003 - 14:58 #12
Hvad så med at sætte dine attributter i anførselstegn:

echo "<tr>";
                    echo "<td height='16' class='body'><a href=\"salesViewCompany.php\">$row[companyName]</a></td>";
                    echo "<td height='16' class='body'><a href=\"salesViewCompany.php\">$row[companyStatus]</a></td>";
                    echo "<td height='16' class='body'><a href=\"salesViewCompany.php\">$row[companyBuyStatus]</a></td>";
                echo "</tr>";

    }
Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 15:00 #13
jo, så virker det også...
Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 15:00 #14
Er det en mere korrekt måde at skrive på?
Avatar billede roenving Novice
14. juni 2003 - 15:04 #15
html-parserne accepterer det generelt -- og jeg kan ik' li'e huske hvad man SKAL,

-- men sådan almindelig skrivekrampe i sådan noget programmering må være at angive parametre og deres værdier som forskellige entitets-typer -- og ihvertfald i css og javascript er det altid et must !-)
Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 15:12 #16
Super - så lærte jeg det ;-)

Smider I nogle svar?
Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 15:26 #17
Ha ha - problemet forsætter...

Når jeg færdiggører mit udtræk er der fejl igen...


            echo "<tr onmouseover=\"setPointer(this, '#DDDDDD', '#FFFFFF')\" onmouseout=\"setPointer(this, '#FFFFFF', '#FFFFFF')\">";
            echo "<td><a href=salesViewCompany.php?id=$row[companyID]>$row[companyName]</a></td>";
            echo "<td height='16' class='body'>$row[companyStatus]</td>";
            echo "<td height='16' class='body'>$row[companyBuyStatus]</td>";
            echo "</tr>";
Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 15:26 #18
Og det er selvfølgelig

echo "<tr onmouseover=\"setPointer(this, '#DDDDDD', '#FFFFFF')\" onmouseout=\"setPointer(this, '#FFFFFF', '#FFFFFF')\">";

den er gal med
Avatar billede roenving Novice
14. juni 2003 - 15:48 #19
-- og det virker selvfølgelig hvis du fjerner de mouse-events ?-)
Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 15:49 #20
Jep, det virker hvis den bare hedder echo "<tr>";
Avatar billede roenving Novice
14. juni 2003 - 15:57 #21
Har du prøvet/overvejet at samle det hele sammen til een streng, før du echoer det ?O)
Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 16:44 #22
Hej igen - nu har jeg prøvet at lave det til en streng, men det virker heller ikke.

        $string = "<tr onmouseover=\"setPointer(this, '#DDDDDD', '#FFFFFF')\" onmouseout=\"setPointer(this, '#FFFFFF', '#FFFFFF')\">";
        $string .= "<td><a href=salesViewCompany.php?id=$row[companyID]>$row[companyName]</a></td>";
        $string .= "<td height='16' class='body'>$row[companyStatus]</td>";
        $string .= "<td height='16' class='body'>$row[companyBuyStatus]</td>";
        $string .= "</tr>";

        echo $string;
Avatar billede roenving Novice
14. juni 2003 - 16:48 #23
Hvordan ser din $string ud, hvis du kigger i den ?-)
Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 17:22 #24
Hvad mener du?
Avatar billede roenving Novice
14. juni 2003 - 17:24 #25
Er teksten formatteret som den skal være: bliver <tr>'en til:

<tr onmouseover="setPointer(this, '#DDDDDD', '#FFFFFF')" onmouseout="setPointer(this, '#FFFFFF', '#FFFFFF')">
Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 17:27 #26
ja, den bliver til dette:

<tr onmouseover="setPointer(this, '#DDDDDD', '#FFFFFF')" onmouseout="setPointer(this, '#FFFFFF', '#FFFFFF')">
Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 17:27 #27
$string = "<tr onmouseover=\"setPointer(this, '#DDDDDD', '#FFFFFF')\" onmouseout=\"setPointer(this, '#FFFFFF', '#FFFFFF')\">";
       
        echo $string;
Avatar billede roenving Novice
14. juni 2003 - 17:34 #28
Hvad sker der, hvis du prøver at smide teksten ind i en simpel tekst-fil og åbne den med browser ...
Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 18:20 #29
Hvis jeg isolerer funktionen med nogle dummy data, virker den fint som den skal.
Avatar billede roenving Novice
14. juni 2003 - 18:23 #30
-- men ikke med de massive data ...

hmmm ... bum, bum, tja, tja ,-|
Avatar billede thingholm.dk Nybegynder
14. juni 2003 - 18:24 #31
Præcis, tjum tjum ;-)
Avatar billede thingholm.dk Nybegynder
15. juni 2003 - 15:51 #32
Jeg får kun fejlen hvis jeg kører siden fra min egen webserver (apache). Hvis jeg uploader til en webhotel, får jeg den ikke længere...
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