Metallica
30-10-2001, 14:17
Hi Leuts!
Wenn ich richtig informiert bin, dann fügt 'ne sql-db jedesmal eine neue (fortlaufende) ID ein wenn ein neuer Datensatz erstellt wird.
Sieht zB so aus:
ID------USER
1-------Frank
2-------Jan
...
Jetzt zu meiner Frage:
Ist es möglich, die ID um die aktuelle Jahreszahl zu erweitern und dann über die ID mit php bestimmte Datensätze rauszufiltern???
Würde dann so aussehen:
ID-----USER
20011--Frank
20012--Jan
...
und warum machst nicht einfach ein zusätzliches VARCHAR(4)-Feld, in das du die aktuelle Jahreszahl hineinschreibst?
Metallica
30-10-2001, 15:50
weil ich gerne die fortlaufende id mit der jahreszahl gekoppelt hätte.
wenn ich ein zusätzliches feld mache, dann muss ich mit einer php-funktion die beiden variablen wieder zu einer zusammenfügen. diesen schritt wollte ich mir ersparen.
aber wenn's nicht anders geht, mach ich's halt so.
wollte nur mal explizit nachfragen.
SELECT concat(jahr,id) AS jahr_und_id
Damit kannst du den Schritt gleich in der Query erledigen.
Metallica
30-10-2001, 16:28
ähh, sorry Sky. Ich steh jetzt 'n bißchen auf der Leitung.
Ist das jetzt schon der php-befehl oder wie???
wenn die db aus den spalten
ID-----YEAR-----USER
1 -----2001-----Jan
2 -----2001-----Frank
....
besteht dann sollte meine php-variable $all den Inhalt "20011" bzw. "20012" ... haben.
D.h. dass ich vorher über php mit select die ID und YEAR in zwei Variablen speichern müßte und dann in der Variablen $all zusammenfassen müßte.
???
"gleich in der Query erledigen"
???
ok, also angenommen du möchtest $all für Frank. Das sieht dann in ausführlicher Schreibweise so aus:
$result = mysql_query("SELECT concat(year,id) AS jahr_und_id WHERE user='Frank'");
$data = mysql_fetch_array($result);
$all = $data["jahr_und_id"];
- Voilá!
Damit wir uns nicht falsch verstehen: concat() ist kein PHP, sondern ein SQL Befehl... Zwischen den beiden Sprachen musst du schon unterscheiden... PHP kennt ja auch kein SELECT ;)
Metallica
30-10-2001, 16:57
jaja, das ist schon klar, dass das keine php-befehle sind. wenn's aber so funkt wie du es beschrieben hast, dann sollte das reichen.
VIELEN DANK!