Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V   1 2 3 >  
Reply to this topicStart new topic
> [PHP] dodanie adresu url
Grzesiekb91
post
Post #1





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


normalnie porazka (IMG:style_emoticons/default/smile.gif) ucze sie z ksiazki..

  1. <?php
  2. $link = mysql_connect("localhost", "bp5am", "bp5ampass") or die ("Sprawdz polaczenie z serwerem.");
  3. mysql_select_db("moviesite") or die (mysql_error());
  4. $query = "SELECT movie_id, movie_name, movie_director, movie_leadactor FROM movie";
  5. $result = mysql_query($query,$link) or die(mysql_error());
  6. $num_movies = mysql_num_rows($result);
  7. $movie_header=<<<EOD
  8. <h2><center>Baza danych recenzji filmw</center></h2>
  9. <table width="70%" border="1" cellpadding="2" cellspacing="2" align="center">
  10. <tr>
  11. <th>Tytul filmu</th>
  12. <th>Reżyser</th>
  13. <th>Główny aktor</th>
  14.  
  15. </tr>
  16.  
  17. EOD;
  18. function get_director(){
  19. global $movie_director;
  20. global $director;
  21. $query_d = "SELECT people_fullname " .
  22. "FROM people " .
  23. "WHERE people_id='$movie_director'";
  24.  
  25. $results_d = mysql_query($query_d) or die(mysql_error());
  26. $row_d = mysql_fetch_array($results_d);
  27. extract($row_d);
  28. $director = $people_fullname;
  29. }
  30. function get_leadactor(){
  31. global $movie_leadactor;
  32. global $leadactor;
  33.  
  34. $query_a = "SELECT people_fullname " .
  35. "FROM people " .
  36. "WHERE people_id='$movie_leadactor'";
  37. $results_a = mysql_query ($query_a) or die(mysql_error());
  38. $row_a = mysql_fetch_array($results_a);
  39. extract ($row_a);
  40. $leadactor = $people_fullname;
  41. }
  42. $movie_details = " ";
  43. while ($row = mysql_fetch_array($result)) {
  44. $movie_id = $row['movie_id'];
  45. $movie_name = $row['movie_name'];
  46. $movie_director = $row['movie_director'];
  47. $movie_leadactor = $row['movie_leadactor'];
  48. //pobranie mienia i nazwiska rezesera z tabeli people
  49. get_director();
  50. get_leadactor();
  51. $movie_details .=<<<EOD
  52. <tr>
  53.  
  54. <td><a href="movie_details.php?movie_id=$movie_id"
  55.   title="Dowiedz sie wiecej na temat $movie_name">$movie_name</td>
  56.  
  57.  
  58.  
  59. <td>$movie_name</td>
  60. <td>$director</td>
  61. <td>$leadactor</td>
  62. </tr>
  63. EOD;
  64. }
  65. $movie_details .=<<<EOD
  66.  
  67. <tr>
  68.  
  69.  
  70. <td>Łącznie filmów: $num_movies</td>
  71. </tr>
  72. </table>
  73. EOD;
  74. $movie_footer="</table>";
  75. $movie =<<<MOVIE
  76. $movie_header
  77. $movie_details
  78. $movie_footer
  79. MOVIE;
  80. echo "W bazie danych znajduje się $num_movies filmów.";
  81. echo $movie;
  82. ?>




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





Grupa: Zarejestrowani
Postów: 556
Pomógł: 40
Dołączył: 20.07.2012
Skąd: Warszawa

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


a problem jest w czym?
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #3





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


kurcze myslalem, ze dałem wytłumaczenie, byłem totalnie tępy (IMG:style_emoticons/default/haha.gif) juz to rozwikłałem, i już rozumie na czym polegał błąd, tak to jest jak sie uczy z książki ;d




<td>$movie_name</td>
<td>$director</td>
<td>$leadactor</td>



movie_name mialem zamienic na link, a ja przed to dodawalem link, i wyszło coś takiego

<td><a href="movie_details.php?movie_id=$movie_id"
title="Dowiedz sie wiecej na temat $movie_name">$movie_name</td>

<td>$movie_name</td>
<td>$director</td>
<td>$leadactor</td>

a w tabeli sajgon...

a co trza zrobić by dodać adres url takze reżyserom i aktorom ?

Ten post edytował Grzesiekb91 16.06.2015, 13:34:20
Go to the top of the page
+Quote Post
patwoj98
post
Post #4





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

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


Przede wszystkim to domykaj znacznik '</a>' (IMG:style_emoticons/default/exclamation.gif)

Dokładnie trzeba zrobić to samo - '<a href="xxx">$zmienna</a>'

Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #5





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


niby próbuje robić to samo, ale wcześniej żeby zrobić ten link, musiałem kod strony edytować w 3 miejscach, na samym poczatku w zapytaniu, dodać "movie_id"., nastepnie w petli while dodac linijke : $movie_id = $row['movie_id'];


a nastepnie wlasnie zmienic na dole dodac url, i w zasadzie próbuje jakąś metodą prób i błędów, bo w zaasadzie ciezko kumam, no ale nie wychodzi

Ten post edytował Grzesiekb91 18.06.2015, 12:56:17
Go to the top of the page
+Quote Post
patwoj98
post
Post #6





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

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


Porzucić lepiej tę książkę i poucz się ze stron na necie, które nauczą Cię mysqli bo z tym to już możesz do diabła iść.

  1. <td><a href="movie_details.php?movie_id=$movie_id">Dowiedz sie wiecej na temat $movie_name</a></td>


W tym momencie wystarczy, że zmienisz:
- miejsce do którego prowadzi link
- to co ma być przekazane GETem czyli to co jest za "?"
- i zmienisz zmienne o nazwie $movie_id

P.S. Szukałem w referencji atrybutu "a" czegoś takiego jak title. Coś on dodaje, zmienia?

http://www.w3schools.com/tags/tag_a.asp
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #7





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


jak mam zmienić zmienną ? wgl pojęcie dla mnie nie zrozumiałe, specjalnie ją dodałem (movie_id), żeby sie te cholerne linki wyswietlaly, wiec jak mam ją zmienić ? czy ona wgl ma coś wspólnego z nazwą rezysera czy aktora? Ja juz probowałem dosyć długo, jak puisałem, metodą prób i błędów, ja już takie rzeczy tam wpisywałem, że szkoda gadać, a książka faktycznie, nie uczy niczego, jedynie dzięki niej mam więcej pytań niż odpowiedzi.......

  1. <td>$<a href="movie_details.php?movie_director=$movie_director"
  2. title="Dowiedz sie wiecej na temat $movie_director">$movie_director</td>


cuda na kiju... a to o co pytasz nic nie zmienia, czy to jest czy nie, strona wyglda tak samo


tego $ juz usunalem tam w kodzie, i strona wyswietla sie tak:
(IMG:http://imageshack.com/a/img661/3977/dWeWoW.jpg)


wyswietla sie numer rezysera zamiast imienia i nazwiska

ludziska skad wy sie tego nauczyliscie, ze umiecia, a z taka strona mecze sie 5 dni ? kupilem ta ksiazke pare lat temu za 100zł do nauki tworzenia stron php, i obslugi mysql, okazała sie kupą gówna, teraz kupiłem nową

"PHP i MySQL. Wprowadzenie
Autorzy: Michele Davis, Jon Phillips" choc korzystam ze starej, bo w starej sie wydaje prosciejsza...


Choć możliwe, że jestem po prostu tępy, bo skoro drugi raz mi tłumaczysz, najprostszą rzecz jaką jest linkowanie, to chyba coś jest nie tak ze mną, w dodatku mam dwie książlki i lipa, mam pytanie czy te kursy po 5 tys. zł coś dają wgl ?

Ten post edytował Grzesiekb91 19.06.2015, 11:28:22
Go to the top of the page
+Quote Post
patwoj98
post
Post #8





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

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


Wygląda, ale spróbuj tak jak Ci podałem. Po co Ci ten dolar między <td>, a a ?

1. Wpakuj cały row tabeli do while. Inaczej będzie Ci się tylko ostatnio pobrany rekord z bazy wrzucał w linki.
Tak to powinno wyglądać:

  1. while ($row = mysql_fetch_array($result)) {
  2. $movie_id = $row['movie_id'];
  3. $movie_name = $row['movie_name'];
  4. $movie_director = $row['movie_director'];
  5. $movie_leadactor = $row['movie_leadactor'];
  6. //pobranie mienia i nazwiska rezesera z tabeli people
  7. get_director();
  8. get_leadactor();
  9. $movie_details .=<<<EOD
  10. <tr>
  11.  
  12. <td><a href="movie_details.php?movie_id=$movie_id">Dowiedz sie wiecej na temat $movie_name</a></td>
  13. <td><a href="movie_details.php?movie_director=$movie_director">Dowiedz sie wiecej na temat $movie_director</a></td>
  14. <td><a href="movie_details.php?movie_leadactor=$movie_leadactor">Dowiedz sie wiecej na temat $movie_leadactor</a></td>
  15. </tr>
  16. }


Nie wiem co zwracają funkcje get_director(); i get_leadactor(); oraz nie wiem czy w pliku movie_details.php masz pobieranie danych dla tych wszystkich elementów, więc jeśli jest tak jak myślę - funkcje nie robią nic, a w tym pliku pobierasz wszystkie dane w zależności od zapytania to u góry masz jak to powinno być.

EDIT: Nigdy nie korzystałem z kursów. Książkę mam, ale obrasta kurzem bo niestety nie nadąża za technologią. Internet jest pełen wiedzy. Wiele nauczyłem się od kolegów po fachu i z manuala.

Ten post edytował patwoj98 19.06.2015, 11:31:01
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #9





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


wywala błąd w ostatniej linijce kodu czyli "?>" strony movie_details.php jeszcze nie ma, to był podrozdział dotyczący tylko tego jak zalinkować nazwy filmów, udało się bezproblemowo (prawie (IMG:style_emoticons/default/haha.gif) )

przepisze z książki kawałek

"Po dodaniu funkcji get_director(), i get_leadactor(), skrypt dla każdego wiersza głównych wyników wykonuje dodatkowe zapytania. W ten sposób uzyskujemy potrzebne informacje bez zaśmiecxania oryginalnego zapytania. Dodatkowo zmieniliśm,y formatowanie końcówki tabeli, aby uniknąć problemów z poprzedniego przykładu" Gratulujemy ! Oto pierwsszy wykonany wspólnie skrypt, który pobiera informacje z bazy danych i umiesszcza je w ładnie wglądającej tabeli HTML. Nie zamierzamy jednak spocząć na laurach"


BTW. Nabprawde bardzo ładna ta tabela HTML... :-)


EDIT:: OK JUZ DZIAŁA, dzieje sie to :

(IMG:http://imageshack.com/a/img540/6994/nKsW3f.png)

Ten post edytował Grzesiekb91 19.06.2015, 11:52:16
Go to the top of the page
+Quote Post
patwoj98
post
Post #10





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

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


Jak wywala błąd to wklej cały aktualny skrypt i wklej błąd pod tym. To, że jest napisane, że w ostatniej błąd to nic nie znaczy.

Ten post edytował patwoj98 19.06.2015, 11:49:27
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #11





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


moze w sumie , dobry skrypt pisałem wcześniej, ale dlaczego zamiast imienia i nazwiska wyswietlaja sie numery ? mi to się wydawało od samego początku, ze skoro dodałem w pętli while movie_id, to może też coś takiego musze zrobić coś tam dodać, ogólnie to różnie tam probowałem wpisywać

people_fullname, people_id, movie_director, people_isdirector, bo takie cuś w książce było, jak tworzyłem baze danych, i robiłem tak metodą prób i błędów, coś tam dodawałem z tego do tej pętli, później usuwałem, dodawałem gdzie indziej, no nic, w tej książce jest tak naje****ne, że nie idzie rozgryźć, albo people_isdirector, albo movie_director, bo właśnie nie rozumie, dlaczego nie pisze people_isdirector, a movie_director, tworze wgl coś nowego, i to się przecież w głowie miesza i pytanie powstaje DLACZEGO ? w tej książce tego nie ma dlaczego

Ten post edytował Grzesiekb91 19.06.2015, 11:58:13
Go to the top of the page
+Quote Post
patwoj98
post
Post #12





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

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


Porównaj nasze skrypty. Obstawiam, że znajdziesz różnice (IMG:style_emoticons/default/smile.gif)

Te numery to prawdopodobnie ID z bazy. Nie wiem czy tworzyłeś bazę, jeśli tak to pewnie masz tabelę reżyser i tam masz idRezyser oraz imie i nazwisko.
A w tabeli z filmami masz tylko ID do tamtej tabeli.
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #13





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


  1. ......mysql_select_db ("moviesite");
  2.  
  3. $movie = "CREATE TABLE movie (
  4. movie_id int(11) NOT NULL auto_increment,
  5. movie_name varchar(255) NOT NULL,
  6. movie_type tinyint(2) NOT NULL default 0,
  7. movie_year int(4) NOT NULL default 0,
  8. movie_leadactor int(11) NOT NULL default 0,
  9. movie_director int(11) NOT NULL default 0,
  10. PRIMARY KEY (movie_id),
  11. KEY movie_type (movie_type, movie_year)
  12. )";
  13. $results = mysql_query($movie)
  14. $movietype = "CREATE TABLE movietype (
  15. movietype_id int(11) NOT NULL auto_increment,
  16. movietype_label varchar(100) NOT NULL,
  17. PRIMARY KEY (movietype_id)
  18. )";
  19.  
  20. $results = mysql_query($movietype) or die(mysql_error());
  21.  
  22. $people = "CREATE TABLE people (
  23. people_id int(11) NOT NULL auto_increment,
  24. people_fullname varchar(255) NOT NULL,
  25. people_isactor tinyint(1) NOT NULL default 0,
  26. people_isdirector tinyint(1) NOT NULL default 0,
  27. PRIMARY KEY (people_id)
  28. )";
  29. $results = mysql_query($people) or die(mysql_error());
  30. .....



no tak title nie dałeś po prostu dlatego tak mi się wyświetlilo

Ten post edytował Grzesiekb91 19.06.2015, 12:03:45
Go to the top of the page
+Quote Post
patwoj98
post
Post #14





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

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


Najlepiej pobierz PHPMyAdmin lub Adminera i tam pokaż co mają kolumny. Jeśli masz localhosta typu Wamp to masz phpMyAdmina
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #15





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


