Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]require/inlude i wybor wszystkich danych z zapytania do bazy
bercow
post
Post #1





Grupa: Zarejestrowani
Postów: 156
Pomógł: 11
Dołączył: 25.12.2005

Ostrzeżenie: (0%)
-----


Witam.

Starając się napisać coś, co zachowuje prowizorycznie MVC, stworzyłem takie coś, ale w jaki sposób inludujac plik, wczytać wszystkie dane z bazy. Jezeli dobrze rozumiem MVC, nie mogą tam występować pętle itd., czyli PHP, jedynie, jakis HTML, wstawione po prostu $zmienna, i tyle. Wynikiem jest jedynie Kategoria 5. Czyli ostatnia wartość. mimo iż w bazie jest więcej.
  1. (1, 'Kategoria 1', 1, 1, 1),
  2. (2, 'Kategoria 2', 1, 1, 0),
  3. (3, 'Kategoria 3', 1, 1, 1),
  4. (4, 'Kategoria 4', 1, 1, 0),
  5. (5, 'Kategoria 5', 1, 1, 1);


index.php
  1. <?php
  2.  
  3. require "components/menu.php";
  4.  
  5. echo $menu_name;
  6. ?>


menu.php
  1. <?php
  2.  
  3. require "components/connection.php";
  4. connection();
  5.  
  6. $query = mysql_query("SELECT * FROM menu")
  7. or die('Błąd zapytania');
  8. if(mysql_num_rows($query) > 0) {
  9. while($m = mysql_fetch_assoc($query)) {
  10. if ($m['visible'] == True)
  11. {
  12. $menu_name = $m['name'];
  13. $menu_position = $m['position'];
  14. $menu_permit = $m['permit'];
  15. $menu_visible = $m['visible'];
  16. }
  17. }
  18. }
  19. ?>

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
pmir13
post
Post #2





Grupa: Zarejestrowani
Postów: 282
Pomógł: 89
Dołączył: 12.04.2011

Ostrzeżenie: (0%)
-----


Za każdym przejściem pętli podstawiasz nowe wartości do czterech zmiennych, nic z nimi nie robiąc, więc naturalnie ostatnie wartości zostają.
Go to the top of the page
+Quote Post
bercow
post
Post #3





Grupa: Zarejestrowani
Postów: 156
Pomógł: 11
Dołączył: 25.12.2005

Ostrzeżenie: (0%)
-----


To jak przechwycić wszystkie wartości i np. wstawić w tabelkę, zachowując MVC

Ten post edytował bercow 15.04.2011, 00:54:40
Go to the top of the page
+Quote Post
pmir13
post
Post #4





Grupa: Zarejestrowani
Postów: 282
Pomógł: 89
Dołączył: 12.04.2011

Ostrzeżenie: (0%)
-----


Możesz rozwinąć myśl o MVC i pętlach?
Jak widzisz poszczególne elementy wzorca u siebie w kodzie?
Go to the top of the page
+Quote Post
bercow
post
Post #5





Grupa: Zarejestrowani
Postów: 156
Pomógł: 11
Dołączył: 25.12.2005

Ostrzeżenie: (0%)
-----


Jak widzę MCV, mam na myśli podzielenie wszystkie na trzy części
1. Cały kod PHP.
2. Cały kod HTML, czyli pseudo wizualne rozmieszczenie danych.
3. Wygląd strony w div i CSS.

Chciał bym za pomocą <table><tr><td><?php echo $menu_name; ?> </td></tr></table> Uzykac tabele z trzema warosciami, Kategoria1, Kategoria3, Kategoria5. Oczywiscie wiem, ze to nie zadziała.

Jeżeli dobrze rozumiem MVC, umożliwia on oddzielnie skryptu od prezentacji, czyli w jednym pliku moge wynik zapisac w tabeli, na strone, a w drugim RSS. Wszytsko za pomoca jednego skryptu PHP, wyłapującego z bazy to co chce.

Mam nadzieje, ze polaczy (IMG:style_emoticons/default/smile.gif)

A druga sprawa, jak napisac funkcje ktora po zapytanie($menu), zwroci nam cale $manu z bazy, cos w styelu: ....
  1. function zapytanie($tabela) {
  2. global $query = mysql_query("SELECT * FROM $tabela") or die ('Błąd zapytania');
  3. }

Go to the top of the page
+Quote Post
pmir13
post
Post #6





Grupa: Zarejestrowani
Postów: 282
Pomógł: 89
Dołączył: 12.04.2011

Ostrzeżenie: (0%)
-----


Funkcja zwraca wartość przy pomocy return.
  1. function dodawanie( $a, $b )
  2. {
  3. $wynik = $a + $b;
  4. return $wynik;
  5. // lub od razu return $a + $b;
  6. }
  7. // i wtedy wywołujemy ją:
  8. $suma = dodawanie(1,2);

Na twoim miejscu nie przejmowałbym się wzorcami i dziwnymi regułami tylko próbował zrobić najpierw coś co działa, przy czym php wyrzucałby poprawny walidujący się html, który mógłbyś sobie obejrzeć w surowej postaci, a style css robiłyby z tego przyzwoicie wyglądającą stronę.
Go to the top of the page
+Quote Post
bercow
post
Post #7





Grupa: Zarejestrowani
Postów: 156
Pomógł: 11
Dołączył: 25.12.2005

Ostrzeżenie: (0%)
-----


Dajmy na to taki kod, musze jednoczesnie zrobic z niego menu na strone, i rss, albo cos innego. Oddzielajac PHP od HTML, bedzie duzo latwiej, tworze jeden plik do generowania calego kodu, a potem mozliwosci wyswietlania ile tylko chce moge zrobic. Prezentuje kod, i jego wynik
  1. <?php
  2.  
  3. require "connection.php";
  4. connection();
  5.  
  6. $query = mysql_query("SELECT * FROM menu") or die('Błąd zapytania');
  7. if(mysql_num_rows($query) > 0) {
  8. while($m = mysql_fetch_assoc($query)) {
  9. if ($m['visible'] == True) {
  10. echo $menu_name = $m['name'];
  11. $query2 = mysql_query("SELECT * FROM sub_menu WHERE id_menu=".$m['id_menu']) or die('Błąd zapytania');
  12. if(mysql_num_rows($query2) > 0) {
  13. echo '<ul>';
  14. while($sm = mysql_fetch_assoc($query2)) {
  15. echo '<li>'.$sm['name'].'</li>';
  16. }
  17. echo '</ul>';
  18. }
  19. }
  20. }
  21. }
  22. ?>

Kategoria 1
  • sub_menu 1
  • sub_menu 6
  • sub_menu 11

Kategoria 3
  • sub_menu 3
  • sub_menu 8
  • sub_menu 13

Kategoria 5
  • sub_menu 5
  • sub_menu 10
  • sub_menu 15
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 12:57