Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Baza schematów w oparciu o MySQL
Forum PHP.pl > Forum > Bazy danych > MySQL
iNTELL
Witam, chciałbym zrobić coś takiego:

Wchodzę na stronę i wyświetla mi się lista urządzeń takie jak telewizory itd. Następnie klikam na jakieś urządzenie to przenosi mnie do listy producentów. Jak klikne na producenta to mają mi się wyświetlim modele sprzętu i obok nich napis download (przy każdym z nich) no i oczywiście po kliknięciu w download link do odpowiedniego pliczku. Z php bym sobie poradził tylko nie wiem jak to rozmieścić w bazie danych, czy ma ktoś jakiś pomysł na to questionmark.gif Do dyspozycji jest czysta baza danych MySQL przeznaczona tyko na to.
Bakus
To czy baza jest czysta, czy nie niema żadnego znaczenia.
Proponuję założyć jedną dużą tabelę. Przykładowe kolumny:
ID, Rodzaj, Kategoria, Producent, PlikDoPobrania
Obsługa:
Jeżeli chcesz wybrać telewizon sony:
[sql:1:1853b4a705]SELECT * FROM tabelka WHERE Rodzaj='telewizor' AND Producent='SONY'[/sql:1:1853b4a705]

Nic więcej, jak napisać skrypcik konstruujący warunek WHERE i pokazujący wynik. Plik do pobrania identyfikujesz po ID produktu w tabeli (poje autoincrement) i przekazujesz np. do jakiegoś 'download.php' przez GET.
Później w 'download.php' wykonujesz zapytanie:
[sql:1:1853b4a705]SELECT PlikDoPobrania FROM tabelka WHERE ID=1[/sql:1:1853b4a705]
(zakładając, że nasz produkt jest na 1 miejscu w tabeli)
Takie zapytanie zwróci Ci nazwę pliku, a później możesz korzystając z tej informacji przekazać nazwę pliku do [manual:1853b4a705]Header[/manual:1853b4a705]()
scanner
Jedna duza tabela? A fooo......

Tabela przedmiot:
- ID
- Nazwa
- KategoriaID
- ProducentID

Tabela kategoria:
- ID
- Nazwa kategorii

Tabela producent:
- ID
- Nazwa
- Adres

Ludzie nauczcie się rozbijać tabele w bazie na słowniki danych.[/sql][/quote]
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.