Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]Pobieranie danych z kiku tabel i wyciąganie title
maverick22
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 27.05.2010
Skąd: Warszawa

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


Witam

przegrzebałem forum w poszukiwaniu odpowiedzi ale jej nie znalazłem,
po czesci mi sie juz udalo ale nie do konca
z góry uprzedzam że jestem BARDZO początkującym.

O co mi chodzi:
jest sobie strona
są sobie przykładowe strony:
strona.pl/artykuly/artykul.php?id=1 i strona.pl/przepisy/przepis.php?id=1

Chciałbym by na każdej stronie ładował się tytuł w <title> z bazy
czyli na przyklad wchodze w artkul o tytule w bazie "Tytuł artykułu" i chce by sie wyswietlał w znacznikach <title>

nabazgrałem coś takiego co znajduje się w znacznikach title:
  1. <?
  2. include($inc.'sql.php');
  3.  
  4. $id = $_GET['id'];
  5.  
  6. $query = "SELECT title FROM artykuly WHERE id='$id'";
  7.  
  8. $result = mysqli_query($dbc, $query);
  9.  
  10.  
  11.  
  12. while($row = mysqli_fetch_array($result)) {
  13. echo $row['title'];
  14. }
  15.  
  16. ?>

No i takie coś działa, ale tylko przy artykułach.

natomiast przy takim kodzie:
  1. <?
  2. include($inc.'sql.php');
  3.  
  4. $id = $_GET['id'];
  5.  
  6. $query = "SELECT title FROM artykuly, przepisy WHERE id='$id'";
  7.  
  8. $result = mysqli_query($dbc, $query);
  9.  
  10.  
  11.  
  12. while($row = mysqli_fetch_array($result)) {
  13. echo $row['title'];
  14. }
  15.  
  16. ?>


już nie, wywala błąd:
mysqli_fetch_array() expects parameter 1 to be a mysqli boolean given...

co robie źle? czy może podsunie mi ktoś jakiś inny sposób na wyciąganie tytułów.

pozdrawiam
Go to the top of the page
+Quote Post
Luneth
post
Post #2





Grupa: Zarejestrowani
Postów: 95
Pomógł: 7
Dołączył: 16.07.2007
Skąd: Gorzów Wielkopolski

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


Po pierwsze - dla jednego wiersza nie rób pętli (IMG:style_emoticons/default/winksmiley.jpg)
Po drugie - może i jesteś bardzo początkujący, ale rozważ od razu przejście na PDO zamiast korzystania z biblioteki mysqli, dlaczego? Bo PDO ma więcej możliwości(podpinanie, transakcje etc) oraz jest uniwersalne, niezależne od rodzaju bazy danych, czy to MySQL czy inna. Nie przeraź się, że PDO jest obiektowe, obsługę PDO załapać jest łatwo, tylko trochę zapis inny (strzałki), zresztą odsyłam do manuala (IMG:style_emoticons/default/smile.gif)
Po trzecie - Zamiast cudzysłowów używaj apostrofów;
A teraz do sedna sprawy:
Taki zapis: SELECT * FROM tabela,tabela2,tabela3 - jest błędny i nie jest równoznaczny z Twoim celem, czyli wybraniem z tabela2 LUB tabela3 LUB tabela dokładnie jednego, konkretnego wiersza akurat dla tej tabeli o która Ci chodzi. Najprościej byłoby, żeby plik php który otwierasz sam przypisywał jakiejś zmiennej $title wartość tytułu a Ty zawartość tej zmiennej wyświetlasz w themie.

Ten post edytował Luneth 12.08.2010, 15:06:41
Go to the top of the page
+Quote Post
maverick22
post
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 27.05.2010
Skąd: Warszawa

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


wszystkie tabele zawierają kolumnę title,
ale nadal nie kumam
jak daje zapytanie: select title from przepisy or artykuly where id='$id'
lub jakakolwiek inna kombinacje tego zapytania to rowniez błąd wywala
Go to the top of the page
+Quote Post
Luneth
post
Post #4





Grupa: Zarejestrowani
Postów: 95
Pomógł: 7
Dołączył: 16.07.2007
Skąd: Gorzów Wielkopolski

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


Bo wciąż źle konstruujesz zapytanie, jak w ogole MySQL wg Ciebie ma wiedzieć z której tabeli KONKRETNIE akurat wybrać tytuł rekordu (zakładająć poprawnosć tego co napisałeś)? (IMG:style_emoticons/default/smile.gif) Kompletnie złą koncepcję przyjmujesz.
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: 15.09.2025 - 04:34