Antworten auf deine Fragen:
Neues Thema erstellen

php, Sql, Datum das vom server kommt ändern bei opp

Merlin10

Noch nicht viel geschrieben

Hallo Leute ich habe eine frage, bin fast fertig mit der Prüfung, die daten werden direkt vom Server geholt, das einzige was noch ist, das datum. es wird so angezeigt wie es auf dem server ist. es sollte in dd.mm.yyyy angezeigt werden.
hatte mich mal bei sql durch gelesen, aber nichts gefunden, vlt hat jemand eine idee. Eine frage habe ich noch , ist der code Korrekt oder sind da noch fehler drin.

hier der code mit dem ich die artikel anzeige
danke
gruss Jürgen

PHP:
 public function anzeigen() # überschreibt die Methode anzeigen() der eltern-Klasse artikel
  {                             # Artikeldaten direkt von der Datenbank holen                
                                $sql = "SELECT a_artikelnr, a_datum, a_menge, a_preis, a_name AS a_veranstalung FROM mondmagi_webshop.ws_artikel WHERE a_menge > 0";
                                $result = $this->dbh->query($sql);
                                $tmp = $result->fetchAll(PDO::FETCH_ASSOC);
                                foreach ($tmp as $key => $value)
                                {
                                        foreach($value as $ky => $val)
                                        {
                                                $name = explode("_", $ky);
                                                if ($ky != 'a_artikelnr')
                                                   $this->anzeigen[$value['a_artikelnr'] ][$name[1]] = $val;
                                        }
                                }
    print "<table cellpadding=\"5\">\n";
    print "<tr>\n";# <th>Artikel</th><th>Preis</th><th>Anzahl</th>\n</tr>\n";# ausgeblendet daten werden vom assoziativen schlüssel übernohmen
    #$zeilenanzahl = 0; # setzt die $zeilenanzahl gleich null
    # holen der numerischen Indizes
    $tmp = array_keys($this->anzeigen);
    # durchsuchen nach den assoziativen Schlüseln
    foreach($this->anzeigen[$tmp[0]] as $key => $value) # Zugriff auf die einzelnen Datensätze des artikelArray
    {
        #Ersten Buchstaben groß setzen
        print "<th>".ucwords($key)."</th>";
    }
        print "\n</tr>\n";
        # Alle datenfelder ausgeben
        foreach($this->anzeigen as $key => $value)
        {
            print "<tr style=\"text-algin: center; bordercolordark=\"#00CCFF\">\n";
            foreach($value as $subKey => $subVal)
            {
            if ($subKey == "preis") # prüfen, um "Euro " text anzuhängen
                print "<td align=\"right\">".$subVal."Euro </td>\n";
            else
                print "<td>".$subVal."</td>\n";
            }
            print "<td><a href=\"".$_SERVER['PHP_SELF']."?id=".$key."\">In den Warenkorb</a></td>\n";
            print "</tr>\n";
            $zeilenanzahl++; # nach jeder Schleife die $zeilenanzahl um einen Zähler erhöhen!

        }
            print "</div>\n";
        print "</table>\n";
     }
 

hub

nicht ganz neu hier

moin moin,
wo hast du denn gesucht? Die einfachste Variante findest du hier () ...
Zu deinem Code selbst, da müsste ich mir morgen nochmal die Zeit nehmen,

Gruß Ulli
 

Merlin10

Noch nicht viel geschrieben

Hi Ulli
ich hatte bei sql geschaut, das date_format hatte ich gesehen, bin da nur nicht ganz durch gestiegen, hatte mir gedacht ich schreibe das mit AS , das dieses Format dann gewandelt wird. geht das ?z.b a_datum AS ......
 

Chickenshooter

Alter Mann

Hallo Merlin.

In deinem Script benutzt du dein feld a_datum garnicht es erfolgt keine Ausgabe.
Soll das so?
Und warum der Umstand mit
PHP:
$this->anzeigen
du machst doch in der gleichen Function eh die Ausgabe...
Nutze doch gleich das Result der SQL-Abfrage.

Aber was solls hier, so hoffe ich, die Antwort auf deine Frage.
Dein Statement könnte so aus sehen

PHP:
$sql = "SELECT a_artikelnr, DATE_FORMAT(a_datum,'%d.%m.%Y') AS datum, a_menge, a_preis, a_name AS a_veranstalung FROM mondmagi_webshop.ws_artikel WHERE a_menge > 0";

der Teil der neu ist
PHP:
DATE_FORMAT(a_datum,'%d.%m.%Y') AS datum
ich gehe davon aus dein Datumsfeld in der Tabelle a_datum heisst.
Das Datum was dann in dem Feld "datum" steht hat die Form dd.mm.yyyy ( zB 12.03.2014 )

oder was auch geht...
PHP:
GET_FORMAT(a_datum,'EUR') AS datum
erzeugt die gleiche Ausgabe wie obiges

mfg
 
Zuletzt bearbeitet:

hub

nicht ganz neu hier

Moin, ich nochmal.
Chickenshooter, hat ja schon gezeigt, wie das mit date_format funktioniert. Um zu beurteilen, ob dein Code auch so ok ist, müsste man beide Klassen sehen.
Dein Code ist nicht sehr effektiv, zum Beispiel du lässt das gleiche Array ($this->anzeigen) in dieser Funktion gleich durch 3 Schleifen laufen - das ist eigentlich 2 mal zu viel ...
Ich denke, zu Testzwecken, kann man diese Funktion so durchgehen lassen, sonst wäre erstmal Aufräumen angesagt :)

Gruß Ulli
 

Merlin10

Noch nicht viel geschrieben

Vielen Dank Ulli und Chickenshooter für die Hilfe, perfekt, danke für den code schnipsel, das anzeigen nehme ich auch raus. aufräumen werde ich noch, möchte eh noch etwas ändern, die idee ist, das man auf Warenkorb klickt und es erscheint das Login feld, im moment ist es so das man auf die seite geht und sich erst einloggen oder sich registieren muß, und dann zu den artikel kommt.
Danke
Gruss
Jürgen
 

Chickenshooter

Alter Mann

Hallo Jürgen.

Genau für so etwas ist ein Forum ja da.
Und wenn man als "Ersthelfer" ;) ein Dankeschön bekommt, macht das Helfen doch Spaß.

Viel Spaß noch bei deinem Projekt.

mfg
 

Merlin10

Noch nicht viel geschrieben

dafür ist das forum da, :) bin sehr froh das es das Forum gibt
wollte das $this->anzeigen raus nehmen, nun lese ich das es drin bleiben soll, es sollte nähmlich um geschrieben werden vom artikelarray zum anzeigen.
gruss Jürgen
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.065
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben