Input type als Text und Date Format
Ich stehe hier etwas auf dem Schlauch:
Ich möchte in diesem Feld(zur Zeit "Text") auch nach einem deutschen Datum suchen, nur nimmt er hier immer das englische Format YYYY-MM-DD. Dann ist die Suche auch erfolgreich.
Dies ist mir auch klar. Im Textfeld nimmt er die Formatierung aus MySQL.
Ändere ich das Feld in "Date" funktioniert auch die Suche im deutschen Format (d.m.Y). Das Datum ist als 'date' in MySQL angelegt.
Das Suchfeld soll aber Text und das deutsche Datum nehmen, da über dieses Feld verschiedene Formen an Suchen stattfinden sollen.
Mit zwei Suchfeldern habe ich es probiert, geht auch, aber um es so einfach wie möglich zu machen, würde ich gerne nur ein Suchfeld benutzen.
Gibt es so ein Kombifeld? In meinen Recherchen war ich leider nicht erfolgreich.
Und dann gibt es noch ein kleines Problem. Die Sortierung nach Datum funktioniert hier nicht. $limit gibt die Anzahl der Datensätze pro Seite zurück.
Ich bitte um eure Hilfe.
<div class="post-search-panel">
<input type="text" id="keywords" placeholder="Suche..." onkeyup="searchFilter();"/>
<input id="reload" type="button" value="Neue Suche" onclick="javascript:location.reload();" />
<select id="sortBy" onchange="searchFilter();">
<option value="">Nach Datum sortieren</option>
<option value="asc">Aufsteigend</option>
<option value="desc">Absteigend</option>
</select>
</div>
Ich möchte in diesem Feld(zur Zeit "Text") auch nach einem deutschen Datum suchen, nur nimmt er hier immer das englische Format YYYY-MM-DD. Dann ist die Suche auch erfolgreich.
Dies ist mir auch klar. Im Textfeld nimmt er die Formatierung aus MySQL.
Ändere ich das Feld in "Date" funktioniert auch die Suche im deutschen Format (d.m.Y). Das Datum ist als 'date' in MySQL angelegt.
Das Suchfeld soll aber Text und das deutsche Datum nehmen, da über dieses Feld verschiedene Formen an Suchen stattfinden sollen.
Mit zwei Suchfeldern habe ich es probiert, geht auch, aber um es so einfach wie möglich zu machen, würde ich gerne nur ein Suchfeld benutzen.
Gibt es so ein Kombifeld? In meinen Recherchen war ich leider nicht erfolgreich.
Und dann gibt es noch ein kleines Problem. Die Sortierung nach Datum funktioniert hier nicht. $limit gibt die Anzahl der Datensätze pro Seite zurück.
$query = $db->query("SELECT DATE_FORMAT(Datum, '%d.%m.%Y') AS Datum
FROM table ORDER BY Datum ASC LIMIT $limit");
Ich bitte um eure Hilfe.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 579843
Url: https://administrator.de/forum/input-type-als-text-und-date-format-579843.html
Ausgedruckt am: 17.04.2025 um 04:04 Uhr
4 Kommentare
Neuester Kommentar
Hallo,
das ganze lässt sich in einem Feld abbilden, indem du anhand von Regular Expressions überprüfst, was dein Suchbegriff sein könnte.
bei deiner Sortierung musst du natürlich das sortBy Flag auswerten und dementsprechend deine qry anpassen
das ganze lässt sich in einem Feld abbilden, indem du anhand von Regular Expressions überprüfst, was dein Suchbegriff sein könnte.
$date="01.01.2020";
if (preg_match("/^(0[1-9]|1[0-2])\.(0[1-9]|[1-2][0-9]|3[0-1])\.([0-9]{4})$/",$date)) {
// Suche nach Datum
} else {
// Suche nach Text
}
bei deiner Sortierung musst du natürlich das sortBy Flag auswerten und dementsprechend deine qry anpassen
var sort = $sortBy === 'asc' ? 'ASC' : 'DESC';
$query = $db->query("SELECT ..... ORDER BY Datum $sortBy LIMIT $limit");