php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 01-07-2003, 11:00
Kawakima
 Junior Member
Links : Onlinestatus : Kawakima ist offline
Registriert seit: Mar 2002
Ort: Lüneburger Heide
Beiträge: 102
Kawakima ist zur Zeit noch ein unbeschriebenes Blatt
Kawakima eine Nachricht über ICQ schicken
Standard Zeitausgabe macht Probleme!

Hallo,
ich habe ein Problem mit einer MySQL Zeitausgabe. Die umformatierung vom timestamp ist kein Problem, aber die Ausgabe.
Ich erstelle gerade eine neue Newssite für eine Community:
http://www.playstation2-games.de/ind...ion=startseite

Das Problem seht ihr bei den Site News. Die erste News wird richtig angezeigt auch mit dem entsprechenden Datum. Aber danach wird immer nur die 2. News und das Datum der 1. news angezeigt. Sehr komisch.
Hier ist der Code für die Sitenews:


PHP-Code:
$abfrage="SELECT * from allnews where cat='Sitenews' ORDER BY `id` DESC";
$ergebnis=mysql_query($abfrage);
echo
"<center>Aktuelle News</center><br>";
 
$count=0;   
 while((
$row mysql_fetch_array($ergebnis)) and ($count<=4)) 
  {
   
$count++;
echo
"-&gt; <a href=\"?action=allnews&do=show&id=".$row['id']."\">";
  
   echo 
$row['headline'];
echo
"</a>";
echo
"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#CCCCCC\">(";
echo 
date("d M Y",mysql_result($ergebnis0"timestamp"));
    echo
")</font><br><br>";
  } 
Ganz untern das mit der Zeit. Wo liegt da der Fehler???
Bitte um schnelle Hilfe
Ciao
Michael
Mit Zitat antworten
  #2 (permalink)  
Alt 01-07-2003, 11:16
mister_x1
 Member
Links : Onlinestatus : mister_x1 ist offline
Registriert seit: Nov 2002
Ort: Weimar
Beiträge: 474
mister_x1 ist zur Zeit noch ein unbeschriebenes Blatt
mister_x1 eine Nachricht über ICQ schicken
Standard

hmm, ich weiß jetzt nicht so genau, vielleicht liegts an der null.
ich persönlich arbeite lieber mit datetime fields, ist komfortabler.
__________________
musse rühre, musse probiere=>iss a pulsgeber !
Mit Zitat antworten
  #3 (permalink)  
Alt 01-07-2003, 11:19
Kawakima
 Junior Member
Links : Onlinestatus : Kawakima ist offline
Registriert seit: Mar 2002
Ort: Lüneburger Heide
Beiträge: 102
Kawakima ist zur Zeit noch ein unbeschriebenes Blatt
Kawakima eine Nachricht über ICQ schicken
Standard

Wie würde der codeabschnitt denn mit datetime fields aussehen?
Was ist denn an der Null falsch?? Wüsste nix.

Achja am besten in so einem Format:
z.B.
Mo. 12:45

Ciao
Michael
__________________
Ich weiß was RTFM bedeutet und nutze es auch, aber ab und zu muss ich auch mal was posten

Geändert von Kawakima (01-07-2003 um 11:23 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 01-07-2003, 11:32
mister_x1
 Member
Links : Onlinestatus : mister_x1 ist offline
Registriert seit: Nov 2002
Ort: Weimar
Beiträge: 474
mister_x1 ist zur Zeit noch ein unbeschriebenes Blatt
mister_x1 eine Nachricht über ICQ schicken
Standard

datetime hat default-mässig diesen eintrag:0000-00-00 00:00:00, so musst du auch beim insert übergeben.
ausgabe:
PHP-Code:
DATE_FORMAT(datum,'%Y-%m-%d')datum 
warum willst du plötzlich tag und uhrzeit stehen haben, da nimmst du date(), ansonsten wie oben.
__________________
musse rühre, musse probiere=>iss a pulsgeber !
Mit Zitat antworten
  #5 (permalink)  
Alt 01-07-2003, 11:37
Kawakima
 Junior Member
Links : Onlinestatus : Kawakima ist offline
Registriert seit: Mar 2002
Ort: Lüneburger Heide
Beiträge: 102
Kawakima ist zur Zeit noch ein unbeschriebenes Blatt
Kawakima eine Nachricht über ICQ schicken
Standard

naja das oben war ein test ob es richtig ausgelesen wird.
Ich bin bei Zeiten noch ziemlich unerfahren, und da ich bis vorhin dachte die date funktion etwas zu können, hatte ich erstmal benutzt.

Ich bekomme das irgendwie nicht hin...

PHP-Code:
echo"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=\"#CCCCCC\">(";
echo 
date("d M Y",mysql_result($ergebnis0"timestamp"));
    echo
")</font><br><br>"
Wo binde ich da dein

PHP-Code:
DATE_FORMAT(datum,'%Y-%m-%d')datum 
ein??
__________________
Ich weiß was RTFM bedeutet und nutze es auch, aber ab und zu muss ich auch mal was posten
Mit Zitat antworten
  #6 (permalink)  
Alt 01-07-2003, 11:39
dirk
 Newbie
Links : Onlinestatus : dirk ist offline
Registriert seit: Nov 2001
Beiträge: 51
dirk ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das liegt meiner Meinung daran, das mysql_result() in einer while-schleife nicht automatisch auf das nächste Ergebnis gesetzt wird, wenn Du mit '0' arbeitest.

Möglichkeiten:

Frage die Zeit gleich so ab:
PHP-Code:
SELECT id as idheadline as headlineDATE_FORMAT(timestamp,'%d.%m.%Y') as zeit ... 
Und dann ein mysql_fetch_assoc.

Oder:

Mach eine Funktion, die die Zeit zurückgibt, die Du aus der Schleife aufrufst.

Oder:
Informier Dich über die Funktionsweise von mysql_data_seek();

Aber du hast noch ganz andere Probleme:

Du machst einen SELECT * statt 'SELECT id as id, headline as headline, timestamp as timestamp...'. Das kann bei Änderungen in der Datenbank einige Probleme machen und ist auch ziemlich unperformant. Timestamp ist auch ein unpassender Feldname, schließlich ist das ein Datenformat, das bringt schnell mal Unklarheiten rein.

Dann kannst Du auch ein mysql_fetch_assoc machen, das Array ist also deutlich kleiner, weil nicht alles doppelt drin ist (numerisch und assoz.).
Mit Zitat antworten
  #7 (permalink)  
Alt 01-07-2003, 11:46
mister_x1
 Member
Links : Onlinestatus : mister_x1 ist offline
Registriert seit: Nov 2002
Ort: Weimar
Beiträge: 474
mister_x1 ist zur Zeit noch ein unbeschriebenes Blatt
mister_x1 eine Nachricht über ICQ schicken
Standard

@dirk:
weicht zwar jetzt ab, aber warum soll es besser seine daten gleich mit bezeichnung abzurufen als diese in der while schleife zu benennen?
und welche problem soll das bei einem update bringen?
__________________
musse rühre, musse probiere=>iss a pulsgeber !
Mit Zitat antworten
  #8 (permalink)  
Alt 01-07-2003, 11:55
dirk
 Newbie
Links : Onlinestatus : dirk ist offline
Registriert seit: Nov 2001
Beiträge: 51
dirk ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also bei mir ist diese mysql-basierte Variante deutlich schneller. Ich bekomme den php-Parser schnell in die Knie, mysql aber kaum.

Und das andere: Ich weiß dann einfach, wo ich hingehen muß, wenn ich was ändere. Du kannst ja hunderte Schleifen für irgendwelche Ausgaben haben, die letztlich aber alle auf dieser einen * - Abfrage aufsetzen.
Also irgendwann hat die Tabelle vielleicht 30 Felder. Du fragst aber nur nach den dreien. Da finde ich es reichlich unperformant, sinnlose Daten aus weiteren 27 Feldern durchzujagen und dann auch noch in mixed-arrays zu überführen.
Oder: Du löscht mal ein Feld oder änderst es. Dann mußt Du alle Schleifen durchsuchen. Könntest aber es aber auch in einer konkreten Abfrage einmal anpassen. Die * - Methode sieht immer erstmal bequem aus. Ich weiß aber aus leidvoller Erfahrung, daß sie es nicht ist.
Mit Zitat antworten
  #9 (permalink)  
Alt 01-07-2003, 12:00
mister_x1
 Member
Links : Onlinestatus : mister_x1 ist offline
Registriert seit: Nov 2002
Ort: Weimar
Beiträge: 474
mister_x1 ist zur Zeit noch ein unbeschriebenes Blatt
mister_x1 eine Nachricht über ICQ schicken
Standard

naja, da muss ich wohl widersprechen. wir gehen ja davon aus, daß meherer datensätze gezogen werden, bei einem brauchst du ja eh keine schleife, also warum soll es schneller sein die daten beim select zu benennen, wenn ich das auch in der schleife machen kann, welche ich eh brauche um meine daten darzustellen?
und beim update oder löschen spreche ich ja eh direkt die betroffenen daten an und brauch da gar keine schleife, das hat dohc damit gar nichts zu tun.
__________________
musse rühre, musse probiere=>iss a pulsgeber !
Mit Zitat antworten
  #10 (permalink)  
Alt 01-07-2003, 12:06
dirk
 Newbie
Links : Onlinestatus : dirk ist offline
Registriert seit: Nov 2001
Beiträge: 51
dirk ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Geschmackssache, denk ich.
Aber in Sachen 27 : 3 wirst Du mir Recht geben, hoffe ich... Und auch, daß für die Operationen hier ein mixed-Array nicht nötig ist, ich rechne die unnötigen Bytes dafür jetzt nicht aus...
Und eins noch: Bei den News, die ich auf der Seite da gesehen hab, ist die Schleife garantiert nur einmal durchgelaufen...
Mit Zitat antworten
  #11 (permalink)  
Alt 01-07-2003, 12:09
Kawakima
 Junior Member
Links : Onlinestatus : Kawakima ist offline
Registriert seit: Mar 2002
Ort: Lüneburger Heide
Beiträge: 102
Kawakima ist zur Zeit noch ein unbeschriebenes Blatt
Kawakima eine Nachricht über ICQ schicken
Standard Wie ? Was ? Wer?

Oh man, eine theorie-Bombe
Wie Yoda sagen würde: Noch viel lernen du must!

Aber zurück zum Thema.
Wie müsste ich eurer Meinung nach diesen Code verfassen damit er schnell und einfach geht und natürlich auch die Zeitangane enthält??
__________________
Ich weiß was RTFM bedeutet und nutze es auch, aber ab und zu muss ich auch mal was posten
Mit Zitat antworten
  #12 (permalink)  
Alt 01-07-2003, 12:10
mister_x1
 Member
Links : Onlinestatus : mister_x1 ist offline
Registriert seit: Nov 2002
Ort: Weimar
Beiträge: 474
mister_x1 ist zur Zeit noch ein unbeschriebenes Blatt
mister_x1 eine Nachricht über ICQ schicken
Standard

richtig, geschmackssache! bei dem anderen punkt gebe ich dir klar recht.
so geklärt.
was macht eigentlich kawakima, weiter gekommen?
__________________
musse rühre, musse probiere=>iss a pulsgeber !
Mit Zitat antworten
  #13 (permalink)  
Alt 01-07-2003, 12:14
dirk
 Newbie
Links : Onlinestatus : dirk ist offline
Registriert seit: Nov 2001
Beiträge: 51
dirk ist zur Zeit noch ein unbeschriebenes Blatt
Standard

So gehts:

Du definierst Deine Query (s.o.) am besten mit dem DATE_FORMAT.
Du führst Dein Array zusammen.
Du machst die Ausgabe.
Alles, was Du an Code brauchts, hast Du selbst schon da bzw. steht hier oben drüber.
Mit Zitat antworten
  #14 (permalink)  
Alt 01-07-2003, 12:57
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von dirk
Das liegt meiner Meinung daran, das mysql_result() in einer while-schleife nicht automatisch auf das nächste Ergebnis gesetzt wird, wenn Du mit '0' arbeitest.
na so'ne überraschung ... zitat manual:
"mixed mysql_result ( resource Ergebnis-Kennung, int Datensatz [, mixed Feld])"

int Datensatz, nummer des datensatzes - dass das bei 0 immer der gleiche bleibt, sollte auch dem letzten höhlenmenschen einleuchten.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #15 (permalink)  
Alt 01-07-2003, 13:07
dirk
 Newbie
Links : Onlinestatus : dirk ist offline
Registriert seit: Nov 2001
Beiträge: 51
dirk ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich schätze Deine ganz besondere Art von Höflichkeit so sehr... Wirklich. Erfrischend.
Mich irritiert nur immer, wenn ich als "Newbie" sowas beantworte gegenüber einem "JuniorMember", weil es sonst niemand macht...
Read The Fucking Manual. Mach ich zu meiner Signatur. Jetzt.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

WYSIWYG Editor

WYSIWYG Editor zum Einbinden in PHP Scripte.

21.10.2019 Stephan_1972 | Kategorie: PHP/ WYSIWYG
Newsmanager

Der Newsmanager ist ein Newssystem und Newsletter in einem. Mit WYSIWYG Editor und E-Mail import aus einer bestehenden MySql Datenbank sowie dynamische Kategorien / Themen Filter.

11.09.2019 Stephan_1972 | Kategorie: PHP/ News
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

11.09.2019 Stephan_1972 | Kategorie: PHP/ Webservice
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:26 Uhr.