Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Strona na bazie MySQL
Forum PHP.pl > Forum > Bazy danych
elldiablo
Witam,

Mam nadzieję że ktoś mi pomoże.

Mam na zaliczenie zrobić projekt www na bazie (CMS). Jak dodawać, usuwać i modyfikować rekordy w bazie to wiem.
Strona ma mieć 2 kolumny. Po lewej menu a po prawej zawartość. Jak połączyć menu z zawartością jeśli każde menu ma po kilka artykułów.
np.
są sobie tabele: menu, artykuły_1, artykuły_2, gdzie w tabelach z artykułami jest po kilka wiadomości.

Jakie najlepiej pola zamieścić we wszystkich tabelach i jak je połączyć ze sobą, żeby z tabeli menu gdzie jest przycisk menu_1 połączyć i wyświetlić artykuły_1, a menu_2 połączyć i wyświetlić artykuły_2.

macie jakieś pomysły?

Pozdrawiam
Crozin
To menu będzie poprost listą kategorii.

Kategorie (czy menu):
id
nazwa

Artykuły
id
kategoria_id
nazwa
tresc
elldiablo
Więc jeśli będę tworzył bazę to utworzyć tabele "Kategorie" i "Artykuły"

Kategoria:
id - INT i auto_increment
nazwa (menu) - varchar (50)

Artykuły:
id - INT i auto_increment
kategoria_id - questionmark.gif? ---------------> VARCHAR i 1,2,1,3 itd. czy INT ?
nazwa (tytuł artykułu) - varchar (50)
tresc - text

Dobrze kminie?

Pozdrawiam
Crozin
Podstawowe pytanie: czy jeden artykuł może być przypisany tylko do jednej kategorii czy do wielu?
elldiablo
chciałbym przypisać jedną kategorię to wielu artykułów

np.

Str. głowna - 3 artykuły
O firmie - 2 artykuły

itd.
Crozin
Ja nie pytam czy jedna kategoria może posiadać wiele artykułów, tylko czy jeden artykuł może posiadać wiele kategorii.
elldiablo
Dobra dzięki za poświęcony czas, zrobiłem to o co mi chodziło.

Zrobiłem coś takiego

<div id="menu">
<?php
$result = mysql_query ("SELECT id, nazwa FROM kategoria");
while ($row = mysql_fetch_object($result))
{
echo "<p><a href=\"index.php?page=$row->id\">$row->nazwa</a></p>";
}
?>
</div>

<div id="content">
<?php
$page = $_GET['page'];
$result = mysql_query ("SELECT * FROM artykuly WHERE id_kategoria=$page ");
while ($row = mysql_fetch_object($result))
{
echo "<p>$row->nazwa</p>";
echo "<p>$row->tresc</p>";
}

?>
</div>

Temat można uznać za zamknięty.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.