WinFuture-Forum.de: Von Festem Datum Den Tagx Berechnen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Von Festem Datum Den Tagx Berechnen


#1 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.117
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 10. Juli 2008 - 13:49

Hallo,
ich schreibe gerade an einem Online Tagebuch für einen Freund der 1 Jahr ins Ausland geht.

Er hat die möglichkeit jeden Tage einen Eintrag zu machen.
Diese Einträge sind in Mysql nach ID geordnet welche dann in HTML Als Tag fungiert!

Nun ist das Menü zum Beitrag eintragen dran und da komm ich zu meiner Frage!
Wenn er nun einen Eintrag machen will müsste er eintragen welcher Tag es ist.
Es wäre aber blöd wenn er jedesmal den Tag neu ausrechen müsste, wenn er mal hier und da einen Eintrag nicht gemacht hat.

Da würde ich gerne per Datum ermitteln wenn er den Beitrag schreibt welcher Tag ist.
Der Start soll am 22.07.08 sein und geht ca ein Jahr.

Wie kann ich denn nun die Tage berechnen dass es auch mit 30 bzw 31 Tagen richtig läuft?
hier das Format:
$start="22.07.08";
$now
= date("d.m.y");


Gruß,
Toasterfraktion

Dieser Beitrag wurde von Toasterfraktion bearbeitet: 10. Juli 2008 - 13:59

0

Anzeige



#2 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 10. Juli 2008 - 14:24

So, ich habe mal ein Skript zu Zeitdifferenzen in PHP geschrieben. Damit die Zeit auch passt, habe ich die Timezone auch verändert. Ich habe das Zielland von deinem Bild aus als Ecuador angenommen. :(

<?php

putenv
("TZ=America/Guayaquil"); //Ecuador Zeitzone, damit Uhrzeit stimmt. America/Guayaquil (GMT-5)

$start
= mktime(0,0,0,7,22,2008);       // 22.07.2008, 0:00 Uhr
$time_diff
= time() - $start;           // Aktueller Timestamp - Timestamp von 22.07.2008, 0:00 Uhr

$tag
= floor($time_diff / (3600*24)); // Anzahl der vollen Tage, die zwischen den beiden Timestamps liegen.

echo date
('d.m.Y - H:i:s').' Tag: '.$tag;

?>


Gruß,
Stefan
0

#3 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.117
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 10. Juli 2008 - 14:44

Hey, dass ist ja das kann ich gebrauchen und du lagst nur wenig daneben, es ist Kolumbien, aber dies ist ja sowieso eine Zeitzone!

Aber wenn nun deutsche Die Seite besuchen wird dort doch auch die Zeitzone genommen.
Ich würde da dann gerne eine gegenüberstellung machen.
Ich könnte ja erst das Datum, Zeit usw von DE ausrechnen und danach die Zeitzone umstellen um von Kolumbien die Zeit usw auszurechnen! Aber wo wir schon gleich schon dabei sind frage ich mich ob man die Zeitzone auch wieder zurücksetzten kann oder muss man sie einafch überschreiben?
0

#4 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 10. Juli 2008 - 15:29

Je nachdem, welche Zeitzone aktuell gesetzt ist, so wird mit den Datumsangaben umgegangen. Du kannst sie mit getenv() auslesen und mit putenv() beliebig ändern.

<?php

$tz
= getenv('TZ');     // aktuelle Zeitzone speichern

echo getenv
('TZ').': '.date('d.m.Y - H:i:s');
echo
'<br />';

putenv
('TZ=America/Bogota');    //Kolumbien-Zeitzone

echo getenv
('TZ').': '.date('d.m.Y - H:i:s');
echo
'<br />';

putenv
('TZ='.$tz);      // Wieder auf ursprüngliche Zeitzone setzen

echo getenv
('TZ').': '.date('d.m.Y - H:i:s');

?>


Gruß,
Stefan
0

#5 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.117
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 10. Juli 2008 - 15:56

Okay, danke.

Dieser Beitrag wurde von Toasterfraktion bearbeitet: 10. Juli 2008 - 17:38

0

#6 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.117
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 10. Juli 2008 - 17:42

Hab noch ein paar Fragen:
1.
Warum kann ich kein addslashes in einer whileschlefe benutzen? Der String kommt aus der Datenbank!
$abfrage = "SELECT * FROM tabelle WHERE status=1 ORDER BY id DESC LIMIT $start, $eintraege_pro_seite";
$ergebnis
= mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
       
{
        $text
=$row->text;
        $text
=str_replace(' ','',$text);
        $text
=strlen($text);
        $content
= addslashes($row->text); // Das heir geht nicht.
       
echo
"[...]".$content."[...]";

   
}


Ich kann auch kein trim() benutzen. Das ist mir erst aufgefallen las ich die Zeichen zählen wollte. Ich wole die leerzeichen rauslassen aber trim() hat versagt!

2. Man sieht oft auf RSS-Feed Seiten "tags" oder eine Tag-Cloud:
Eingefügtes Bild
Ich gehe mal davon aus dass die jeweilige Seite interessanter für Suchmaschinen ist.
Wie muss ich die tags im Quelltext platzieren damit es zur erhoffetn wirkung kommt?
Idt da was zu beachten? Wie muss ich sie aufbauen?


gruß,
Toasterfraktion
0

#7 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 10. Juli 2008 - 18:14

addslashes() macht meiner Meinung nach hier auch keinen Sinn, du brauchst doch wenndann stripslashes().
trim() entfernt nur Whitespaces/Zeichen am Anfang und am Ende der Strings, nicht mittendrin. Falls du doppelte Leerzeichen entfernen willst, dann bietet sich folgender Code an:
$text = str_replace('  ', ' ',trim($text));

Wenn du nur die Anzahl der getippten Zeichen (ohne Leerzeichen) willst, dann bietet sich folgendes an:
$anzahl_zeichen = strlen(trim(str_replace(' ','',$text)));
Mit str_word_count() kann man übrigens auch noch die Wörter zählen.

Tags oder Schlagworte dienen in erster Regel dazu, um schneller Gleiches zu finden und Beiträge in gewisse Kategorien zu sortieren. Das hat so generell noch nichts mit Suchmaschinen zu tun. Beschreibe doch mal genauer, was du meinst.

Gruß,
Stefan
0

#8 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.117
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 10. Juli 2008 - 20:18

Ich dachte durch die Schlagwörter wird die Seite interessanter für eine Suchmaschine aber ich habe mir mal ein par tags angeschaut, da habe ich gesehn dass es sich wirklich um Kategorien handelt. :-)

