PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probelme mit der Sortierung


DJ_Mark
25.12.2003, 21:33:34
Hi ich bin neu und absolut noch unerfahren :(
Aber ich versuche mein bestes und code so vor mich hin !

Doch jetzt habe ich ein Prob was ich nicht gelöst bekomme.

Ich habe eine DB mit folgenden Feldern :

Datum ( habs einmal mit Date als auch mit Varchar versucht )
Veranstaltung ( Varchar )

Dazu gehören folgende Dateien :


<html>
<head>
<title> Avia Servicepark Lorenz Veranstaltungskalender</title>
</head>
<body>
<p><b><font face="Verdana">Veranstaltungen</font></b></p>
<hr>
<center>
<font lang="2" face="Tahoma" size="2" FAMILY="SANSSERIF">
<?php
$benutzer="root";
$passwort="";
$db="lorenz";
$link=mysql_connect( "localhost", $benutzer, $passwort);
if (!$link)
die ("Keine Verbindung zu MYSQL") ;
mysql_select_db($db, $link)
or die ("Konnte Datenbank "$db" nicht öffnen: ".mysql_error());
$ergebnis=mysql_query("Select * from domains SORT ORDER BY datum");
$anz_reihen=mysql_num_rows($ergebnis);
print "Zur Zeit stehen $anz_reihen Veranstaltungen zur Verfügung<p>";
print "<table border=1>n";

while ($datensatz=mysql_fetch_row($ergebnis))
{

print "<tr>n";
foreach ($datensatz as $feld)
print "t<td>$feld</td>n";
print "</tr>n";
}
print "</table>n";
mysql_close( $link);
?>
</body>
</html>

Das war die Abfrage

Die Eingabe sieht so aus :


<html>
<head>
<title> Veranstaltungskalender des Avia Serviceparks </title>
</head>
<body>
<center>
<h4>Adminstrationsbereich für die Kalendereingabe </h4>
<hr>
<center>
<?php
if ( isset ($Datum) &&isset( $Veranstaltung) && isset( $Datum))
{
// Überprüfe Benutzereingaben
$dberror="";
$ret=in_db_einfuegen ( $Datum, $Veranstaltung, $max, $dberror);
if(!$ret)
print "Fehler: $dberror<br>";
else
print "Vielen Dank für Ihre Daten";
}
else {
ausgabe_formular();
}

function in_db_einfuegen ($Datum, $Veranstaltung, &$dberror )
{
$benutzer="root";
$passwort="";
$db="lorenz";
$link=mysql_pconnect( "localhost", $benutzer, $passwort);

if(!$link)
{
$dberror="Keine Verbindung zur Datenbank";
return false;
}
if (!mysql_select_db($db, $link))
{
$dberror=mysql_error();
return false;
}
$anfrage="INSERT INTO domains ( Datum, Veranstaltung)
values( '$Datum', '$Veranstaltung')";
if (!mysql_query( $anfrage, $link ))
{
$dberror =mysql_error();
return false;
}
return true;
}

function ausgabe_formular()
{
global $PHP_SELF;
print "<form action="$PHP_SELF" method="POST">n";

print "Hier das Datum der Veranstaltung angeben :<br>( in folgender Schreibweise eingeben JJJJ-MM-TT ) <p>n";
print "<input type="text" name="Datum"><br><hr>";

print "Ihre Veranstaltung<p>n";
print "<input type="textarea" name="Veranstaltung"><br><br><hr>";




print "<input type="submit" value="Veranstaltung speichern">n</form><hr>n";
}
?>
</body>
</html>


Jetzt hätte ich bei der Abfrage es gerne, das sowohl das Datumsformat ( bei DATE ) wie folgt aussieht TT.MM.JJJJ SQL schreibt es ja so JJJJ.MM.TT

Wobei ich das auch schon hinbekommen habe, jedoch hab ich dabei ein Sortierungsproblem !

Wie bekomme ich es hin das das Datum in meiner Schreibweise da steht und wie bekomme ich es hin das er dieses richtig hinschreibt.

Antworten bitte idiotensicher schreiben und hier und da erklären warum wieso weshalb - man möchte ja mal was dazulernen. Damits beim nächsten Mal auch von alleine klappt :)

eastkay
31.12.2003, 14:57:19
Hi,
Ich hatte das gleiche Problem wie Du ung habe es so gelöst.

zuerst habe ich ein formular gebastelt mit eingabe feldern für den Tag, Monat und Jahr(Auswahlfeld für Jahr)

in der Sql Tabelle habe ich für´s Datum 2 Spalten 1.Spalte date (yyyy-mm-tt) 2.Salte Datum (text)
habe die Spalten mit Insertanweisung gefüllt.

insert into termin (id_term, date_term,datum_term, zeit_term, ort_term, bez_term, art_term)
values ('0','$array[jahr]-$array[monat]-$array[tag]','$array[tag].$array[monat].$array[jahr] ','$array[zeit] Uhr','$array[ort]','$array[bez]','$array[art]')";

denn ganzen code weiter unten.

wenn du deine Termine nach datun sortieren willst versuch es mal so.

select * from Tabname where (anweisung) order by date (Spalte mit Datum yyyy-mm-tt)

