Datensatz bis Komma fett ausgeben
Datensatz bis Komma fett ausgeben
am 05.01.2007 15:37:56 von Michael Leister
Hallo,
ja, der Betreff ist nicht das Gelbe vom Ei, allerdings fällt mir auch nichts
besseres ein.
Also, ich möchte, dass bei der Ausgabe in einer Tabelle ein Teil des
Datensatzes fett dargestellt wird. Es handelt sich um ein Wort mit
anschließendem Komma.
Konkret handelt es sich um eine Literaturdatenbank.
Wert im Feld "name" wäre "Leister, Michael"
Ausgabe "Leister, Michael"
Eine Trennung nach Name und Vorname scheidet aufgrund von Datensätzen mit
mehreren Autoren aus. Hier soll nur der erste Nachname angezeigt werden.
Beispiel:
Wert im Feld "name" wäre "Leister, Michael; Mustermann, Erika"
Ausgabe "Leister, Michael; Mustermann, Erika"
Vielen Dank für einen Hinweis oder Link.
Grüße
M.L.
Re: Datensatz bis Komma fett ausgeben
am 05.01.2007 15:54:07 von Johannes Vogel
Hi Michael
Michael Leister wrote:
> Also, ich möchte, dass bei der Ausgabe in einer Tabelle ein Teil des
> Datensatzes fett dargestellt wird. Es handelt sich um ein Wort mit
> anschließendem Komma.
> Konkret handelt es sich um eine Literaturdatenbank.
> Wert im Feld "name" wäre "Leister, Michael"
> Ausgabe "Leister, Michael"
> Eine Trennung nach Name und Vorname scheidet aufgrund von Datensätzen mit
> mehreren Autoren aus. Hier soll nur der erste Nachname angezeigt werden.
> Beispiel:
> Wert im Feld "name" wäre "Leister, Michael; Mustermann, Erika"
> Ausgabe "Leister, Michael; Mustermann, Erika"
Hier drei Varianten. Nach belieben zu erweitern. :-)
$feld = preg_replace('#^(.*?)(,.*)$#is', '\\1\\2', $feld);
$feld =
''.substr($feld,0,strpos($feld,',')-1).''.substr($feld,strpos($feld,','));
list($first,$second) = split(',', $feld);
$feld = "$first, $second";
HTH; Johannes
Re: Datensatz bis Komma fett ausgeben
am 05.01.2007 15:57:54 von Claus Reibenstein
Johannes Vogel schrieb:
> Michael Leister wrote:
>
>> Also, ich möchte, dass bei der Ausgabe in einer Tabelle ein Teil des
>> Datensatzes fett dargestellt wird. [...]
>
> Hier drei Varianten. Nach belieben zu erweitern. :-)
>
> $feld = preg_replace('#^(.*?)(,.*)$#is', '\\1\\2', $feld);
Wie kommst Du drauf, dass Michael eine PHP-Lösung sucht? Wir sind hier
nicht in de.comp.lang.php.datenbanken.
Gruß. Claus
--
,~°O O
O ,´ / |/|\
/ |¯`. Das neue Hochzeits-Branchenbuch im Internet ,´ / | |\
/__| `~...............................................~´ /___|/ /
Re: Datensatz bis Komma fett ausgeben
am 05.01.2007 15:57:55 von Andreas Kretschmer
Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)
Re: Datensatz bis Komma fett ausgeben
am 05.01.2007 15:58:06 von Heiko Richler
Hallo,
> Datensatz bis Komma fett ausgeben
Das Komma ist ein Zeichen in der Zeichenkette. Du musst also zunächst
das erste Komma finden:
http://www.php.net/manual/de/function.strpos.php
Die Position des Zeichens kannst Du nutzen um Teile der Zeichenkette zu
selektieren:
http://www.php.net/manual/de/function.substr.php
> Wert im Feld "name" wäre "Leister, Michael; Mustermann, Erika"
> Ausgabe "Leister, Michael; Mustermann, Erika"
Wenn Du doch mal alle Nachnamen haben möchtest könntest Du Dir dies noch
ansehen:
http://www.php.net/manual/de/function.explode.php
Gruß
Heiko
--
http://portal.richler.de/ Namensportal zu Richler
http://www.richler.de/ Heiko Richler: Computer - Know How!
http://www.richler.info/ private Homepage
Re: Datensatz bis Komma fett ausgeben
am 05.01.2007 15:59:12 von Andreas Kretschmer
Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)
Re: Datensatz bis Komma fett ausgeben
am 05.01.2007 16:01:50 von Johannes Vogel
Hi Claus
Claus Reibenstein wrote:
> Johannes Vogel schrieb:
>> Michael Leister wrote:
>>> Also, ich möchte, dass bei der Ausgabe in einer Tabelle ein Teil des
>>> Datensatzes fett dargestellt wird. [...]
>> Hier drei Varianten. Nach belieben zu erweitern. :-)
>> $feld = preg_replace('#^(.*?)(,.*)$#is', '\\1\\2', $feld);
> Wie kommst Du drauf, dass Michael eine PHP-Lösung sucht? Wir sind hier
> nicht in de.comp.lang.php.datenbanken.
Oups... Ich hab mich verguckt.. :-)
Also die anderen - halt in SQL umgeschrieben... :-)
Da Heiko ebenfalls PHP schrieb und Andreas mal wieder Postgres kramt,
mach ich mir die Mühe:
select concat('b', left(feld,locate(',',feld)-1), '',
right(feld,locate(',',feld))) as feld from Mytable;
HTH, Johannes
Re: Datensatz bis Komma fett ausgeben
am 05.01.2007 16:18:18 von Andreas Kretschmer
Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)
Re: Datensatz bis Komma fett ausgeben
am 05.01.2007 16:36:42 von Axel Schwenke
"Michael Leister" wrote:
> Hallo,
>
> ja, der Betreff ist nicht das Gelbe vom Ei, allerdings fällt mir auch nichts
> besseres ein.
>
> Also, ich möchte, dass bei der Ausgabe in einer Tabelle ein Teil des
> Datensatzes fett dargestellt wird. Es handelt sich um ein Wort mit
> anschließendem Komma.
>
> Konkret handelt es sich um eine Literaturdatenbank.
Ich sehe keinen großen Sinn darin, das mit einem SQL-Statement tun
zu wollen. Wenn da HTML bei rauskommen soll, wird es wohl eine PHP-
Anwendung sein. Mach die Formatierung also besser da (noch besser
mit einem Stylesheet und passenden logischen Tags).
Die zu erwartende REPLACE() Orgie könntest du nochmal deutlich
vereinfachen, wenn du deine Daten normalisieren würdest. Also eine
Tabelle für Autoren (mit Vorname, Nachname in getrennten Spalten).
Einer Tabelle für Bücher; einer Tabelle (buch_id, autor_id, sequence)
- das letzte Feld bestimmt, in welcher Reihenfolge mehrere Autoren
aufgelistet werden.
XL