Zeitraum speichern in MySQL, aber wie?

  • Themenstarter Themenstarter ByeBye 31659
  • Beginndatum Beginndatum
B

ByeBye 31659

Hallo,

ich möchte mehrere Zeiträume von Tagen, also sprich vom 12 - 15 März etc speichern.

Wie kann man sowas geschickt anstellen?

Bisher habe ich es als einfach als Varchar gemacht, bloß beim sortieren bei der Ausgabe, sortiert er nach dem ersten tag und nicht nach dem Monat.

Ich hänge mal eine Datei an um zu zeigen was ich meine.
Der dritte eintrag sollte eigentlich am Ende stehen, da Juli ja bekanntlich nach Juni kommt.

Kann mir da jemand helfen?
 

Anhänge

Original geschrieben von aquasonic
Wenn du es mit Varchar machst muss du es so anordnen JJJJMMTT und dann würde ich Integer nehmen
Theoretisch hast Du ja recht, aber damit lassen sich immer noch keine Zeiträume speichern.

Am sinnvollsten fände ich es, zwei Spalten anzulegen, eine für den Starttermin und eine für den Endtermin. Und die beiden Spalten wiederum als Spaltentyp datetime anlegen, womit Du beide Spalten sortieren kannst, wahlweise nach Tag, Monat und/oder Jahr.
 
Ja danke das mit den zwei Spalten und dem DateTime hatte cih mir auch schon gedahct bloß dann bei der Ausgabe mit php habe cih immer so ein format JJJJMMTT und ich hätte es gerne so TTMM weiß allerdings nicht wie cih das realisieren soll....

Könnt ihr mir das eventuell noch kurz erkären?
 
Mit Timestamp wäre es kein Problem...Ansonsten kannst du es so lösen:

PHP:
$TT = substr($date, 6, 2);
$MM = substr($date, 4, 2);
 
Original geschrieben von ExtremeSnail
Ja danke das mit den zwei Spalten und dem DateTime hatte cih mir auch schon gedahct bloß dann bei der Ausgabe mit php habe cih immer so ein format JJJJMMTT und ich hätte es gerne so TTMM weiß allerdings nicht wie cih das realisieren soll....

Könnt ihr mir das eventuell noch kurz erkären?
Also, entweder über PHP formatieren oder direkt gleich beim auslesen aus der Datenbank:

PHP:
$strSQL = "SELECT DATE_FORMAT(datetime_column,'%d%m') as datum FROM t_table";
http://www.mysql.com/doc/de/Date_and_time_functions.html
 
Ich plan das einfach nicht, ich bekomme das mit euren bisherigen Hinweisen nicht zum laufen.

Mein Code
Code:
<?
        $result = mysql_query("SELECT * FROM seminare WHERE Rubrik = 'Anwender' ORDER BY Seminarname");
        while($line = mysql_fetch_array($result))
        {
                echo $rows['Seminarname'];
                echo "<tr valign=top><td><a href = '".$line['Link']."'><b>".$line['Seminarname']."</b>&nbsp;-&nbsp;".$line['Untertitel']."</a></td>";
                echo "<td align = middle>".$line['Dauer']."</td>";
                echo "<td align=right>".number_format($line['Preis'], 2, ',', '.')."</td>";
                echo "<td align='right'>";
                $tmp = $line['ID'];
                $termine = mysql_query("SELECT DATE_FORMAT(von,'%d%m') as datum FROM termine2 WHERE ID = $tmp ORDER BY von");
				$rows = mysql_num_rows($termine);
				if ($rows == 0){
				echo "Termine auf Anfrage";
				}
				else{
                	 while($lineterm = mysql_fetch_array($termine)){
					 echo $lineterm['von'];	
				}
				}
                echo "</td></tr>";				
        }
?>

Ich habe in der Datenbank zwei Tabellen, eine mit den Hinweisen zu den Seminaren udn eine mit den Terminen, in der Tabelle mit den terminen gibt es zwei Spalten eine "von" und eine "bis" Spalte aber ich kann dir nicht formatieren beim auslesen bzw mache es falsch.

Wisst ihr warum?
 
Zurück