Paweltm
14.01.2011, 10:41:26
Witam
Mam taki problem. Chciałbym po pierwsze zrobić pobrać z bazy mysql kategorie jakie są dane ( ich ilość a następnie nazwy aby za pomocą php wygenerować konkretne kategorie na stronie główne - menu) następnie podlinkować odpowiedni link - po czym w miejscu /nazwa_kat.php przedstawić w jakiejś tabeli zawartość innej tabeli z bazy
Jak mogę to zrobić?
nospor
14.01.2011, 10:48:31
No ale czego nie wiesz? Jak pobrać coś z bazy?
Zajrzyj do pierwszego kursu php+mysql - masz tam to wszystko wyjasnione.
Potrzebne do tego są funkcję z rodziny mysql_ - w manualu masz je opisane
Paweltm
14.01.2011, 10:59:03
głównie chodzi o kwestie już po pobraniu danych > stworzyć plik nazwa_kat.php aby właściwie się wyświetlało i jak później zarządzać tymi stronami - a dokładniej jak się dostać do tej strony aby ją zaprogramować
nospor
14.01.2011, 11:02:08
Cytat
- a dokładniej jak się dostać do tej strony aby ją zaprogramować
Nie za bardzo rozumiem..Jak sie dostac do strony by ją zaprogramowac? Otworz plik nazwa_kat.php pierwszym lepszym edytorem tekstu i programuj.
Paweltm
14.01.2011, 11:08:05
właśnie chciałbym to zrobić automatem..
żeby przy pobieraniu nazw kategorii z bazy.... tworzył menu i od razu tworzył plik nazwa_kat.php
nospor
14.01.2011, 11:10:08
Ale po co? Co ty chcesz osiągnąc?
Napisz plik nazwa_kat.php ktory robi co chcesz w zaleznosci od kategorii i po sprawie. Albo cos za bardzo kombinujesz ale opisz moze problem dokladniej, co chcesz zrobic
Paweltm
14.01.2011, 11:12:54
mam dodawanie kategorii przez admina. I chciałbym aby skrypt automatem mógł wykonywać wszystko. Przy plikach wprowadzanych na sztywno, każde dodanie nowej kategorii łączy się z przeprogramowanie skryptu ( niby tylko dodanie nowego pliku .php ale jednak jest ingerencja w kod)
CuteOne
14.01.2011, 11:14:45
<?php
$string = '<?php $kategorie = array(';
$string .= 'array('.$row['kategoria'].'),';
}
$string .= ')';
file_put_contents('kategorie.php', $string);
możesz też użyć
serializacji danych [wygodniejsza opcja] lub jeszcze łatwiejsza - wyświetlać dane z bazy bezpośrednio na stronie
EDIT: po to masz baze danych aby nie trzeba było manipulować kodem ......
nospor
14.01.2011, 11:15:07
Tepy jestem. Wytlumacz mi proszę co ma dodanie nowej kategorii do tworzenia kolejnego skryptu/pliku php.
ciekawskiii
14.01.2011, 11:19:57
To nie html zeby do nowej kategorii tworzyc nowy plik
Paweltm
14.01.2011, 11:20:49
Cytat(nospor @ 14.01.2011, 11:15:07 )

Tepy jestem. Wytlumacz mi proszę co ma dodanie nowej kategorii do tworzenia kolejnego skryptu/pliku php.
mam w bazie ( kat1, kat2, kat3) -> aby wyświetlić coś w każdej z nich muszę zrobić pliki kat1.php, kat2.php, kat3.php . I teraz chcę dodać kat4 - i aby było coś w niej muszę dodać kolejny plik kat4.php i dla mnie nie jest to problem. Jednak jeśli admin nie jest programitą.. a o to właśnie chodzi
nospor
14.01.2011, 11:23:14
Cytat
mam w bazie ( kat1, kat2, kat3) -> aby wyświetlić coś w każdej z nich muszę zrobić pliki kat1.php, kat2.php, kat3.php
No i tu jest Twoj problem - totalnie źle myslisz. php to nie html. php to dynamika a nie statyka jak w html
nie robisz kat1.php, kat2.php..... tylko robisz kat.php i on w zależnosci od otrzymanej kategorii w linku wyswietla co chcesz.
Paweltm
14.01.2011, 11:32:17
Cytat(nospor @ 14.01.2011, 11:23:14 )