Ich hoffe es hilft dir weiter.
-------------------------------------------------------------------
Formular für eingabe
------------------------------------------------------------------
<form action="neu.php" method=post>
<table cool width="843" height="66" usegridx usegridy showgridx showgridy gridx="16" gridy="16" border="0" cellpadding="0" cellspacing="0">
<tr height="48">
<td width="832" height="48" align="left" xpos="0" content valign="top" csheight="44">
<div align="center">
<font size="6"><b><i>Neue Termine eingeben</i></b></font></div>
</td>
<td width="10" height="65" rowspan="2"></td>
<td width="1" height="48"><spacer type="block" width="1" height="48"></td>
</tr>
<tr height="17">
<td width="832" height="17" valign="top" align="left" xpos="0">
<hr color="#000000" width="832" size="1" noshade>
</td>
<td width="1" height="17"><spacer type="block" width="1" height="17"></td>
</tr>
<tr height="1" cntrlrow>
<td width="832" height="1"><spacer type="block" width="832" height="1"></td>
<td width="10" height="1"><spacer type="block" width="10" height="1"></td>
<td width="1" height="1"></td>
</tr>
</table>
<table cellspacing="5" cellpadding="0" width="738" border="0" height="233">
<tr height="25">
<td width="92" height="25"><font face="Times New Roman,Georgia,Times" color="black" size="3"><b><i>Datum </i></b></font></td>
<td width="631" height="25"><input type=text name="array[tag]" size="2"> <i><b>.</b></i><input type=text name="array[monat]" size="2"><b> <i>.</i></b><select name="array[jahr]" size="1">
<option selected>2004</option>
<option value="value">2005</option>
<option value="value">2006</option>
<option value="value">2007</option>
<option value="value">2008</option>
</select> <i>z.B. 01 (Tag) 01 (Monat)</i></td>
</tr>
<tr height="25">
<td width="92" height="25"><font color="black" face="Times New Roman,Georgia,Times" size="3"><b><i>Zeit</i></b></font></td>
<td width="631" height="25"><input type=text name="array[zeit]" size="13"> <i> z. B. 08:00 - 12:00 (<b>ohne Uhr</b>)</i></td>
</tr>
<tr height="25">
<td width="92" height="25"><b><i>Treffpunkt</i></b></td>
<td width="631" height="25" valign="top"><input type=text name="array[ort]" size="50"> </td>
</tr>
<tr height="25">
<td width="92" height="25"><b><i><font size="3">Beschreibung bzw. Ort</font></i></b></td>
<td width="631" height="25" valign="top"><input type=text name="array[bez]" size="50"></td>
</tr>
<tr height="31">
<td width="92" height="31"><font size="3"><i><b>Art</b></i></font></td>
<td width="631" height="31"><select name="array[art]" size="1">
<option selected>Arbeitseinsatz</option>
<option>Gemeinschaftsangeln</option>
<option>Veranstaltungen</option>
<option>Versammlung</option>
</select> <i>unbedigt ausw&auml;hlen sonst sind alle Termine Arbetieinsätze!!</i></td>
</td></tr>
<tr>
<td width="92"></td>
<td width="631"></td>
</tr>
<tr>
<td width="92"></td>
<td width="631"><input type="reset" value="Verwerfen" name="Löschknopf"> <font color="#33ccff">wwww<input type="submit" value="Speichern" name="Speichern"></font></td>
</tr>
</form>

-------------------------------------------------------------------
/* Datenübernahme aus dem Formular */
-------------------------------------------------------------------
$array["tag"] = trim ($array["tag"]);
$array["monat"] = trim ($array["monat"]);
$array["jahr"] = trim ($array["jahr"]);
$array["zeit"] = trim ($array["zeit"]);
$array["ort"] = trim ($array["ort"]);
$array["bez"] = trim ($array["bez"]);
$array["art"] = trim ($array["art"]);

$host = "localhost"; /*Severname*/
$user = "root"; //Benutzer//
$pass = ""; //Passwort//
$DBname = "thuringia"; //Datenbankname//


$openDB = mysql_connect($host, $user, $pass);


$query = "insert into termin (id_term, date_term,datum_term, zeit_term, ort_term, bez_term, art_term)
values ('0','$array[jahr]-$array[monat]-$array[tag]','$array[tag].$array[monat].$array[jahr] ','$array[zeit] Uhr','$array[ort]','$array[bez]','$array[art]')";

if (mysql_db_query ($DBname, $query, $openDB))
echo '<body bgcolor="#33ccff">
<p align="right"><a href="PHP_self"></a></p>
<center>
<h1><i>Termin wurde hinzugefügt</i></h1><br><br><br>
<a href=index.php"><b><i>Verwaltung</i></b></a><br><br>
<a href="termeingabe.php"><i>neuer Termin</i></a>' ;
else
echo '<body bgcolor="#33ccff">
<p align="right"><a href="$PHP_SELF"></a></p>
<center>
<h1><i>FEHLER !!! Termin wurde nicht hinzugefügt!</i></h1><br><br><br>
<a href="termeingabe.php"><i>neuer Termin>/i></a><br><br><br>' ;

mysql_close ($openDB);
?>insert into termin (id_term, date_term,datum_term, zeit_term, ort_term, bez_term, art_term)