SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #11  
Alt 10.03.2005, 12:17:22
AlexD AlexD ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 186
AW: Datum in DB, danach sortieren

Das mit dem $jahr in der WHERE-Abfrage funktioniert super.

Bin leider noch auf ein Problem gestoßen!
Möchte mir das Datum nun so Formatieren:

z.B. 12. Mai

Dazu zerlege ich es in der while-schleife mit explode und dann weise ich über switch den Monatsnamen zu.
Funktioniert auch soweit, nur August und September wollen einfach nicht!

Das Datum in der Klammer ist das Formatierte, das leider nicht immer mit dem korrekten übereinstimmt.

Oder sollte man es so nicht machen?

PHP-Code:
// wenn Datensätze gefunden wurden
if (mysql_affected_rows($db)>0)
{
while(
$rows mysql_fetch_array($result)) {

            switch (
$rows['erledigt']){
                case 
0$erl ''; break;
                case 
1$erl "<img src="./images/ready_big.jpg" width="15" height="15">"; break;
            }
            
$datum1 $rows['datum'];
            
$datum2 explode("-"$datum1);
            switch (
$datum2[1]) {
             case 
01 $monat 'Jan.'; break;
             case 
02 $monat 'Feb.'; break;
             case 
03 $monat 'Mrz.'; break;
             case 
04 $monat 'Apr.'; break;
             case 
05 $monat 'Mai';  break;
             case 
06 $monat 'Juni'; break;
             case 
07 $monat 'Juli'; break;
             case 
08 $monat 'Aug.'; break;
             case 
09 $monat 'Sept.'; break;
             case 
10 $monat 'Okt.'; break;
             case 
11 $monat 'Nov.'; break;
             case 
12 $monat 'Dez.'; break;
         }

$ausgabe .= <<<code
          <tr bgcolor="#000000">
            <td width="3%">&nbsp;</td>
            <td width="72%"><img src="./images/pfeil.gif" width="9" height="15">&nbsp;
               
{$rows['date']} ($datum2[2]. $monat) &nbsp;&nbsp;{$rows['lokation']}  {$rows['ort']} $erl</td>
            <td width="25%">&nbsp;</td>
          </tr>

code;
     }


Wenn es nicht gehen sollte, dann muß es auch so genügen schön wärs halt.

Gruß
Alex

Geändert von AlexD (11.03.2005 um 01:42:32 Uhr)
Mit Zitat antworten
  #12  
Alt 10.03.2005, 16:03:48
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Datum in DB, danach sortieren

hi, so müsste es klappen.

PHP-Code:
//...
setlocale(LC_TIME"de_DE");
while(
$rows mysql_fetch_array($result)){
           
$erl $rows['erledigt'] == '' '<img src="./images/ready_big.jpg width="15" height="15">';

           
$datum explode("-"$rows['datum']);
           
$date strftime("%d.%m (%d. %b)"mktime(000,$datum[1], $datum[2], $datum[0]));

$ausgabe .= <<<code 
          
<tr bgcolor="#000000"
            <
td width="3%">&nbsp;</td
            <
td width="72%"><img src="./images/pfeil.gif" width="9" height="15">&nbsp
               
$date &nbsp;&nbsp;{$rows['lokation']}  {$rows['ort']} $erl</td
            <
td width="25%">&nbsp;</td
          </
tr

code;
//... 
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #13  
Alt 11.03.2005, 00:11:52
AlexD AlexD ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 186
AW: Datum in DB, danach sortieren

Hallo Coding,

ja so klappt es.
setlocale(LC_TIME, "de_DE"); <-- für deutsche Abkürzungen (Dez. Mai...)? Die sind bei mir in englisch (Dec, May..) aber das ist nicht tragisch und sollte nicht stören. Ich glaub das ist auch korrekt so, denn ich hab mal Finnisch "fi" ausprobiert und dann kommts auch finnisch, glaub ich zumindest kann nämlich kein finnisch! *gg*

$date = strftime("%d.%m (%d. %b)", mktime(0, 0, 0,$datum[1], $datum[2], $datum[0]));

könntes Du mir noch kurz erleutern warum meine Version nicht so toll klappt und vielleicht wie das bei Deiner Version umgesetzt wird.

Mal meine Interpretation Deiner Lösung:
strftime("%d.%m (%d. %b)" <= formatierung des Datums
)", mktime(0, 0, 0,$datum[1], $datum[2], $datum[0])); <= Das Array von explode wieder zu einem Datzum zusammenfügen (m:d:Y) seh ich das richtig.

Nur markieren einfügen und sehn das es geht, und gar nicht wissen warum is ned das Ideal ich versuch schon zu verstehn.

Hm...weniger Code und funktioniert besser, dafür beneid ich Euch! ;-)
Mit Zitat antworten
  #14  
Alt 11.03.2005, 04:27:44
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Datum in DB, danach sortieren

hi AlexD!

zuerst, versuch mal bitte das:

setlocale(LC_ALL, 'de_DE@euro', 'de-DE', 'de', 'ge', 'de_DE.ISO_8859-1', 'German');

vielleicht klappt damit die deutsche ausgabe.


sicher kann ich die einige erklärungen geben:

setlocale sorgt dafür das du deutsche datumsausgaben hast, wenn strings ausgegeben werden. (wenn es denn funzt die scheiße.)


die anweisung (auch "ternary conditional operator" genannt):

$erl = $rows['erledigt'] == 0 ? '' : '<img src="./images/ready_big.jpg width="15" height="15">';

ist nur eine andere schreibweise für:

if($rows['erledigt'] == 0) $erl = '';
else $erl = '<img src="./images/ready_big.jpg width="15" height="15">';

ist halt nur kürzer.


warum, deine version nicht klappt, lässt sich einfach erklären. du hast den falschen datatype switched. du holst dir das datum als string aus der db und willst es nach dem explode als integer verarbeiten. kann vorkommen, dass php das etwas krumm sieht und rumzickt.
schon mal versucht aus dem zimmer zugehen ohne die tür zu öffnen?... :-)

