Problém s načtením php souboru, který generuje xml Excel tabulka 2003
7 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Dobrý den, vyskytl se mi problém a jelikož nevím kde je to dře, tak nevím možná že já dělám něco blbě, protože je toto co se poprvé snažím pomocí php vygenerovat MS Excel tabulku. K problému: Z mně neznámého důvodu nejde načíst (respektive se nepřestane načítat ani po dlouhé době až nakonec chrome usoudí že stránky nereagují). O co se snažím? 1) hlavičky: header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT'); header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); header('Content-Type: text/xml; charset=utf-8'); 2) blok vygenerovaného xml excelem 3) dopnění konkrétní data z databáze Nejzajímavější mi přijde fakt, že mi to nehodí chybu, ale takto se to nekonečně načítá, takže opravdu si zde nedokážu poradit, prosím o pomoc :D
-
Těžko soudit z tak obecné informace. Chyba může být ve scriptu (zacyklení), v chybném vyhodnocení souboru, ...
-
Ještě jsem zapomněl udat url souboru: http://apartman-novehrady.euweb.cz/rezervace-excel.php Jinak zacyklené to může být jedině tady! Jinak to tím nemůže být while($zaznam = $conn->query($sql)->fetch_array()) { if($count < 10) { $var_symb_n = '00'.$count; } elseif($count < 100) { $var_symb_n = '0'.$count; } else { $var_symb_n = $count; } $var_symb_y = substr($zaznam['timestamp'], 2, 2); $var_symb = $var_symb_y.$var_sybm_n; echo ' <Row ss:AutoFitHeight="0"> <Cell ss:StyleID="s62"><Data ss:Type="Number">'.$zaznam['id'].'</Data></Cell> <Cell><Data ss:Type="String">'.$zaznam['jmeno'].'</Data></Cell> <Cell><Data ss:Type="String">'.$zaznam['prijmeni'].'</Data></Cell> <Cell><Data ss:Type="String">'.$zaznam['bydliste'].'</Data></Cell> <Cell><Data ss:Type="Number">'.$zaznam['telefon'].'</Data></Cell> <Cell><Data ss:Type="String">'.$zaznam['email'].'</Data></Cell> <Cell ss:StyleID="s63"><Data ss:Type="DateTime">'.$zaznam['od'].'T00:00:00.000</Data></Cell> <Cell ss:StyleID="s63"><Data ss:Type="DateTime">'.$zaznam['do'].'T00:00:00.000</Data></Cell> <Cell ss:StyleID="s62"><Data ss:Type="Number">'.$zaznam['pldo'].'</Data></Cell> <Cell ss:StyleID="s62"><Data ss:Type="Number">'.$zaznam['pld15'].'</Data></Cell> <Cell ss:StyleID="s62"><Data ss:Type="Number">'.$zaznam['pdo'].'</Data></Cell> <Cell ss:StyleID="s62"><Data ss:Type="Number">'.$zaznam['pd15'].'</Data></Cell> <Cell><Data ss:Type="Number">'.$var_symb.'</Data></Cell> <Cell><Data ss:Type="String">'.$zaznam['dotazy'].'dotaz blb bla bla</Data></Cell> </Row> '; $count++; }
-
Mě se něco zobrazí, ale problém je v tom, že tam je jen jeden člověk - barunka. Chyba v sestavení příkazu dotazu. Zkuste si přepsat dotaz trochu standardněji (i když jej nevidím celý) na: $vysledek = $conn->query($sql); while ($zaznam = $vysledek->fetch_array()) { ... }
-
Ano po přepsatní, to funguje. Ale toto: while($zaznam = $conn->query($sql)->fetch_array()) { ...by mělo fungovat také ne? Jsem to viděl myslím někde na stackoverflow.com, tak jsem se s tím nerozepisoval.
-
Protože je celý zápis v podmínce cyklu, tak se provede vždycky znovu. Tedy.. while($zaznam = $conn->query($sql)->fetch_array()) provede vždy nový dotaz do databáze. A protože ten (v tomto případě) vždycky vrátí nějaký výsledek, tak podmínka bude vždycky platná. Nevím, v jakém dotazu na StackOverflow jste to našel, a možná to ani vědět nechci :-)
-
Tak tedy problém vyřešen děkuji moc za objasnění chyby