Hallo Zusammen
Ich arbeite gerade an einem älteren Projekt weiter welches ich am ausbauen bin. Dabei habe ich eine Funktion erstellt, mit welcher Kategorien zu News-Beiträgen ausgewählt werden können. Dazu habe ich 3 Tabellen in der DB erstellt.
- news
- news_kat
- kat
Somit komme ich auf keine m:m Beziehung. Da ja jede News mehreren Kategorien zugeordnet werden kann. Soweit so gut, alles funktioniert Bestens. Zu meinem Verständnis wollte ich jedoch gerne erfahren, ob ich folgenden Teil optimieren könnte:
Ist es irgendwie möglich, den "Umweg" mit dem zusätzlichen Query
zu umgehen?
Besten Dank für eure Vorschläge!
Gruss
Marco
Ich arbeite gerade an einem älteren Projekt weiter welches ich am ausbauen bin. Dabei habe ich eine Funktion erstellt, mit welcher Kategorien zu News-Beiträgen ausgewählt werden können. Dazu habe ich 3 Tabellen in der DB erstellt.
- news
- news_kat
- kat
Somit komme ich auf keine m:m Beziehung. Da ja jede News mehreren Kategorien zugeordnet werden kann. Soweit so gut, alles funktioniert Bestens. Zu meinem Verständnis wollte ich jedoch gerne erfahren, ob ich folgenden Teil optimieren könnte:
PHP-Code:
//News abspeichern
mysql_query ("INSERT INTO `news` (
`titel`,
`news`,
`ben_id`,
`datetime`)
VALUES (
'".$titel."',
'".$news."',
'".$_SESSION['ben_id']."',
".$time." );
");
//News-ID auslesen des gerade erstellen Eintrags
$result = mysql_query("SELECT `id` FROM `news` WHERE `datetime` = ".$time.";");
$row = mysql_fetch_array($result);
$news_id = $row['id'];
//Kategorien in news_kat speichern
foreach ($_POST['kat'] AS $kat) {
mysql_query("INSERT INTO `news_kat` (
`news_id`,
`kat_id`)
VALUES (
".$news_id.",
".mysql_real_escape_string($kat).");
");
}
PHP-Code:
$result = mysql_query("SELECT `id` FROM `news` WHERE `datetime` = ".$time.";");
$row = mysql_fetch_array($result);
$news_id = $row['id'];
Besten Dank für eure Vorschläge!
Gruss
Marco
Kommentar