Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem Ćwiczenie PHP5, Apache, Mysql
Forum PHP.pl > Forum > PHP
Misieksc
Witam właśnie uczę się PHP5, MySQL, Apache książka wydana przez helion doszedłem do końca rozdziału IV i mam taki problem ponieważ przepisałem wszystko tak jak jest podane w podręczniku i po wywołaniu skryptu w przeglądarce wyświetla mi się komunikat o treść "Query was empty" domyślam się ze gdzieś popełniłem błąd w zapytaniach do MySQL tylko nie mogę go zlokalizować liczę na naprowadzenie mnie smile.gif

Oto kod plik movie_details.php
CODE

  1. <?php
  2. $link = mysql_connect("localhost", "root", "pass")
  3. mysql_select_db("misiek_moviesite")
  4. or die (mysql_error());
  5.  
  6. /* Funkcja obliczająca czy film okazał się kasowym sukcesem czy raczej sromotna porażka */
  7. function calculate_differences($takings, $cost) {
  8. $difference = $takings - $cost;
  9.  
  10. if ($difference < 0) {
  11. $difference = substr($difference, 1);
  12. $font_color = 'red' ;
  13. $profit_or_loss = "$" . $difference . "m";
  14. } elseif ($difference > 0 ) {
  15. $font_color ='green' ;
  16. $profit_or_loss = "$" . $difference . "m";
  17. } else {
  18. $font_color = 'blue' ;
  19. $profit_or_loss = "Równowaga";
  20. }
  21. return "<font color=\"$font_color\">" . $profit_or_loss . "</font>";
  22. }
  23.  
  24. /*Funkcja pobierająca imię i nazwisko rezysera z tabeli people*/
  25. function get_director() {
  26. global $movie_director;
  27. global $director;
  28.  
  29. $query_d = "SELECT people_fullname " .
  30. "FROM people " .
  31. "WHERE people_id ='$movie_director'";
  32. $results_d = mysql_query($query_d)
  33. $row_d = mysql_fetch_array($results_d);
  34. extract($row_d);
  35. $director = $people_fullname;
  36. }
  37.  
  38. /*Funkcja pobierająca imię i nazwisko głównego aktora z tabeli people */
  39. function get_leadactor() {
  40. global $movie_leadactor;
  41. global $leadactor;
  42.  
  43. $query_a = "SELECT people_fullname " .
  44. "FROM people " .
  45. "WHERE people_id='$movie_leadactor'";
  46. $results_a = mysql_query($query_a)
  47. $row_a = mysql_fetch_array($results_a);
  48. extract($row_a);
  49. $leadactor = $people_fullname;
  50. }
  51.  
  52. function generate_ratings($review_rating) {
  53. $movie_rating = '';
  54. for($i=0; $i<$review_rating; $i++){
  55. $movie_rating .= "<img src=\"img\gwiazdka2.jpg\">$nbsp;";
  56. }
  57. return $movie_rating;
  58. }
  59. $movie_query = "SELECT * FROM movie " .
  60. "WHERE movie_id = '" . $_GET['movie_id'] . "'";
  61. $movie_result = mysql_query($query, $link)
  62.  
  63. $movie_table_headings=<<<EOD
  64. <tr>
  65. <th>Tytuł Filmu</th>
  66. <th>Rok produkcji</th>
  67. <th>Reżyser</th>
  68. <th>Główny Aktor</th>
  69. <th>Czas trwania</th>
  70. <th>Zysk lub strata</th>
  71. </tr>
  72. EOD;
  73.  
  74. $review_table_headings=<<<EOD
  75. <tr>
  76. <th>Data wystawienia</th>
  77. <th>Tytuł recenzji</th>
  78. <th>Recenzent</th>
  79. <th>Treść recenzji</th>
  80. <th>Ocena</th>
  81. </tr>
  82. EOD;
  83.  
  84. while($review_row = mysql_fetch_array($review_result)) {
  85. $review_flag =1;
  86. $review_title[] = $review_row['review_name'];
  87. $review_name[] = ucwords($review_row['review_reviewer_name']);
  88. $review[] = $review_row['review_comment'];
  89. $review_date[] = $review_row['review_date'];
  90. $review_rating = generate_ratings($review_row['review_rating']);
  91. }
  92.  
  93. $i=0;
  94. $review_details = '';
  95. while ($i<sizeof($review)){
  96. $review_details .=<<<EOD
  97. <tr>
  98. <td width="15%" valign="top" align="center">$review_date[$i]</td>
  99. <td width="15%" valign="top">$review_title[$i]</td>
  100. <td width="10%" valign="top">$reviewe_name[$i]</td>
  101. <td width="50%" valign="top">$review[$i]</td>
  102. <td width="10%" valign="top" align="center">$review_rating[$i]</td>
  103. </tr>
  104. EOD;
  105. $i++;
  106. }
  107.  
  108.  
  109. while ($row = mysql_fetch_array($movie_result)) {
  110. $movie_name = $row['movie_name'];
  111. $movie_director = $row['movie_director'];
  112. $movie_leadactor = $row['movie_leadactor'];
  113. $movie_year = $row['movie_year'];
  114. $movie_running_time = $row['movie_running_time']." min.";
  115. $movie_takings = $row['movie_takings'];
  116. $movie_cost = $row['movie_cost'];
  117.  
  118. //pobranie imienia i nazwiska rezysera z tabeli people
  119. get_director();
  120.  
  121. //pobranie imienia i nazwiska głównego aktora z tabeli people
  122. get_leadactor();
  123. }
  124.  
  125. $review_query = "SELECT * FROM reviews " .
  126. "WHERE review_movie_id ='" . $_GET['movie_id'] . "' " .
  127. "ORDER BY review_date DESC";
  128. $review_result = mysql_query($review_query, $link)
  129.  
  130. $movie_health = calculate_differences($movie_takings, $movie_cost);
  131. $page_start =<<<EOD
  132. <html>
  133. <head>
  134. <title>Szczegóły i recenzje dla: $movie_name</title>
  135. </head>
  136. <body>
  137. EOD;
  138.  
  139. $movie_details =<<<EOD
  140. <table width="70%" border="0" cellspacing="2" cellpadding="2" align="center">
  141. <tr>
  142. <th colspan="6"><u><h2>$movie_name: szczegóły</h2></u></th>
  143. </tr>
  144. $movie_table_headings
  145. <tr>
  146. <td width="33%" align="center">$movie_name</td>
  147. <td align="center">$movie_year</td>
  148. <td align="center">$director</td>
  149. <td align="center">$leadactor</td>
  150. <td align="center">$movie_running_time</td>
  151. <td align="center">$movie_health</td>
  152. </tr>
  153. </table>
  154. <br>
  155. <br>
  156. EOD;
  157.  
  158. if ($review_flag) {
  159. $movie_details .=<<<EOD
  160. <table width="95%" border='0' cellspacing="2" cellpadding="20" align="center">
  161. $review_table_headings
  162. $review_details
  163. </table>
  164. EOD;
  165. }
  166. $detailed_movie_info =<<<EOD
  167. $page_start
  168. $movie_details
  169. $page_end
  170. EOD;
  171.  
  172. echo $detailed_movie_info;
  173. ?>

