DB-Problem
DB-Problem
Hallo,
ich habe in einer DB, in einer Spalte Abkürzungen stehen. Nehmen wir an, in einem Datensatz steht "z.B.". Wenn ich jetzt den Datensatz per Script ausgeben möchte, soll nicht "z.B." sondern "zum Beispiel" ausgegeben werden. Wie kann ich sowas realisieren ?
ich habe in einer DB, in einer Spalte Abkürzungen stehen. Nehmen wir an, in einem Datensatz steht "z.B.". Wenn ich jetzt den Datensatz per Script ausgeben möchte, soll nicht "z.B." sondern "zum Beispiel" ausgegeben werden. Wie kann ich sowas realisieren ?
Hi,
also wenn deine Tabelle so aussieht:
abkuerzung | bedeutung
---------------------------------------------
z.B. | zum Beispiel
mfg | mit freundlichen Grüßen
... | ...
dann sollte folgendes funzen:
Gruß
Xmopf
also wenn deine Tabelle so aussieht:
abkuerzung | bedeutung
---------------------------------------------
z.B. | zum Beispiel
mfg | mit freundlichen Grüßen
... | ...
dann sollte folgendes funzen:
Code: Alles auswählen
$einString = "Irgendein Text, z.B. was total sinnloses... ";
echo $einString ."<br>";
$sqlString = "SELECT * FROM tabelle_abkuerzungen";
$sqlErgebnis = mysql_query($sqlString);
while($rowAbkuerzung = mysql_fetch_array($sqlErgebnis))
{
$einString = str_replace($rowAbkuerzung["abkuerzung"], $rowAbkuerzung["bedeutung"], $einString);
}
Xmopf
Hallo,
nicht ganz. Das würde zwar auch gehen, aber ich habe das jetzt etwas anders. Nehmen wir an die Tabelle sieht so aus:
Das soll heissen, das PSG im Viertelfinale ist. Jetzt soll aber nicht 1/4 ausgegeben werden sondern "Viertelfinale". Also die Bedeutung steht nicht in der DB. Muss ich da mit IF-Abfragen arbeiten ?
nicht ganz. Das würde zwar auch gehen, aber ich habe das jetzt etwas anders. Nehmen wir an die Tabelle sieht so aus:
Code: Alles auswählen
| Verein | Runde |
---------------------
| PSG | 1/4 |
Müssen nicht, aber können. Alternative wäre z.B. die switch-Anweisung von PHP.Condor hat geschrieben:Muss ich da mit IF-Abfragen arbeiten ?
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Du könntest auch eine Tabelle wie Xmopf sie beschrieben hat anlegen und dann direkt von der Datenbank die Langform generieren lassen:
Code: Alles auswählen
SELECT v.verein, a.langform
FROM vereine v, abkuerzungen a
WHERE a.abkuerzung = v.runde
@Pyramide:
gibt es eigentlich einen Vorteil deines SQL-Befehls gegenüber dem hier:
Ich wundere mich immer, wieso auf die JOINs so gerne verzichtet wird...
Gruß, Philipp
gibt es eigentlich einen Vorteil deines SQL-Befehls gegenüber dem hier:
Code: Alles auswählen
SELECT v.verein, a.langform
FROM vereine v INNER JOIN abkuerzungen a
ON a.abkuerzung = v.runde
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Ich finde JOIN eigentlich auch besser, weil man da a) definieren kann, welches die dominante Tabelle ist (LEFT JOIN / RIGHT JOIN) und b) leichter erkennt, daß es kein Filter, sondern eine Beziehung ist. Aber seit ich mal für Oracle schreiben musste (der kennt JOIN nicht) habe ich mir angewöhnt, Beziehungen mit WHERE zu schreiben.
In diesem Fall würde ich die Abfrage so wie du schreiben, aber mit LEFT JOIN, weil dann ein Verein auch angezeigt wird, wenn die Beziehung runde->abkuerzung nicht aufgelöst werden kann (weil die Abkürzung nicht eingetragen ist)
In diesem Fall würde ich die Abfrage so wie du schreiben, aber mit LEFT JOIN, weil dann ein Verein auch angezeigt wird, wenn die Beziehung runde->abkuerzung nicht aufgelöst werden kann (weil die Abkürzung nicht eingetragen ist)