an dem folgenden beispiel kannst du sehen, welchen datatyp du verwenden wolltest:
PHP-Code:
<?php
$datum 
'2005-07-12';
$parts explode('-'$datum);

foreach(
$parts as $part){
   if(
is_int($part)) print 'integer<br>';
   elseif(
is_string($part)) print 'string<br>';
   else print 
'anderer type<br>';
}
?>

nun zu dem codeteil:
strftime("%d.%m (%d. %b)", mktime(0, 0, 0,$datum[1], $datum[2], $datum[0]));

als ersten parameter übergibst du hier der funktion strftime das vorformatierte datum, bzw. die datumsformatierung die du am ende haben willst.
%d = tage im format 01-31
. = trenner :-)
%m = monat im format 01-12
( = rundeklammer auf :)
%b = gekürzter monatsname (Jan, Feb...)
) = rundeklammer zu ^_^

da strftime als zweiten parameter einen unixtimestamp erwartet musst du diesen erst mit mktime berechnen:

mktime(0, 0, 0, $datum[1], $datum[2], $datum[0])

mktime erwartet folgende parameter:
1. stunde
2. minute
3. sekunde
4. monat
5. tag
6. jahr
7. sommer-/winterzeit angabe

der 7. parameter ist optional, alle anderen kannst du durch eine 0 ersetzen, keiner der 6 parameter ist pflicht, setzt du alle auf 0, dann wird der aktuelle timestamp genutzt (hierfür ist aber time() besser geeignet). alle parameter von 1-6 die du mit 0 angibst, werden durch die aktuelle sekunde, minute, stunde bzw. durch den aktuellen monat, tag oder das aktuelle jahr ersetzt.

ich hoffe, das ist jetzt so in ordnung?
sorry noch mal, war ein wenig im streß beim posten :-)
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #15  
Alt 11.03.2005, 07:48:35
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Datum in DB, danach sortieren

Zitat:
Zitat von AlexD
Wie schreib ich das Datum am besten in die DB und frage/sortiere ich es danach am geschicktesten wieder ab?
http://dev.mysql.com/doc/mysql/de/da...ime-types.html
http://dev.mysql.com/doc/mysql/de/da...functions.html

Zitat:
Die Suche hat mir leider nicht weiterhelfen können.
Hier erhebt sich für mich die Frage, ob Du nicht suchen kannst oder das MySQL Handbuch inhaltlich nicht verstehst...
Mit Zitat antworten
  #16  
Alt 11.03.2005, 07:55:29
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Datum in DB, danach sortieren

Zitat:
Zitat von AlexD
Das Jahr hab ich nochmal extra in die DB schreiben lassen...
Handbuch lesen wird immer unmorderner. <grrrr>

Code:
SELECT 
  *, DATE_FORMAT(Datum, '%d.%m.%Y') AS date 
FROM 
  gigs 
WHERE 
  YEAR(Datum) = '$jahr' 
ORDER BY 
  datum ASC

Geändert von meikel (†) (11.03.2005 um 07:56:29 Uhr)
Mit Zitat antworten
  #17  
Alt 11.03.2005, 16:03:26
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Datum in DB, danach sortieren

Zitat:
Zitat von meikel
Handbuch lesen wird immer unmorderner. <grrrr>
Lesen und dann auch sofort wissen, wie man es richtig anwendet, sind trotz allem ja auch immer noch zwei verschiedene Dinge.
Mit Zitat antworten
  #18  
Alt 11.03.2005, 16:21:17
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Datum in DB, danach sortieren

zumal stehen im manual nur einige beispiele, aber nicht alle möglichen beispiele (wäre ja auch übertrieben). daher ist es doch normal, das man als anfänger noch zusätzliche fragen hat... oder meikel, ist dir alles in den schoß gefallen?
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #19  
Alt 11.03.2005, 16:27:01
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Datum in DB, danach sortieren

Zitat:
Zitat von |Coding
zumal stehen im manual nur einige beispiele, aber nicht alle möglichen beispiele (wäre ja auch übertrieben).
Trotzdem oder gerade deswegen wäre eine etwas übersichtlichere Strukturierung des Manuals (so wie php.net zum Beispiel) sehr wünschenswert.
Mit Zitat antworten
  #20  
Alt 11.03.2005, 17:22:30
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Datum in DB, danach sortieren

Zitat:
Zitat von xabbuh
Trotzdem oder gerade deswegen wäre eine etwas übersichtlichere Strukturierung des Manuals (so wie php.net zum Beispiel) sehr wünschenswert.
die mysql-doku ist in wirklich nicht sehr durchsichtig, wenn man nicht so oft damit arbeitet.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ordner auslesen und Dateien nach Datum sortieren Wauzy PHP für Fortgeschrittene und Experten 29 16.02.2006 14:10:25
nur Datensätze mit gleichem Datum anzeigen klaus-maus MySQLi/PDO/(MySQL) 1 28.02.2005 22:48:29
CMS-System mit Datum Claus MySQLi/PDO/(MySQL) 21 16.02.2005 21:51:10
DATUM start DATUM ende AND Termine inthemiddle daniel son PHP Grundlagen 21 21.07.2004 15:03:49
Datum sortieren drhoine PHP für Fortgeschrittene und Experten 6 01.03.2002 16:26:42


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:29:11 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt