Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> 'Include' z bazy danych...
Looozak
post 22.06.2010, 18:01:03
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 2.04.2010
Skąd: Częstochowa

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


Witam. Nie wiem czy temat napisany dobrze, lecz nie mam pojęcia jak nazwać swój problem.
Mianowicie chciałbym przerobić ten skrypt na bazę danych:

  1. <?php
  2. @$p=$_GET['p'];
  3.  
  4. if (file_exists('php/'.$p.'.php'))
  5. include('php/'.$p.'.php');
  6. else
  7. include('php/home.php');
  8. ?>


Jak widać powyższy skrypt odczytuje dane z katalogu PHP i wypisuje je na stronie index.php?p=...
Chciałbym aby odczytywał je z tabeli w bazie danych, czyli jeżeli użytkownik pisze artykuł na stronie i dodaje go do bazy danych powiedzmy "artykuly' to można było go wywołać odnośnikiem index.php?p=nazwa_artykulu_z_mysql.

Mam nadzieję, że wiadomo o co chodzi. Wiem mniej więcej co trzeba zmienić, lecz nie bardzo wiem na co. Pozdro.
Go to the top of the page
+Quote Post
Lars_18
post 22.06.2010, 18:02:32
Post #2





Grupa: Zarejestrowani
Postów: 63
Pomógł: 11
Dołączył: 29.05.2010

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


mysql_query i SELECT
mysql_fetch_assoc
Go to the top of the page
+Quote Post
Looozak
post 22.06.2010, 18:28:31
Post #3





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 2.04.2010
Skąd: Częstochowa

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


Hmm, pogubiłem się w tym trochę. Mógłbyś to poprawić i dodać brakującą funkcję include bo nie bardzo wiem jak ją napisać:

  1. <?php
  2. @$p=$_GET['p'];
  3.  
  4. include('config.php'); //tutaj się łączy z bazą
  5.  
  6. $query="SELECT * FROM artykuly WHERE nazwa = '$p'";
  7.  
  8. $result=mysql_query($query);
  9.  
  10. $num=mysql_fetch_assoc($result);
  11. // czy normalnie jak przy odczytywaniu:
  12. $num=mysql_numrows($result);
  13.  
  14. include questionmark.gif ...
  15.  
  16.  
  17.  
  18. ?>
  19.  


Ten post edytował Looozak 22.06.2010, 18:30:30
Go to the top of the page
+Quote Post
Lars_18
post 22.06.2010, 18:34:14
Post #4





Grupa: Zarejestrowani
Postów: 63
Pomógł: 11
Dołączył: 29.05.2010

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


Po co include? include jest od dołączania plików, a nie od pobierania danych z bazy. Nie twórz niepotrzebnych zmiennych, daj zawartość $query bezpośrednio do mysql_query. Poza tym usuń to zliczanie rekordów, bo to niepotrzebne. Wyświetl sobie zawartość $num przez print_r, dalej chyba wiesz co robić...

Ten post edytował Lars_18 22.06.2010, 18:34:33
Go to the top of the page
+Quote Post
Looozak
post 22.06.2010, 18:46:12
Post #5





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 2.04.2010
Skąd: Częstochowa

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


No właśnie nie bardzo... Mógłbyś napisać jakiś wzór bo mi nie wychodzi za bardzo.

Ten post edytował Looozak 22.06.2010, 18:46:24
Go to the top of the page
+Quote Post
Lars_18
post 22.06.2010, 18:48:09
Post #6





Grupa: Zarejestrowani
Postów: 63
Pomógł: 11
Dołączył: 29.05.2010

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


  1. <?php
  2. include('config.php');
  3.  
  4. $num=mysql_fetch_assoc(mysql_query('SELECT * FROM `artykuly` WHERE `nazwa`=\''.$_GET['p'].'\'));
  5.  
  6. print_r($num);
  7. ?>


Nie twórz niepotrzebnych zmiennych...
Go to the top of the page
+Quote Post
Looozak
post 22.06.2010, 19:09:43
Post #7





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 2.04.2010
Skąd: Częstochowa

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


Dzięki za pomoc. Leci pomógł. Ale jeszcze jedno pytanie mam: jak się pozbyć tych dopisów:
  1. Array ( [nazwa] => ...


Bo samo "print" zwraca tylko Array.
Go to the top of the page
+Quote Post
Wicepsik
post 22.06.2010, 19:35:54
Post #8





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


mysql_fetch_assoc zwraca tablicę. print_r wyświetla całą tablice. A TU poczytaj o tablicach

Ten post edytował Wicepsik 22.06.2010, 19:36:17


--------------------
Go to the top of the page
+Quote Post
Looozak
post 22.06.2010, 20:03:36
Post #9





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 2.04.2010
Skąd: Częstochowa

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


Ok, już sobie poradziłem w nieco inny sposób:

  1. <?php
  2. include('config.php');
  3.  
  4. $id=$_GET['id'];
  5. $result=mysql_query('SELECT tresc FROM `artykuly` WHERE `id`=\''.$id.'\'');
  6. $num=mysql_fetch_assoc($result);
  7.  
  8. if($id=$num) {
  9.  
  10. $wyswietl=mysql_result($result,"tresc");
  11. echo ($wyswietl); }
  12.  
  13. else { echo'Nie ma takiego artykułu...'; }
  14. ?>


Dzięki za pomoc. Pozdro smile.gif
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 13:36