Beiträge von Arne Drews

    Naja, ich kann bspw. ja nur auf die Brackets der while verzichten, wenn nur die unmittelbar folgende Anweisung ausgeführt werden soll.

    Das ist bei Dir der var_dump(); Das Zusammensetzen der Row passiert demnach in der von Dir gezeigten Code-Version erst nachdem die Iteration beendet ist.


    Ist schon mal das erste, was mir adhoc auffällt.


    EDIT:

    Habe mal eine Test-Datenbank angelegt:


    Vorname Nachname Wohnort
    Hans-Peter Hansen Hansestadt
    Freddy Kaputtlick Bröseldorf
    Hugo Hänger Plattdorf
    Anka Ra Morgenland


    Darauf aufbauend erstelle ich nachher oder morgen mal ein Beispiel, basierend auf meinem Code, um die Funktionalität zu der verdeutlichen.

    Link und Original-Code poste ich dann hier...


    Hier der Link: http://examples.php-rocks.de/frmtest/


    Und hier der relevante, aber wenig überraschende Code:

    Ich würde eine Schaltfläche ( <a>-Tag geht auch ) nehmen und den Process des Aufbaus und Download per PHP direkt verabeiten.


    Beim Dateiformat sollte man beachten, dass eine CSV nicht selten nicht direkt mit Excel eingelesen werden kann. Man muss den Feldtrenner/-delimiter dann noch manuell angeben oder die Daten per Excel-Funktion Daten -> Aus Text ( oder war es Datei? ) importieren.


    Eine Excel-Klasse hat allerdings oft den Nachteil, dass sehr viel Speicher verbraucht wird für eine einzige Zelle.


    Die Entscheidung ist also aus meiner Sicht immer 50:50, wobei ich vermutlich zu CSV tendieren würde, da dies allgemeiner und relativ flach gehalten ist.

    Na das Plugin wird eine Iteration á la for(), foreach() oder while() dafür haben.

    Da hängt man sich entweder rein oder direkt dahinter mit einer Summenzeile. Obwohl mir nicht ganz klar ist, was das für ein PlugIn sein soll. Warum bietet er die Summenzeile nicht gleich mit an?

    Wenn line 38 im Original Script dbsuche2.php $aTableRows[] = '<tr><td>' . $row->word . '</td><td>' . $row->normalized_word . '</td><td>' . $row->normalized_word2 . '</td></tr>';

    ist, hat Stef recht, was aber in meinem Post auch deutlich zu lesen gewesen wäre:

    Zitat

    // building table rows ( assuming we use PDO::FETCH_OBJ )

    ;)


    Das kann man der Methode fetch() mitgeben oder es direkt beim Instanziieren festlegen.

    Ich mache das i.d.R. beim Instanziieren zusammen mit den aus meiner Sicht wichtigsten anderen beiden Optionen:

    PHP
    <?php
    $aOptions = [
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
        PDO::ATTR_EMULATE_PREPARES => false,
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
    ];
    
    $oPDO = new PDO( 'mysql:host=localhost;dbname=foobar;charset=utf8', $sDBUser, $sDBPassword, $aOptions );

    ja , das probleme ist das ich keine erfahrung mit php habe , ich habe mit python ein bissen gehabt , deshalb versuche ich mit python logik denken...

    Öhm, nö... Auch bei Python kann man Fallunterscheidungen machen, das hat nichts mit der Programmiersprache zu tun!

    Entweder Du weißt, wie man Werte prüft oder nicht.


    Die Aussage ist für mich schon ein Grund, hier nicht weiter zu helfen...