Zitat

$text = str_replace(' ', ' ',trim($text));

Das haeb ich schon benutzt, komem auch mit klar aber ich komem nciht damit klar die absätze zu löschen.
ich spreche nicht von <br> oder <p> sondern von \n!

Ich möchte wirklich nur alle Buchstaben zählen, Absätze und Leerzeichen nicht!

Dieser Beitrag wurde von Toasterfraktion bearbeitet: 10. Juli 2008 - 20:23

0

#9 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 10. Juli 2008 - 20:31

Um alle regelmäßig vorkommenden Whitespaces zu entfernen, fällt mir z.B. sowas ein:
$text = str_replace(array(' ',"\n", "\r", "\t", "\o"), '', strip_tags(trim($text)));

Gruß,
Stefan
0

#10 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.117
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 10. Juli 2008 - 20:48

$chars = str_replace(array(' ',"\n", "\r", "\t", "\o"), '', strip_tags(trim($row->tex)));

Klappt bei mir nicht, er gibt nichts aus!
0

#11 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 10. Juli 2008 - 20:51

Beitrag anzeigenZitat (Toasterfraktion: 10.07.2008, 21:48)

$chars = str_replace(array(' ',"\n", "\r", "\t", "\o"), '', strip_tags(trim($row->tex)));

Klappt bei mir nicht, er gibt nichts aus!


$row->tex soll wahrscheinlich $row->text heißen, oder?
0

#12 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.117
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 10. Juli 2008 - 21:12

Hm, na klar! :-) Ich versteh gar nciht dass ich die einfachsten Schreibfehler übersehe, aber ein driter sieht sie dann sofort!

Danke, jetzt hat sich soweit alles geklärt!

Gruß,
Toasterfraktion
0

#13 Mitglied ist offline   ps915 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.117
  • Beigetreten: 17. Mai 07
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 11. Juli 2008 - 14:26

Habe ein MySQL Problem. Bin noch nicht so sicher in SQL aber ich versteh es nicht. Scheint wohl irgendwas im Syntax zu sein.
Angehängtes Bild: sql.JPG

Habe folgenden Code:
$update = "UPDATE diary_text Where id=".$bid." SET
 text= '"
.$_POST['beitrag']."',
 tag= '"
.$_POST['tag']."',
 status= '"
.$_POST['status']."'";
 echo $update
;
 mysql_query
($update);
 echo
"Der Eintrag wurde erfolgreich gespeichert!";

Und hier die Ausgabe von echo $update;.
UPDATE diary_text Where id=1 SET  text= 'Hallo,  Dies ist ein Testeintrag',  tag= '1',  status= '1'


Was ist denn hier falsch? Die Fehlermeldung von oben kommt mir auch irgendwie spanisch vor, da ext zu TEXT und gelb geworden ist.

EDIT:
habe es nun selber gelöst. Habe mir nochmal den Syntax angeschaut, jetzt klappt es.
[coe]UPDATE diary_text SET text='Die ist nochmal ein komischer Texteintrag!!!', tag='4', status='1' WHERE tag=4[/code]

Gruß,
Toasterfraktion

Dieser Beitrag wurde von Toasterfraktion bearbeitet: 11. Juli 2008 - 15:12

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0