Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Pobieranie danych z kiku tabel i wyciąganie title
Forum PHP.pl > Forum > Przedszkole
maverick22
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
Luneth
Po pierwsze - dla jednego wiersza nie rób pętli 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 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.
maverick22
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
Luneth
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ś)? smile.gif Kompletnie złą koncepcję przyjmujesz.
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.