Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: prezentacja zawartości z bazy
Forum PHP.pl > Forum > Przedszkole
Paweltm
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
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
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
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
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
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
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
  1. <?php
  2.  
  3. $string = '<?php $kategorie = array(';
  4. while($row = mysql_fetch_array($zapytanie)) {
  5.  
  6. $string .= 'array('.$row['kategoria'].'),';
  7. }
  8. $string .= ')';
  9.  
  10. 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
Tepy jestem. Wytlumacz mi proszę co ma dodanie nowej kategorii do tworzenia kolejnego skryptu/pliku php.
ciekawskiii
To nie html zeby do nowej kategorii tworzyc nowy plik
Paweltm
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
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
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
  1. $kat = $_GET['p']
  2.  
  3. $query = mysql_query("SELECT * FROM kategorie WHERE nazwa_kategorii = '$kat'");
  4.  
  5. $menu = '';
  6. while($row = mysql_fetch_array($query)) {
  7.  
  8. $menu .= '<a href="index.php?p='.$row['nazwa_kategorii'].'">'.$row['nazwa_kategorii'].'</a>';
  9. }
  10.  
  11. echo $menu;


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
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
  1. <?php
  2.  
  3. $kat = $_GET['p'];
  4.  
  5.  
  6. $zapytanie=mysql_query("SELECT * FROM category WHERE nazwa = '$kat'");
  7.  
  8.  
  9. $menu = '';
  10.  
  11.  
  12. while($row = mysql_fetch_array($zapytanie)) {
  13.  
  14. $menu .= '<li class="dots"><a href="index.php?p='.$row['nazwa'].'">'.$row['nazwa'].'</a></li>';
  15. }
  16.  
  17. echo $menu;
  18.  
  19.  
  20. ?>


i nie wyświetla nic w menu.
W bazie w tabeli category są 4 wpisane.
Kshyhoo
A co przychodzi przez $_GET?
Paweltm
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
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
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
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
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
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.