zend
daj na początku
  1. ini_set('display_errors' , 'on');

I wyświetl wszystkie zapytania, i wykonaj każde w phpMyAdminie, potem daj nam to niepoprawne. Poczytaj też jak usunąć globale z kodu
R4D3K
Podstawowe pytanie czy stworzyłeś bazę danych ? Czy są w niej jakieś rekordy questionmark.gif
Misieksc
ok już doszedłem do błędu smile.gif a mianowicie występował on w tym zapytaniu


Błędne:
  1. $movie_query = "SELECT * FROM movie " .
  2. "WHERE movie_id='" . $_GET['movie_id'] . "'";
  3. $movie_result = mysql_query($query, $link)


Poprawne:
  1. $movie_query = "SELECT * FROM movie " .
  2. "WHERE movie_id='" . $_GET['movie_id'] . "'";
  3. $movie_result = mysql_query($movie_query, $link)


ale mam jeszcze jeden problem chodzi mi o tą linijke
  1. $movie_rating .="<img src=\"gwiazdka2.jpg\">&nbsp;";

nie wyświetla mi obrazka tylko pierwszy znak w z nawiasu czyli <
zend
Spróbuj tak
  1. $movie_rating .='<img src="gwiazdka2.jpg">&nbsp;';
A swoją drogą forum to nie parser ani html ani php, najpierw sam popróbuj, potem pisz
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.