• 1
  • 2
Всичко за компютрите, компютърните мрежи.
subzero - специалист
някои може ли да ми каже какво не е наред в този скрипт че ми дава грешка ?
<?php
//connect to MySql
$link = mysql_connect("localhost","root","")
or die (mysql_error());
mysql_select_db("moviesite") or
die (mysql_error());
$query="SELECT movie_name,movie_director,movie_leadactor FROM movie";
$results= mysql_query($query,$link) or
die (mysql_error());
$num_movies=mysql_num_rows($results);
$movie_header=<<<EOD
<h2><center> Movie Review Database </center></h2>
<table width="70%" border="2" cellpadding="2"
cellspacing="2" align="center">
<tr>
<th> Movie Title </th>
<th> Year of Release </th>
<th> Movie Director </th>
<th> Movie Lead Actor </th>
<th> Movie Type </th>
</tr>
</table>
EOD;
function get_director() {
global $movie_director;
global $director;
$query_d="SELECT people_fullname FROM people WHERE people_id=$movie_director";
$results_d=mysql_query($query_d) or
die (mysql_error());
$row_d=mysql_fetch_array($results_d);
extract ($row_d);
$director=$people_name;
}
function get_leadactor(){
global $movie_leadactor;
global $leadactor;
$query_a="SELECT people_fullname FROM people WHERE people_id=$movie_leadactor";
$results_a=mysql_query($query_a) or
die (mysql_error());
$row_a=mysql_fetch_array($results_a);
extract ($row_a);
$leadactor=$people_fullname;
}
while ($row=mysql_fetch_array($results)) {
$movie_name=$row['movie_name'];
$movie_director=$row['movie_director'];
$movie_leadactor=$row['movie_leadactor'];
//vzimame director`s name from people table
get_director();
//vzimame leadactor`s name from people table
get_leadactor();
$movie_details .=<<<EOD
<tr>
<td>$movie_name</td>
<td>$director</td>
<td>$leadactor</td>
</tr>
EOD;
}
$movie_details .=<<<EOD
<tr>
<td>Total :$num_movies Movies</td>
</tr>
EOD;
$movie_footer = "</table>";
$movie =<<<MOVIE
$movie_header
$movie_details
$movie_footer
MOVIE;
echo "There are $num_movies movies in our database";
echo $movie;
?>
или по точно проблема май е в това в скрипта
$movie =<<<MOVIE
$movie_header
$movie_details
$movie_footer
MOVIE;
ще съм ви мн благодарен :prayer:
torbalan - Дървен философ
е, поне кажи каква грешка ти дава...
subzero - специалист
Parse error: syntax error, unexpected $end in D:\xampp\htdocs\table2.php on line 73
subzero - специалист
не. този код е от книгата програмиране и уеб дизайн с php5,apache i mysql. защо? там ли е проблема ?
hygro - майстор
Човече, доста неща не са наред, но най-напред отделяй HTML от PHP. За целта заграждай НАВСЯКЪДЕ PHP с <?php ?>
subzero - специалист
добре де, защо тогава са го написали така в книгата. взех си книгата за да уча php и mysql и до тук като изключим една грешка в код нещата вървяха добре, но сега нз как да го оправя за да продължа нататък :sad: можеш ли да ми кажеш как да редактирам кода за да сработи както трябва и от къде идва грешката ?
Osiris - специалист
ето ТУК може да понаучиш нещо за PHP
BAlexandrov - специалист
Като срещнеш пречка най-добре е да продължиш, а тя ще се изясни в един момент.
Действай направо с втория вариант на примера

Код: Избери всички

<?php
$link = mysql_connect("localhost","bp5am","bp5ampass") 
  or die(mysql_error());
mysql_select_db("moviesite") 
  or die (mysql_error());

$query = "SELECT movie_name, movie_director, movie_leadactor " .
         "FROM movie";

$result = mysql_query($query, $link) 
  or die(mysql_error());
$num_movies = mysql_num_rows($result);

$movie_header=<<<EOD
  <h2><center>Movie Review Database</center></h2>
  <table width="70%" border="1" cellpadding="2"
         cellspacing="2" align="center">
    <tr>
      <th>Movie Title</th>
      <th>Movie Director</th>
      <th>Movie Lead Actor</th>
    </tr>
     
EOD;

function get_director() {
  global $movie_director;
  global $director;

  $query_d = "SELECT people_fullname " .
             "FROM people " .
             "WHERE people_id='$movie_director'";
  $results_d = mysql_query($query_d) 
    or die(mysql_error());
  $row_d = mysql_fetch_array($results_d);
  extract($row_d);
  $director = $people_fullname;
}

function get_leadactor() {
  global $movie_leadactor;
  global $leadactor;

  $query_a = "SELECT people_fullname " .
             "FROM people " .
             "WHERE people_id='$movie_leadactor'";
  $results_a = mysql_query($query_a) 
    or die(mysql_error());
  $row_a = mysql_fetch_array($results_a);
  extract($row_a);
  $leadactor = $people_fullname;
}

while ($row = mysql_fetch_array($result)) {
  $movie_name = $row['movie_name']; 
  $movie_director = $row['movie_director'];
  $movie_leadactor = $row['movie_leadactor'];
     
  //get director's name from people table
  get_director();

  //get lead actor's name from people table
  get_leadactor();

  $movie_details .=<<<EOD
  <tr>
    <td>$movie_name</td>
    <td>$director</td>
    <td>$leadactor</td>
  </tr>
EOD;
}     

$movie_details .=<<<EOD
  <tr>
    <td>Total :$num_movies Movies</td>
  </tr>
EOD;

$movie_footer ="</table>";     
     
$movie =<<<MOVIE
               $movie_header
               $movie_details
               $movie_footer
MOVIE;

  echo "There are $num_movies movies in our database";
  echo $movie;
?>
hygro - майстор
hygro написа:
Човече, доста неща не са наред, но най-напред отделяй HTML от PHP. За целта заграждай НАВСЯКЪДЕ PHP с <?php ?>
Опс, грешката е моя - използвана е heredoc конструкция, която не догледах в бързината... Игнорирай горното - сорри.
subzero - специалист
няма проблем hygro :) bAlexandrov ми помогна и се оправи проблема ми :)
  • 1
  • 2

Тема "проблем с php script" | Включи се в дискусията:


Сподели форума:

Бъди информиран. Следвай "Направи сам" във Facebook:

Намери изпълнител и вдъхновения за дома. Следвай MaistorPlus във Facebook: