Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Pass PHP generated table

Pagina: 1
Acties:
  • 359 views

  • KoenAlberts
  • Registratie: November 2008
  • Laatst online: 22-11 14:40
Hallo,

Ik ben momenteel bezig met een stockinquiry project en doe het volgende.

Op basis van een form laat ik de gebruiker een SKU/Description invoeren en PHP trekt de data uit de database en plaatst deze in een HTML table. Dit gaat als volgt:


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    while (odbc_fetch_row($rs))
    {
        $WH=odbc_result($rs,"WH");
        $SKU=odbc_result($rs,"SKU");
        $DESC1=odbc_result($rs,"DESC1");
        $QTY=ROUND(odbc_result($rs,"QTY"),0);
        $OPENSO=ROUND(odbc_result($rs,"OPENSO"),0);
        $OPENPO=ROUND(odbc_result($rs,"OPENPO"),0);
        $FREEAVAILABLE=ROUND(odbc_result($rs,"FREEAVAILABLE"),0);

        echo "<tr><td>$WH</td>";
        echo "<td>$SKU</td>";
        echo "<td>$DESC1</td>";
        echo "<td>$QTY</td>";
        echo "<td>$OPENSO</td>";
        echo "<td>$OPENPO</td>";
        echo "<td><b>$FREEAVAILABLE</b></td></tr>";
    }
    
    odbc_close($conn);
    echo "</table>";


Om de functionaliteit te verhogen wil ik de table laten openen in excel door middel van een button. In eerste instantie heb ik dit gedaan met JavaScript. Dit werkte, maar beveiliging was een issue. In de browser opties moesten eerst alle beveiligingspolicies voor activex controls worden gewijzigd en dat is niet mijn opzet.


Via PHP lukt het mij wel door middel van het wijzigen van de header:

PHP:
1
2
3
4
5
6
$bestandsnaam = "testje";
    
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=" . $bestandsnaam . ".xls");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");


<Hier vervolgens de table>

Excel vraagt dan direct om het bestand te openen.


Wat ik eigenlijk zoek is een php script welke de gegenereerde table in de webbrowser mount als een soort van variable, deze vervolgens passt naar een volgend php file. Het volgende PHP file zou dan de header echoen (zoals bovenstaand is te lezen) en vervolgens de gemounte table echoen. Naar mijn inziens zou dit moeten resulteren in een prompt om een excel file te openen.

Heeft iemand een ander idee, of kan iemand mij op weg helpen?

Bedankt!
Koen

[ Voor 1% gewijzigd door RobIII op 20-04-2012 15:12 ]


  • Solopher
  • Registratie: December 2002
  • Laatst online: 30-10 12:28
Ik denk niet dat Excel HTML ondersteund, daarom zou ik als ik jou was eens verdiepen in CSV.

Neem hier eens een kijkje:
http://nl.php.net/fputcsv in combinatie met de header die je al hebt, moet je een heel eind kunnen komen lijkt mij.

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
We hebben je al vaker gewezen op code tags. Ik heb 't deze keer nog aangepast, maar we blijven niet aan de gang ;) Verder neigt dit wel heel erg naar een scriptrequest; iets waar we je ook al vaker op gewezen hebben. Ook zie ik nu alleen maar wat je hebt (waarbij je eerste snippet weinig tot niet relevant is), en wat je graag zou willen in de vorm van een "Waar vind ik...?" en een neiging naar Kan iemand even...?.

Al-met-al genoeg reden om een slotje te plaatsen. Ik verzoek je vriendelijk voortaan onze Quickstart te hanteren bij 't openen van een topic.

Oh, en het kan geen kwaad om ook eens proberen een ander dan jezelf te helpen ;)

[ Voor 11% gewijzigd door RobIII op 20-04-2012 15:15 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Dit topic is gesloten.