No i tu jest Twoj problem - totalnie źle myslisz. php to nie html. php to dynamika a nie statyka jak w html
nie robisz kat1.php, kat2.php..... tylko robisz kat.php i on w zależnosci od otrzymanej kategorii w linku wyswietla co chcesz.
już chyba czaję. Zaraz podziałam jak coś będzie niejasne poproszę o wyjaśnienie.
CuteOne i nospor otrzymali "Pomógł" - Dzięki.
CuteOne
14.01.2011, 11:33:34
$kat = $_GET['p']
$query = mysql_query("SELECT * FROM kategorie WHERE nazwa_kategorii = '$kat'");
$menu = '';
$menu .= '<a href="index.php?p='.$row['nazwa_kategorii'].'">'.$row['nazwa_kategorii'].'</a>';
}
to jest najprostszy sposób na wyświetlanie wyników z bazy i powinieneś trzymać się z dala od tworzenia kodów z automatów
Kshyhoo
14.01.2011, 13:30:17
A ja powiem tyle: dzieci w szkole robią się inteligentniejsze i nie zakładają już na forum.php.pl tematów o tytule "Pomocy! Zadanie na wczoraj z infy!" Każdy, kto przeczytał choć pierwszą stronę jakiegokolwiek kursu php/sql wie, że można wykonać to dynamicznie.
Po za tym, kiedyś było modne nabijanie postów a obecnie w modzie jest dużo "Pomógł"...
Sorry za offtop, ale wkurza mnie niechęć do wujka Google i cioci Szukajki...
Paweltm
14.01.2011, 13:37:23
<?php
$kat = $_GET['p'];
$zapytanie=mysql_query("SELECT * FROM category WHERE nazwa = '$kat'");
$menu = '';
$menu .= '<li class="dots"><a href="index.php?p='.$row['nazwa'].'">'.$row['nazwa'].'</a></li>';
}
?>
i nie wyświetla nic w menu.
W bazie w tabeli category są 4 wpisane.
Kshyhoo
14.01.2011, 13:48:05
A co przychodzi przez $_GET?
Paweltm
14.01.2011, 13:56:19
jak wchodzę przez .../?p=pierwsza ( taka jest jedna z nazw kategorii ) wyświetla mi link do niej ale nic więcej a przy wejściu na na stronę gdzie jest kod nie wświetla zawartości tabeli
nospor
14.01.2011, 14:01:29
Przeciez kod co tu masz napisany, sluzy do wyswietlania kategorii, ktorej nazwe podales w linku. No to nic dziwnego ze wyswietla ci tylko tę jedną, ktora podasz w linku, Jak nic nie podasz w linku to nie wyswietli zadnej bo zadna nie pasuje do pustego ciagu.
Jak chcesz wyswietlic wszystkie kategorie to wywal warunek WHERE
Paweltm
14.01.2011, 14:05:02
Cytat(nospor @ 14.01.2011, 14:01:29 )

Przeciez kod co tu masz napisany, sluzy do wyswietlania kategorii, ktorej nazwe podales w linku. No to nic dziwnego ze wyswietla ci tylko tę jedną, ktora podasz w linku, Jak nic nie podasz w linku to nie wyswietli zadnej bo zadna nie pasuje do pustego ciagu.
Jak chcesz wyswietlic wszystkie kategorie to wywal warunek WHERE
Działa. Dzięki - pomógł poszedł.
A teraz w którym miejscu zrobić obsługę poszczególnych kategorii ?
plik p.php?
nospor
14.01.2011, 14:06:14
Cytat
A teraz w którym miejscu zrobić obsługę poszczególnych kategorii ?
plik p.php?
A gdzie chcesz. Mozesz go nazwac dupa.php, p.php, kategoria.php czy jak ci się zapragnie. O wzorcu MVC juz nie wspominam.
Paweltm
14.01.2011, 14:09:21
Cytat(nospor @ 14.01.2011, 14:06:14 )

A gdzie chcesz. Mozesz go nazwac dupa.php, p.php, kategoria.php czy jak ci się zapragnie. O wzorcu MVC juz nie wspominam.
raczej moje pytanie dotyczyło tego jak z takiego poziomu po tym tworzeniu menu zrobić aby dobrze wyświetlało. jak zrobić żeby w miejscu .../p?=pierwsza było wyświetlenie danych z odpowiedniej kategorii
nospor
14.01.2011, 14:12:42
select * from tabelazdanymi where kategoria=kategoriapodanawlinku
No chyba ze masz inaczej przechowywane dane, ale nic o tym nie wspominales
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.