(IMG:http://imageshack.com/a/img905/8331/BwzCoR.png)

czyli musiałbym coś zrobić w tej pętli while (IMG:style_emoticons/default/questionmark.gif) żeby wyswietlalo people_fullname ale tylko people_isdirector ?
Go to the top of the page
+Quote Post
patwoj98
post
Post #16





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

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


Jedna tabelka to za mało. Udostępnij te 3 co tworzysz. To Ci powiem jak pobierać (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #17





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


(IMG:http://imageshack.com/a/img905/986/pGCcZA.png)

(IMG:http://imageshack.com/a/img908/2444/eBphCU.png)
Go to the top of the page
+Quote Post
patwoj98
post
Post #18





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

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


  1. function get_director($dir){
  2. $result = mysql_query("SELECT `people_fullname` FROM `NAZWA_1_TABELKI` WHERE `people_id` = '$dir' " );
  3. $result = mysql_fetch_assoc($result);
  4.  
  5. $director = $result['people_fullname'];
  6. return $director;
  7. }
  8.  
  9. function get_leadactor($act){
  10. $result = mysql_query("SELECT `people_fullname` FROM `NAZWA_1_TABELKI` WHERE `people_id` = '$act' " );
  11. $result = mysql_fetch_assoc($result);
  12.  
  13. $actor = $result['people_fullname'];
  14. return $actor;
  15. }
  16. while ($row = mysql_fetch_array($result)) {
  17. $movie_id = $row['movie_id'];
  18. $movie_name = $row['movie_name'];
  19. $movie_director = $row['movie_director'];
  20. $movie_leadactor = $row['movie_leadactor'];
  21. //pobranie mienia i nazwiska rezesera z tabeli people
  22. get_director($movie_director);
  23. get_leadactor($movie_leadactor);
  24. $movie_details .=<<<EOD
  25. <tr>
  26.  
  27. <td><a href="movie_details.php?movie_id=$movie_id">Dowiedz sie wiecej na temat $movie_name</a></td>
  28. <td><a href="movie_details.php?movie_director=$movie_director">Dowiedz sie wiecej na temat $director</a></td>
  29. <td><a href="movie_details.php?movie_leadactor=$movie_leadactor">Dowiedz sie wiecej na temat $actor</a></td>
  30. </tr>
  31. }


Sprawdź to
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #19





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


sorry stary, że Cie tak wykorzystuje:

  1. <?php
  2. $link = mysql_connect("localhost", "bp5am", "bp5ampass") or die ("Sprawdz polaczenie z serwerem.");
  3. mysql_select_db("moviesite") or die (mysql_error());
  4. $query = "SELECT movie_id, movie_name, movie_director, movie_leadactor FROM movie";
  5. $result = mysql_query($query,$link) or die(mysql_error());
  6. $num_movies = mysql_num_rows($result);
  7. $movie_header=<<<EOD
  8. <h2><center>Baza danych recenzji filmw</center></h2>
  9. <table width="70%" border="1" cellpadding="2" cellspacing="2" align="center">
  10. <tr>
  11. <th>Tytul filmu</th>
  12. <th>Reżyser</th>
  13. <th>Główny aktor</th>
  14.  
  15. </tr>
  16.  
  17. EOD;
  18. function get_director(){
  19. global $movie_director;
  20. global $director;
  21. $query_d = "SELECT people_fullname " .
  22. "FROM people " .
  23. "WHERE people_id='$movie_director'";
  24.  
  25. $results_d = mysql_query($query_d) or die(mysql_error());
  26. $row_d = mysql_fetch_array($results_d);
  27. extract($row_d);
  28. $director = $people_fullname;
  29. }
  30. function get_leadactor(){
  31. global $movie_leadactor;
  32. global $leadactor;
  33.  
  34. $query_a = "SELECT people_fullname " .
  35. "FROM people " .
  36. "WHERE people_id='$movie_leadactor'";
  37. $results_a = mysql_query ($query_a) or die(mysql_error());
  38. $row_a = mysql_fetch_array($results_a);
  39. extract ($row_a);
  40. $leadactor = $people_fullname;
  41. }
  42. while ($row = mysql_fetch_array($result)) {
  43. $movie_id = $row['movie_id'];
  44. $movie_name = $row['movie_name'];
  45. $movie_director = $row['movie_director'];
  46. $movie_leadactor = $row['movie_leadactor'];
  47. //pobranie mienia i nazwiska rezesera z tabeli people
  48. get_director();
  49. get_leadactor();
  50. $movie_details .=<<<EOD
  51.   <tr>
  52.  
  53.   <td><a href="movie_details.php?movie_id=$movie_id">Dowiedz sie wiecej na temat $movie_name</a></td>
  54.   <td><a href="movie_details.php?movie_director=$movie_director">Dowiedz sie wiecej na temat $movie_director</a></td>
  55.   <td><a href="movie_details.php?movie_leadactor=$movie_leadactor">Dowiedz sie wiecej na temat $movie_leadactor</a></td>
  56.   </tr>
  57.   EOD;
  58. }
  59. $movie_details .=<<<EOD
  60.  
  61. <tr>
  62.  
  63.  
  64. <td>Łącznie filmów: $num_movies</td>
  65. </tr>
  66. </table>
  67. EOD;
  68. $movie_footer="</table>";
  69. $movie =<<<MOVIE
  70. $movie_header
  71. $movie_details
  72. $movie_footer
  73. MOVIE;
  74. echo "W bazie danych znajduje się $num_movies filmów.";
  75. echo $movie;
  76. ?>





ja tam w swoim kodzie mialem EOD;, ty dałeś bez, to sie wyswietlal błąd, więc dodałem z powrotem, więć błąd teraz sie wyswietla w ostantiej linijce kodu strony
Go to the top of the page
+Quote Post
patwoj98
post
Post #20





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

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


  1. <?php
  2. $link = mysql_connect("localhost", "bp5am", "bp5ampass") or die ("Sprawdz polaczenie z serwerem.");
  3. mysql_select_db("moviesite") or die (mysql_error());
  4. $query = "SELECT movie_id, movie_name, movie_director, movie_leadactor FROM movie";
  5. $result = mysql_query($query,$link) or die(mysql_error());
  6. $num_movies = mysql_num_rows($result);
  7. $movie_header=<<<EOD
  8. <h2><center>Baza danych recenzji filmw</center></h2>
  9. <table width="70%" border="1" cellpadding="2" cellspacing="2" align="center">
  10. <tr>
  11. <th>Tytul filmu</th>
  12. <th>Reżyser</th>
  13. <th>Główny aktor</th>
  14.  
  15. </tr>
  16.  
  17. EOD;
  18. function get_director($dir){
  19. $result = mysql_query("SELECT `people_fullname` FROM `NAZWA_1_TABELKI` WHERE `people_id` = '$dir' " );
  20. $result = mysql_fetch_assoc($result);
  21.  
  22. $director = $result['people_fullname'];
  23. return $director;
  24. }
  25.  
  26. function get_leadactor($act){
  27. $result = mysql_query("SELECT `people_fullname` FROM `NAZWA_1_TABELKI` WHERE `people_id` = '$act' " );
  28. $result = mysql_fetch_assoc($result);
  29.  
  30. $actor = $result['people_fullname'];
  31. return $actor;
  32. }
  33. while ($row = mysql_fetch_array($result)) {
  34. $movie_id = $row['movie_id'];
  35. $movie_name = $row['movie_name'];
  36. $movie_director = $row['movie_director'];
  37. $movie_leadactor = $row['movie_leadactor'];
  38. //pobranie mienia i nazwiska rezesera z tabeli people
  39. get_director($movie_director);
  40. get_leadactor($movie_leadactor);
  41. $movie_details .=<<<EOD
  42.   <tr>
  43.  
  44.   <td><a href="movie_details.php?movie_id=$movie_id">Dowiedz sie wiecej na temat $movie_name</a></td>
  45.   <td><a href="movie_details.php?movie_director=$movie_director">Dowiedz sie wiecej na temat $director</a></td>
  46.   <td><a href="movie_details.php?movie_leadactor=$movie_leadactor">Dowiedz sie wiecej na temat $actor</a></td>
  47.   </tr>
  48. EOD;
  49. }
  50. $movie_details .=<<<EOD
  51.  
  52. <tr>
  53.  
  54.  
  55. <td>Łącznie filmów: $num_movies</td>
  56. </tr>
  57. </table>
  58. EOD;
  59. $movie_footer="</table>";
  60. $movie =<<<MOVIE
  61. $movie_header
  62. $movie_details
  63. $movie_footer
  64. MOVIE;
  65. echo "W bazie danych znajduje się $num_movies filmów.";
  66. echo $movie;
  67. ?>


Podawaj co PHP zwraca.

Ten post edytował patwoj98 19.06.2015, 12:39:21
Go to the top of the page
+Quote Post
nospor
post
Post #21





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




EOD; ma byc w pierwszej kolumnie nowej linii a nie w polowie linii

http://php.net/manual/en/language.types.string.php
Cytat
The closing identifier must begin in the first column of the line.

Nawet kolorowanie na forum pokazuje ci wyraźny błąd w tym miejscu
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #22





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


Parse error: syntax error, unexpected $end in C:\xampp\test\tabel4.php on line 67
Go to the top of the page
+Quote Post
patwoj98
post
Post #23





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

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


Skopiuj z poprzedniej strony mój kod i go wklej sobie.
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #24





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


to właśnie zrobiłem

(IMG:http://imageshack.com/a/img540/1166/gnzgni.png)

Ten post edytował Grzesiekb91 19.06.2015, 12:41:59
Go to the top of the page
+Quote Post
patwoj98
post
Post #25





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

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


Linijka 19 i 27, przeczytaj ją. Tam jest capsem zrobione abyś wpisał nazwę tabelki bo ja jej nie znam. To ta z 1 Twojego skrinu
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #26





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


kurde, przepraszam już z tych nerwów i ciągłego robienia tego samego sie zagalopowałem, teraz się wyswietla to samo, tyle że bez błędów ponad tabelą...
Go to the top of the page
+Quote Post
patwoj98
post
Post #27





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

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


Za wywołaniem funkcji wstaw, tj. w linii 41 wstaw var_dump($director); var_dump($actor); To co jest w tej lini proszę przesuń enterem w dół.
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #28





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


  1. <?php
  2. $link = mysql_connect("localhost", "bp5am", "bp5ampass") or die ("Sprawdz polaczenie z serwerem.");
  3. mysql_select_db("moviesite") or die (mysql_error());
  4. $query = "SELECT movie_id, movie_name, movie_director, movie_leadactor FROM movie";
  5. $result = mysql_query($query,$link) or die(mysql_error());
  6. $num_movies = mysql_num_rows($result);
  7. $movie_header=<<<EOD
  8. <h2><center>Baza danych recenzji filmw</center></h2>
  9. <table width="70%" border="1" cellpadding="2" cellspacing="2" align="center">
  10. <tr>
  11. <th>Tytul filmu</th>
  12. <th>Reżyser</th>
  13. <th>Główny aktor</th>
  14.  
  15. </tr>
  16.  
  17. EOD;
  18. function get_director($dir){
  19. $result = mysql_query("SELECT `people_fullname` FROM `people` WHERE `people_id` = '$dir' " );
  20. $result = mysql_fetch_assoc($result);
  21.  
  22. $director = $result['people_fullname'];
  23. return $director;
  24. }
  25.  
  26. function get_leadactor($act){
  27. $result = mysql_query("SELECT `people_fullname` FROM `people` WHERE `people_id` = '$act' " );
  28. $result = mysql_fetch_assoc($result);
  29.  
  30. $actor = $result['people_fullname'];
  31. return $actor;
  32. }
  33. while ($row = mysql_fetch_array($result)) {
  34. $movie_id = $row['movie_id'];
  35. $movie_name = $row['movie_name'];
  36. $movie_director = $row['movie_director'];
  37. $movie_leadactor = $row['movie_leadactor'];
  38. //pobranie mienia i nazwiska rezesera z tabeli people
  39. var_dump($director);
  40. var_dump($leadactor);
  41. get_director($movie_director);
  42. get_leadactor($movie_leadactor);
  43.  
  44. $movie_details .=<<<EOD
  45.   <tr>
  46.  
  47.   <td><a href="movie_details.php?movie_id=$movie_id">Dowiedz sie wiecej na temat $movie_name</a></td>
  48.   <td><a href="movie_details.php?movie_director=$movie_director">Dowiedz sie wiecej na temat $director</a></td>
  49.   <td><a href="movie_details.php?movie_leadactor=$movie_leadactor">Dowiedz sie wiecej na temat $actor</a></td>
  50.   </tr>
  51. EOD;
  52. }
  53. $movie_details .=<<<EOD
  54.  
  55. <tr>
  56.  
  57.  
  58. <td>Łącznie filmów: $num_movies</td>
  59. </tr>
  60. </table>
  61. EOD;
  62. $movie_footer="</table>";
  63. $movie =<<<MOVIE
  64. $movie_header
  65. $movie_details
  66. $movie_footer
  67. MOVIE;
  68. echo "W bazie danych znajduje się $num_movies filmów.";
  69. echo $movie;
  70. ?>



Dodałem ten vardump przed
  1. $movie_details .=<<<EOD
(to bylo w linii 41 -ją zsunąłem w dół),

W tabeli bez zmian. Ponad tabela wyswietla sie "NULL NULL NULL NULL NULL NULL W bazie danych znajduje się 3 filmów."

Ten post edytował Grzesiekb91 19.06.2015, 13:18:32
Go to the top of the page
+Quote Post
patwoj98
post
Post #29





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

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


Zmień Twój kod na mój kod!
Bo narazie jest Twój, który nie zwraca tego co mój.

Wtedy z var_dumpuj
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #30





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


to jest twój kod, skopiowałem raz jeszcze i zmienilem nazwe tej tabelki, no i jak napisałem, wyświetla się NULL NULL NULL NULL NULL NULL W bazie danych znajduje się 3 filmów.
Go to the top of the page
+Quote Post
patwoj98
post
Post #31





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

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


Widzę, że to nie mój bo zupełnie inne funkcje są wpisane niż ja mam...
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #32





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


przeciez ściągnąłem ten twój kod nawet (IMG:style_emoticons/default/sad.gif) ewidentnie wszystko to jest po***ne, źle skopiowałem na forumn, ale u mnie w nottatniku jest alles gut, no i błą taki jak mówiłem

Ten post edytował Grzesiekb91 19.06.2015, 13:19:03
Go to the top of the page
+Quote Post
patwoj98
post
Post #33





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

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


Popraw, żeby na forum było to co aktualnie masz. Nie mogę szukać błędu w Twoim notatniku.
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #34





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


Poprawiłem, poprawiłem już :-) ale swoją drogą skoro przecież tylko dodałem to co kazałeś to gdzie mógł być ten błąd ? dodałem tylko dwie linijki bardzo krótkiego kodu (IMG:style_emoticons/default/sad.gif) jak dodaje var_dump, wyswietla sie nad tabela "NULL NULL NULL NULL NULL NULL W bazie danych znajduje się 3 filmów." , wiec roznica bez dumpa jest taka ze nie mia tych zer

  1. <?php
  2. $link = mysql_connect("localhost", "bp5am", "bp5ampass") or die ("Sprawdz
  3.  
  4. polaczenie z serwerem.");
  5. mysql_select_db("moviesite") or die (mysql_error());
  6. $query = "SELECT movie_id, movie_name, movie_director, movie_leadactor FROM
  7.  
  8. movie";
  9. $result = mysql_query($query,$link) or die(mysql_error());
  10. $num_movies = mysql_num_rows($result);
  11. $movie_header=<<<EOD
  12. <h2><center>Baza danych recenzji filmw</center></h2>
  13. <table width="70%" border="1" cellpadding="2" cellspacing="2" align="center">
  14. <tr>
  15. <th>Tytul filmu</th>
  16. <th>Reżyser</th>
  17. <th>Główny aktor</th>
  18.  
  19. </tr>
  20.  
  21. EOD;
  22. function get_director($dir){
  23. $result = mysql_query("SELECT `people_fullname` FROM `people` WHERE
  24.  
  25. `people_id` = '$dir' " );
  26. $result = mysql_fetch_assoc($result);
  27.  
  28. $director = $result['people_fullname'];
  29. return $director;
  30. }
  31.  
  32. function get_leadactor($act){
  33. $result = mysql_query("SELECT `people_fullname` FROM `people` WHERE
  34.  
  35. `people_id` = '$act' " );
  36. $result = mysql_fetch_assoc($result);
  37.  
  38. $actor = $result['people_fullname'];
  39. return $actor;
  40. }
  41. while ($row = mysql_fetch_array($result)) {
  42. $movie_id = $row['movie_id'];
  43. $movie_name = $row['movie_name'];
  44. $movie_director = $row['movie_director'];
  45. $movie_leadactor = $row['movie_leadactor'];
  46. //pobranie mienia i nazwiska rezesera z tabeli people
  47.  
  48. get_director($movie_director);
  49. get_leadactor($movie_leadactor);
  50. var_dump($director);
  51. var_dump($actor);
  52.  
  53. $movie_details .=<<<EOD
  54.   <tr>
  55.  
  56.   <td><a href="movie_details.php?movie_id=$movie_id">Dowiedz sie wiecej
  57.  
  58. na temat $movie_name</a></td>
  59.   <td><a href="movie_details.php?movie_director=$movie_director">Dowiedz
  60.  
  61. sie wiecej na temat $director</a></td>
  62.   <td><a
  63.  
  64. href="movie_details.php?movie_leadactor=$movie_leadactor">Dowiedz sie wiecej
  65.  
  66. na temat $actor</a></td>
  67.   </tr>
  68. EOD;
  69. }
  70. $movie_details .=<<<EOD
  71.  
  72. <tr>
  73.  
  74.  
  75. <td>Łącznie filmów: $num_movies</td>
  76. </tr>
  77. </table>
  78. EOD;
  79. $movie_footer="</table>";
  80. $movie =<<<MOVIE
  81. $movie_header
  82. $movie_details
  83. $movie_footer
  84. MOVIE;
  85. echo "W bazie danych znajduje się $num_movies filmów.";
  86. echo $movie;
  87. ?>


nie wiedziałem, że linkowanie może sprawić tyle problemu... może powrócę do HTML'a i Microsoft Frontpage'a

Ten post edytował Grzesiekb91 19.06.2015, 13:30:40
Go to the top of the page
+Quote Post
patwoj98
post
Post #35





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

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


W var_dump-y wklej wywołania funkcji z powyższych 2 linijek. 1 var_dump - 1 funkcja
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #36





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


nie rozumie
Go to the top of the page
+Quote Post
patwoj98
post
Post #37





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

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


var_dump(get_director($movie_director));
var_dump(get_director($movie_leadactor));
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #38





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


"string(11) "Tom Shadyac" string(10) "Jim Carrey" string(10) "Mike Judge" string(14) "Ron Livingston" string(15) "Lawrence Kasdan" string(11) "Kevin Kline" W bazie danych znajduje się 3 filmów.
" takie coś wyrzuca mi
Go to the top of the page
+Quote Post
patwoj98
post
Post #39





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

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


Czyli funkcje zwracają to co mają. To chcąc nie chcąc to musi działać...
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #40





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


tyle, że nie wyswietlaja się one w tabeli tylko nad tabelą, trudno, moze faktycznie zrezygnuje z tej ksiazki

(IMG:http://imageshack.com/a/img909/72/5dB77q.jpg)

no i lipa

Ten post edytował Grzesiekb91 19.06.2015, 13:43:04
Go to the top of the page
+Quote Post
nospor
post
Post #41





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Czyli funkcje zwracają to co mają. To chcąc nie chcąc to musi działać...
Prowadzi slepy głuchego...

@patwoj a od kiedy RETURN w funkcji powoduje wyswietlanie wyniku na ekran? Co z tego ze funkcja cos tam zwraca, skoro ty tego nie odbierasz w ogole?
Go to the top of the page
+Quote Post
patwoj98
post
Post #42





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

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


  1. <tr>
  2.  
  3. <td><a href="movie_details.php?movie_id=$movie_id">Dowiedz sie wiecej
  4.  
  5. na temat $movie_name</a></td>
  6. <td><a href="movie_details.php?movie_director=$movie_director">Dowiedz
  7.  
  8. sie wiecej na temat get_director($movie_director)</a></td>
  9. <td><a
  10.  
  11. href="movie_details.php?movie_leadactor=$movie_leadactor">Dowiedz sie wiecej
  12.  
  13. na temat get_leadactor($movie_leadactor)</a></td>
  14. </tr>


Spróbuj tak.

@nospor - skoro już się wypowiadasz to pomóż nam i naprowadź. Zdaje sobie sprawę, że nie jestem znawcą perfekt tematu, ale od kogoś się trzeba uczyć

Ten post edytował patwoj98 19.06.2015, 13:48:33
Go to the top of the page
+Quote Post
nospor
post
Post #43





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Caly czas naprowadzam. Najpierw poprawilem Wam EOD, teraz wyjasniam ci podstawy funkcji. Co jeszcze mam zrobic? Nie umiesz wyniku funkcji zapisac w zmiennej?
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #44





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


możesz zrobić mi to z tym "title=" ? bez tego title bałagan w komórkach zamiast nazwisk, imion, nazw filmow, kody sa w komórkach "Dowiedz sie wiecej na temat get_director(2)" z całą pewnoscia z title= , bedzie sam numer, czyli to samo co na poczatku, zamiast nazwiska, wyswietla sie jego numer, podporządkowany numerowi filmu czy jakos tak, juz sam nie wiem co mówie, nie wiem co czytam, nie wiem co wpisuje w nottatnik :-)
(IMG:https://imagizer.imageshack.us/v2/1199x234q90/538/Df08BZ.jpg)

Ten post edytował Grzesiekb91 19.06.2015, 14:00:17
Go to the top of the page
+Quote Post
patwoj98
post
Post #45





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

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


Dobra, czyli powinno być tak. Nie myślałem.

  1. <?php
  2. $link = mysql_connect("localhost", "bp5am", "bp5ampass") or die ("Sprawdz
  3.  
  4. polaczenie z serwerem.");
  5. mysql_select_db("moviesite") or die (mysql_error());
  6. $query = "SELECT movie_id, movie_name, movie_director, movie_leadactor FROM
  7.  
  8. movie";
  9. $result = mysql_query($query,$link) or die(mysql_error());
  10. $num_movies = mysql_num_rows($result);
  11. $movie_header=<<<EOD
  12. <h2><center>Baza danych recenzji filmw</center></h2>
  13. <table width="70%" border="1" cellpadding="2" cellspacing="2" align="center">
  14. <tr>
  15. <th>Tytul filmu</th>
  16. <th>Reżyser</th>
  17. <th>Główny aktor</th>
  18.  
  19. </tr>
  20.  
  21. EOD;
  22. function get_director($dir){
  23. $result = mysql_query("SELECT `people_fullname` FROM `people` WHERE
  24.  
  25. `people_id` = '$dir' " );
  26. $result = mysql_fetch_assoc($result);
  27.  
  28. $director = $result['people_fullname'];
  29. return $director;
  30. }
  31.  
  32. function get_leadactor($act){
  33. $result = mysql_query("SELECT `people_fullname` FROM `people` WHERE
  34.  
  35. `people_id` = '$act' " );
  36. $result = mysql_fetch_assoc($result);
  37.  
  38. $actor = $result['people_fullname'];
  39. return $actor;
  40. }
  41. while ($row = mysql_fetch_array($result)) {
  42. $movie_id = $row['movie_id'];
  43. $movie_name = $row['movie_name'];
  44. $movie_director = $row['movie_director'];
  45. $movie_leadactor = $row['movie_leadactor'];
  46. //pobranie mienia i nazwiska rezesera z tabeli people
  47.  
  48. $director = get_director($movie_director);
  49. $actor = get_leadactor($movie_leadactor);
  50.  
  51. $movie_details .=<<<EOD
  52.   <tr>
  53.  
  54.   <td><a href="movie_details.php?movie_id=$movie_id">Dowiedz sie wiecej
  55.  
  56. na temat $movie_name</a></td>
  57.   <td><a href="movie_details.php?movie_director=$movie_director">Dowiedz
  58.  
  59. sie wiecej na temat $director</a></td>
  60.   <td><a
  61.  
  62. href="movie_details.php?movie_leadactor=$movie_leadactor">Dowiedz sie wiecej
  63.  
  64. na temat $actor</a></td>
  65.   </tr>
  66. EOD;
  67. }
  68. $movie_details .=<<<EOD
  69.  
  70. <tr>
  71.  
  72.  
  73. <td>Łącznie filmów: $num_movies</td>
  74. </tr>
  75. </table>
  76. EOD;
  77. $movie_footer="</table>";
  78. $movie =<<<MOVIE
  79. $movie_header
  80. $movie_details
  81. $movie_footer
  82. MOVIE;
  83. echo "W bazie danych znajduje się $num_movies filmów.";
  84. echo $movie;
  85. ?>


Ten post edytował patwoj98 19.06.2015, 14:00:21
Go to the top of the page
+Quote Post
nospor
post
Post #46





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




zamieniles RETURN na echo a potem odbierasz wynik funkcji... kurcze, no to są podstawy... skoro wynik zapisujesz w zmiennej, to RETURN ma zostac

poza tym, zadne dodatkowe funkcje nie są potrzebne, gdyz te dodatkowe funkcje generują całą masę zbednych zapytan.

Do głównego zapytania:
$query = "SELECT movie_id, movie_name, movie_director, movie_leadactor FROM
movie";
nalezy dodać dwa LEFT JOIN, ktore pobiorą dane odpowiednio dla movie_director i movie_leadactor. Wszystko wiec sprowadzi sie do jednego głównego zapytania i bedzie szybkie.
Go to the top of the page
+Quote Post
Grzesiekb91
post
Post #47





Grupa: Zarejestrowani
Postów: 41
Pomógł: 0
Dołączył: 6.01.2011

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


Pomoz ktos (IMG:style_emoticons/default/exclamation.gif) jak ktos pomoze to porobie dzis jeszcze te strony, choć denerwują mnie do czerwoności, słabe nerwy mam niestety :-) jak nie to ide sie nachlac, bo juz od 12 nosi mna i caly czas mysle, o tym ze tak prosta rzecz moze byc tak trudna
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
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: 23.08.2025 - 04:51