Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Pobieranie danych z 2 tabel
oomaster
post 17.01.2013, 20:47:28
Post #1





Grupa: Zarejestrowani
Postów: 305
Pomógł: 3
Dołączył: 4.08.2006
Skąd: GDA

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


Witam,

Chcę pobrać dane z 2 tabel. Tak ,że w jedej tabeli mam id kategorii a w drugiej nazwę kategorii i chcę to skleić w całość lecz wywala mi błąd:

Cytat
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/x/domains/x/public_html/x/x.php on line 91


DLaczego wywala błąd ? :-(

  1. function pasek($rekordow,$na_stronie,$na_pasku,$skrypt,$s) {
  2. $stron = ceil($rekordow/$na_stronie);
  3. if ($s<1) $s=1;
  4. if ($s>$stron) $s=$stron;
  5. $koniec = $s+$na_pasku;
  6. if ($s<=$na_pasku) $koniec = $na_pasku*2+1;
  7. if ($koniec>$stron) $koniec = $stron;
  8. $start = $koniec-$na_pasku*2;
  9. if ($start<1) $start=1;
  10. if ($s>1) $p = "<a href='$skrypt".($s-1)."'>< Poprzednia</a>";
  11. else $p = "<span style='color:gray'>< Poprzednia</span>";
  12. if ($s<$stron) $n = "<a href='$skrypt".($s+1)."'>Następna ></a>";
  13. else $n = "<span style='color:gray'>Następna ></span>";
  14. for ($i=$start; $i<=$koniec; $i++) {
  15. if ($i==$s) $l .= " <span style='color:#2b5676;'><b><u>$i</u></b></span> ";
  16. else $l .= " <a href='$skrypt$i'>$i</a> ";
  17. }
  18. if ($rekordow<1) $wynik = "<div class=\"alert\">Brak Wyników spełniających podane kryteria</div>";
  19. else $wynik = "Znalezionych: $rekordow, strona $s z $stron<br />";
  20. if ($stron>1) $wynik .= "$p  - $l -  $n";
  21. return $wynik;
  22. }
  23.  
  24. $s = ($_GET["s"]>1)?number_format($_GET["s"], 0, "", ""):1; // numer strony
  25. $na_stronie = 6; // liczba rekordow widocznych na stronie
  26. $na_pasku = 5; // liczba odpowiedzi/2 na pasku
  27. $skrypt = 'x.php?s='; // skrypt do wysyłania danych
  28.  
  29. $start = ($s-1)*$na_stronie;
  30. $wynik = mysql_query("SELECT SQL_CALC_FOUND_ROWS * FROM mvo_foto_folder JOIN mvo_foto_kat on mvo_foto_folder.kat = mvo_foto_kat.id ORDER BY id DESC LIMIT $start, $na_stronie");
  31. $rekordow = mysql_result(mysql_query("SELECT FOUND_ROWS()"),0);
  32.  
  33. $stron = ceil($rekordow/$na_stronie);
  34. if ($s>$stron and $rekordow>0) {
  35. $start = ($stron-1)*$na_stronie;
  36. $wynik = mysql_query('SELECT * FROM mvo_foto_folder JOIN mvo_foto_kat on mvo_foto_folder.kat = mvo_foto_kat.id ORDER BY id DESC LIMIT $start, $na_stronie');
  37.  
  38. }
  39. while($web2 = mysql_fetch_assoc($wynik)) {
  40. echo '<b>'.$web2['mvo_foto_folder.title'].'</b>
  41. <i>'.$web2['mvo_foto_kat.title'].'</i>';
  42. }
  43. echo "<p style='text-align:center;'>";
  44. echo pasek($rekordow,$na_stronie,$na_pasku,$skrypt,$s);
  45. echo "</p>";


Ten post edytował oomaster 17.01.2013, 20:48:33
Go to the top of the page
+Quote Post
sajegib
post 17.01.2013, 21:14:18
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 59
Dołączył: 16.01.2013

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


Podaj linie 91 i kilka przed i za nią
Go to the top of the page
+Quote Post
oomaster
post 17.01.2013, 21:16:50
Post #3





Grupa: Zarejestrowani
Postów: 305
Pomógł: 3
Dołączył: 4.08.2006
Skąd: GDA

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


Linia 91. to na powyższym listingu linia 39.
Go to the top of the page
+Quote Post
Michasko
post 18.01.2013, 01:02:45
Post #4





Grupa: Zarejestrowani
Postów: 283
Pomógł: 31
Dołączył: 10.01.2006
Skąd: Działoszyn

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


Linia 36 - masz apostrofy, daj cudzysłowy.
Zainwestuj też w jakąś kontrolę błędów, bo teraz nawet nie sprawdzasz, czy zapytanie wykonało Ci się poprawnie ;]

Ten post edytował Michasko 18.01.2013, 01:03:28


--------------------
Po prawie 3-letniej przerwie w programowaniu, znowu raczkuję :)
Go to the top of the page
+Quote Post
oomaster
post 18.01.2013, 12:28:38
Post #5





Grupa: Zarejestrowani
Postów: 305
Pomógł: 3
Dołączył: 4.08.2006
Skąd: GDA

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


Zmieniłem z apostrofa na cudzysłów i dalej ten sam błąd :-/
Go to the top of the page
+Quote Post
brzoza91
post 18.01.2013, 14:37:09
Post #6





Grupa: Zarejestrowani
Postów: 39
Pomógł: 4
Dołączył: 9.05.2012

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


a spróbuj
  1. ORDER BY mvo_foto_kat.id
Go to the top of the page
+Quote Post
oomaster
post 18.01.2013, 14:50:14
Post #7





Grupa: Zarejestrowani
Postów: 305
Pomógł: 3
Dołączył: 4.08.2006
Skąd: GDA

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


Teraz niby jest ok ale wogóle nie wyświetla danych.

Czy wywołanie np.:

  1. echo $web2['mvo_foto_folder.title'];
Go to the top of the page
+Quote Post
brzoza91
post 18.01.2013, 14:55:30
Post #8





Grupa: Zarejestrowani
Postów: 39
Pomógł: 4
Dołączył: 9.05.2012

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


włóż do pętli var_dump($web2);

wtedy pokaże Ci w każdym kroku strukturę i wartości tablicy w danym kroku

  1. while($web2 = mysql_fetch_assoc($wynik))
  2. {
  3. //echo '<b>'.$web2['mvo_foto_folder.title'].'</b>
  4. //<i>'.$web2['mvo_foto_kat.title'].'</i>';
  5. var_dump($web2);
  6. }


Ten post edytował brzoza91 18.01.2013, 14:57:51
Go to the top of the page
+Quote Post
oomaster
post 18.01.2013, 15:01:17
Post #9





Grupa: Zarejestrowani
Postów: 305
Pomógł: 3
Dołączył: 4.08.2006
Skąd: GDA

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


OK a co w przypadku gdy w 2 tabelach występują pola o takiej samej nazwie ?

Ponieważ niestety ale pole title występuje zarówno w tabeli 1 jak i 2 :-/

Ten post edytował oomaster 18.01.2013, 15:02:39
Go to the top of the page
+Quote Post
aras785
post 18.01.2013, 15:04:30
Post #10





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

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


  1. tabela2.title AS title2
Go to the top of the page
+Quote Post
brzoza91
post 18.01.2013, 15:07:20
Post #11





Grupa: Zarejestrowani
Postów: 39
Pomógł: 4
Dołączył: 9.05.2012

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


spróbuj na początku dać

  1. SELECT *,mvo_foto_folder.title as title2 FROM mvo_foto_folder JOIN mvo_foto_kat on mvo_foto_folder.kat = mvo_foto_kat.id ORDER BY mvo_foto_kat.id DESC LIMIT $start, $na_stronie


Ten post edytował brzoza91 18.01.2013, 15:07:57
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 - 10:29