Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wybieranie według kategorii
Forum PHP.pl > Forum > Bazy danych > MySQL
vieri_pl
mam w bazie tablice recenzje,zapowiedzi,poradniki

chcę aby na stronie po wybraniu opcji z listy np. recenzje wyświetliło mi tylko recenzje. Wiem że to było już gdzieś na forum ba! nawet to czytałem ale za chiy nie pojąłem może mi to ktoś przedstawić jakoś praktycznie lub te z wytłumaczyć questionmark.gif?
mhs
Witam,

Czytajac Twoje ostatnie posty na forum uwazam, ze powinienes troche poczytac roznych kursow na temat php, mysql (baz danych).

Wracajac natomiast do Twojego pytania. Mozesz przedstawic strukture bazy danych? Bo czytajac Twoje pytanie ja nie wiem czy Ty w bazie danych masz trzy tabele: recenzje, zapowiedzi, poradniki czy tez to wszystko trzymasz w jednej tabeli gdzie masz kolumne (typ) okreslajaca dany obiekt.

Z reszta, podstawowy kursik baz danych i SQL'a powinien pomoc rozwiazac Ci Twoj problem.

Pozdrawiam.
vieri_pl
Mam jedną tablicę są to arty a w niej trzy kolumny recenzje, zapowiedzi, poradniki

Wiem że muszę zrobić coś takiego:

  1. SELECT *
  2. FROM arty WHERE warunek


Ale ni cholery nie wiem jak uzupełnić warunek trzeba jakoś przekazać zmienne ale jak ma wyglądać itp questionmark.gif?
nospor
Do tego musisz wykorzystać formularz:
  1. <form method="post" action="twojskryptphp">
  2. <select name="typ" onchange="submit();">
  3. <option value="recenzje" >Recenzje</option>
  4. <option value="zapowiedzi" >zapowiedzi</option>
  5. <option value="poradniki" >Poradniki</option>
  6. </form>
po wybraniu którejśc z opcji zostanie wyslany formularz do skryptu, który to przetworzy

skryptphp:
  1. <?php
  2.  
  3. if (isset($_POST['typ']))
  4. {//jeśli wybrano jakąs opcję
  5. //w tablicy $_POST są zmienne z formularza
  6.    $typ = $_POST['typ']
  7.    $sql = &#092;"select $typ from tabela where $typ is not null and $typ<>''\";
  8.    //$typ - to nazwa kolumny. robie select $typ - pobierze dane tylko z tej kolumny
  9.   //warunke $typ też operuje tytlko na wybranej kolumnie.
  10.   //dzięki temu nie trzeba smażyć trzech zapytań dla rózbnych opcji
  11. //tutaj wykonujesz i wyswietlasz zapytanie
  12. }
  13.  
  14. ?>


Jak już pisalem we wczesniejszym poście poucz się podstaw. Zawalasz forum pytaniami, które wynikają z braku podstaw. Jeszcze parę takich topiców i któryś moderatorów się wkurzy (np. ja) i będzie zamykał wszystkie twoje topici

aaa, i wyrażeniq typu "ni cholery" są zbędne
vieri_pl
Dzięki za pomoc, a tak na marginesie w necie szukałem wielu kursów, ale w żadnym nie znalazłem tego co bym potrzebował. A forum jest od tego aby sie uczyć!!!
mhs
Cytat
Jak już pisalem we wczesniejszym poście poucz się podstaw. Zawalasz forum pytaniami, które wynikają z braku podstaw. Jeszcze parę takich topiców i któryś moderatorów się wkurzy (np. ja) i będzie zamykał wszystkie twoje topici

aaa, i wyrażeniq typu "ni cholery" są zbędne

zgadza się,


wracając jednak to tematu wydaje mi się, że masz najprawdopodobniej zle przygotowany projekt bazy


EDIT:

Cytat
Dzięki za pomoc, a tak na marginesie w necie szukałem wielu kursów, ale w żadnym nie znalazłem tego co bym potrzebował. A forum jest od tego aby sie uczyć!!!

tak, ale w tej chwili (przynajmniej ja) odnosze takie wrazenie, ze zamiast zastanowic sie nad problemem piszesz kolejne pytania

piszesz, ze znalazles wiele kursow? a ile z nich przerobiles? przeczytales? zwroc uwage na to, ze nie zawsze znajdziesz kurs w ktorym bedzie opisane krok po kroku jak rozwiazac problem, ktory Ty akurat sobie wymysliles... w koncu trzeba pewne problemy rozwiazywac samemu a nie szukac kursow
vieri_pl
Trochę pomotałem mam bazę danych która nazywa się arty a w niej recenzje, zapowiedzi, poradniki a w nich artykuły... Czy jest lepszy układ bazy danych?questionmark.gif
mhs
najprawdopodobniej tak - co sadzisz o takim ukladzie?

Kod
artykuly
============
artykul_id -- klucz glowny tabeli
typ_id -- klucz obcy (patrz tabela typy)
nazwa -- nazwa tekstu, artykulu, zapowiedzi
tresc -- tresc artykulu, zapowiedzi, recenzji
data -- data publikacji
-- pozostale pola

typy
=======
typ_id -- klucz glowny tabeli typy
nazwa -- nazwa typu artykulu
-- pozostale pola


wyjasniajac:
w jednej tabeli przechowujesz teksty wszystkich artykulow na stronie, natomiast w drugiej tabeli przechowujesz typy poszczegolnych artykulow
nastepnie tworzysz relacje jeden do wielu pomiedzy tymi dwiema tabelami
vieri_pl
Następnie tworzysz relacje między nini?? Jak to ma wyglądać questionmark.gif
mhs
a znasz pojecie relacji i wiesz co ono oznacza? relacje nie musisz koniecznie zdefiniowac w bazie danych - ja tutaj uzylem tego pojecia w celu przedstawienia projektu bazy danych, natomiast jezeli chcesz korzystac z mozliwosci definiowania relacji to odsylam: http://dev.mysql.com/doc/mysql/en/innodb-f...onstraints.html
vieri_pl
Słuchaj w żadnym POLSKIJZYCZNYM OGÓNODOSTPNYM kursie nie znalazłem nic, o tym więc prosiłbym Ciebie o przedstawienie jakiegoś przykładu popolskiemu oczywiście smile.gif Please!!!! Dzieki z góry!!!
mhs
Cytat(vieri_pl @ 2005-08-03 10:54:56)
Słuchaj w żadnym POLSKIJZYCZNYM OGÓNODOSTPNYM kursie nie znalazłem nic, o tym więc prosiłbym Ciebie o przedstawienie jakiegoś przykładu popolskiemu oczywiście smile.gif Please!!!! Dzieki z góry!!!

to tez nie jest wymowka smile.gif osobiscie polecam Ci ksiazke http://mikom.pl/MPORTALX/BookDetails.aspx?BOOKID=1502 gdzie jest opisane w jaki sposob podchodzic do projektowania baz danych, co oznacza podstawowe slownictwo uzywane na codzien i wiele innych interesujacych rzeczy... ta ksiazka nie jest przeznaczona dla konkrentego systemu zarzadzania baza danych, wiedze ktora nabedziesz czytajac ja wykorzystasz w MySQL'u, w Postgresie i innych SZBD


przyklad masz tutaj:

Cytat
CREATE TABLE typy (
  typ_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  nazwa INTEGER UNSIGNED NULL,
  aktywny TINYINT(1) UNSIGNED NULL,
  PRIMARY KEY(typ_id)
)
TYPE=InnoDB;

CREATE TABLE artykuly (
  artykul_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  typ_id INTEGER UNSIGNED NOT NULL,
  temat VARCHAR(128) NULL,
  tekst TEXT NULL,
  PRIMARY KEY(artykul_id, typ_id),
  INDEX artykuly_FKIndex1(typ_id),
  FOREIGN KEY(typ_id)
    REFERENCES typy(typ_id)
      ON DELETE RESTRICT
      ON UPDATE RESTRICT
)
TYPE=InnoDB;



edit by nospor:
Cytat
POLSKIJZYCZNYM OGÓNODOSTPNYM
Ja tylko dodam, że my przygłusi nie jesteśmy - krzyczeć nie trzeba
vieri_pl
Dzięki, coś z tym wykombinuje...
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.