Mehrere Datensätze in Variable speichern

  • Dann gibt es kein eintrag wo 'podizei_idpodi' = 1 ...
    Änder mal die Zahl in Zeile 12 in das was rein muss um ein Ergebniss zu bekommen ( also reinschrieben was 'GetSQLValueString($colname_podidate, "int")' normalerweise reinschreiben würde.. )

  • Stimmt. Datensatz 1 ist leer


    Das hab ich jetzt erhalten:
    3 Rows found!
    Rowname: 453
    -----------------
    print_r(453):
    Array ( [podizei_ID] => 536 [podizei_idpodi] => 453 [podizei_datum] => 2016-04-30 [podizei_von] => 15:00:00 [podizei_bis] => 24:00:00 [podizei_bemerkung] => ) -----------------
    var_dump(453["podizei_datum"]):
    string(10) "2016-04-30" -----------------
    echo: 453["podizei_datum"]:
    2016-04-30
    -----------------
    date(): 453["podizei_datum"]:
    2016-04-30
    -----------------
    date("d.m.Y", strtotime( 453["podizei_datum"])):
    30.04.2016
    -----------------
    time(): 453["podizei_datum"]:
    1418061465
    -----------------
    Rowname: 453
    -----------------
    print_r(453):
    Array ( [podizei_ID] => 524 [podizei_idpodi] => 453 [podizei_datum] => 2016-05-01 [podizei_von] => 10:00:00 [podizei_bis] => 15:00:00 [podizei_bemerkung] => ) -----------------
    var_dump(453["podizei_datum"]):
    string(10) "2016-05-01" -----------------
    echo: 453["podizei_datum"]:
    2016-05-01
    -----------------
    date(): 453["podizei_datum"]:
    2016-05-01
    -----------------
    date("d.m.Y", strtotime( 453["podizei_datum"])):
    01.05.2016
    -----------------
    time(): 453["podizei_datum"]:
    1418061465
    -----------------
    Rowname: 453
    -----------------
    print_r(453):
    Array ( [podizei_ID] => 548 [podizei_idpodi] => 453 [podizei_datum] => 2016-08-31 [podizei_von] => 15:00:00 [podizei_bis] => 18:00:00 [podizei_bemerkung] => ) -----------------
    var_dump(453["podizei_datum"]):
    string(10) "2016-08-31" -----------------
    echo: 453["podizei_datum"]:
    2016-08-31
    -----------------
    date(): 453["podizei_datum"]:
    2016-08-31
    -----------------
    date("d.m.Y", strtotime( 453["podizei_datum"])):
    31.08.2016
    -----------------
    time(): 453["podizei_datum"]:
    1418061465
    -----------------

  • Aber wenn ich das so ins Array so schreiben möchte, erhalte ich wieder das aktuelle Datum.


    PHP
    $MeinArray[] = array( 
        'datum' => date("d.m.Y", strtotime( $row_postendienst["podi_ID"]["podizei_datum"])),);
    }
  • Hast du das mit deinem Code reingeschrieben oder mit meinem..
    try that: (wenn keine Müdigkeitsfehler drinn sind, wette ich das gute Daten rauskommen... LIES dir den Code DURCH und versuche zu verstehen. Und achte mal darauf wie der Code Strukturiert ist.)


    Da kommt was Bombiges raus! :) (bitte Ergebniss Posten)

  • Das hab ich jetzt bekommen


    DATE #0 - 30.04.2016
    DATE #1 - 01.05.2016
    DATE #2 - 31.08.2016


    Ich habe versucht meinen Code mit: date("d.m.Y", strtotime( $row_postendienst["podi_ID"]["podizei_datum"])),);


    zu ergänzen.
    Die Idee war, dass Datum abzufragen und formatiert in das Array zu schreiben. "Bevor es dann zum pdf werden sollte."

  • Also.. kommen doch die richtigen Daten raus oder? :D
    Dann benutze sie doch so wie sie jetzt Rauskommen? :)


    Wo willst du was ergänzen?
    verstehe ich richtig das du das hier machen willst:

    PHP
    $row_postendienst["podi_ID"] = date("d.m.Y", strtotime( $row["podizei_datum"] ));
  • Langsam habe ich das Gefühl, zu verstehen was passieren sollte. Macht es aber noch nicht. ;-/


    Ich habe zwei Abfragen. einmal Postendienst, da frage ich den Datensatz ab, dessen ID über GET geliefert wird. Diese stehen in Tabelle 1


    Zum andern Frage ich alle Daten aus der Tabelle 2 wo bei der Spalte podizei_idpodi die ID der Tabelle 1 steht.
    Das sind in meinem Fall drei Datensätze.


    Aus diesen Drei Datensätzen, möchte ich die Datum die in der Spalte podizei_datum gespeichert sind.
    Da ich alle drei Datensätze im pdf ausgeben möchte, schreibe ich diese zuerst in Array das Ausgeben des Datums möchte ich dann im deutschen Format.


    Abfrage postendienst:

    PHP
    SELCET * 
    FROM Tabelle1 
    WHERE Tabelle1_ID = $_GET['podi_ID']


    Abfrage podidate:

    PHP
    SELECT * 
    FROM Tabelle2 
    WHERE Tabelle2_podizei_idpodi = $Postendienst['podi_ID']


    In Array schreiben:

    PHP
    do { 
    if ($row_podidate['podizei_datum'] != "" ) 
    { 
    $row_podidate['podizei_datum']=date("d.m.Y", strtotime( $row_podidate["podizei_datum"])); 
    $MeinArray[] = array( 
    'datum' => $row_podidate['podizei_datum'] 
    ); 
    }


    Als pdf schreiben:

    PHP
    for($i=0;$i<=6;$i++) 
    { 
    if($MeinArray[$i] != '') 
    { 
    $pdf->SetFont('Helvetica','',10); 
    $pdf->Cell(30,0,"" . $MeinArray[$i]['datum'],0,0,'L') . " ,"; 
    } 
    }


    Beim schreiben dieses Beitrags hat es nun Endlich doch irgendwie funktioniert. hab wohl zu viel dran rum probiert. War zwar kurz vorm verzweifeln.


    Aber dank deiner Hilfe hats nun endlich funktioniert. vielen Dank


    Gruss


    Philipp

  • Hallo


    Kann es sein, dass nach dem wechsel auf PHP5.5 die Datumformatierung nict mehr läuft?


    Ich habe ein Datum aus der Datenbank,
    [code=php]$row_podidate['podizei_datum']=date("d.m.Y", strtotime( $row_podidate["podizei_datum"]));
    Aber es wir mir nicht das Datum angezeigt, welechs in der Datenbank steht, respektive es wird mir nicht dasrichtig Datum, welches ich eintrage, in die Datenbank geschrieben.

    Das Feld in der Datenbank hat den Typ: 'date'


    Könnte das mit dem wechsel auf PHP5.5 zusammenhängen?
    Oder mit meinem Editor Dreamweaver?

  • Mit php hängt es nicht zusammen .. da bin ich mir recht sicher..
    Mach doch mal nen Standart Test des Vergleichens..:

    PHP
    echo '<br>-----</br>';
    echo 'Eintrag aus DB:'.$row_podidate["podizei_datum"];
    echo 'strtotime: '.strtotime( $row_podidate["podizei_datum"] );
    echo 'date: '.date( 'd.m.Y', strtotime($row_podidate["podizei_datum"] ) );


    Einfach um sicherzugehen das alle Daten da ankommen..

  • Ich habe jetzt ein File gemacht mit der Abfrage und Dein Standarttest eingefügt.


    In einer Schleife habe ich folgendes erhalten:


    -----
    Eintrag aus DB:2016-04-30
    strtotime: 1461967200
    date: 30.04.2016


    -----
    Eintrag aus DB:2016-05-01
    strtotime: 1462053600
    date: 01.05.2016


    Wenn ich Daten in die DB schreiben möchte funktioniert das nicht.

  • HÄÄÄÄ
    es kommt doch immer das genau richtige raus?!


    Wenn du Daten in die DB schreiben willst via SQL, musst du sie natürlich wieder richtig Formatieren.. sprich

    Code
    YYYY-MM-DD[ HH:MM:SS]

    ...

  • Vllt weil du die Daten nicht richtig in die DB eingibst?!
    .. und du dir wohl keine Fehlermeldungen anzeigen lässt..
    Wenn ich sowas wie

    Code
    19.12.1983

    d.H.

    Code
    dd.mm.yyyy

    in eine 'DATE' Spalte eintragen will bekomm ich ein

    Code
    Warning: #1265 Data truncated for column 'time' at row 1


    -Bedeutet falsches Format .. richtig wäre

    Code
    1983-12-19

    ->

    Code
    yyyy-mm-dd


    Problem aufgedeckt?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!