Source of: /ADI/embeddedLinks/filmes.php

<html>
<head>
   <title>base de dados de filmes</title>
</head>
<body>
  
<?php

include 'db.inc';
include
'error.inc';

function
displayActores($result)
{
 
$nrows  = pg_num_rows($result);
  if(
$nrows > 0 ) {
  
printf("<ul>\n");
   for(
$i=0; $i<$nrows; $i++) {
    
$actor = pg_result($result,$i,0);
    
$linkActor = "filmes.php?nomeActor=".rawurlencode($actor);
     echo
"<li><a href=\"$linkActor\">$actor</a></li>\n"
   }
  
printf("</ul>\n");
  }
}

function
displayFilmes($result)
{
 
$nrows  = pg_num_rows($result);
  if(
$nrows > 0 ) {
  
printf("<ul>\n");
   for(
$i=0; $i<$nrows; $i++) {
    
$filme = pg_result($result,$i,0);
    
$ano  = pg_result($result,$i,1);
    
$linkFilme = "filmes.php?nomeFilme=" . rawurlencode($filme) . "&amp;anoFilme=$ano";
     echo
"<li><a href=\"$linkFilme\">$filme ($ano)</a></li>\n"
   }
  
printf("</ul>\n");
  }
}

$nomeFilme = $_GET["nomeFilme"];
$anoFilme  = $_GET["anoFilme"];
$nomeActor = $_GET["nomeActor"];

// ligação à base de dados
$db = dbconnect($connection_string); 
if(
$db) {
  if(isset(
$nomeFilme) && isset($anoFilme)) {
  
//
   // mostra actores que participaram em determinado filme
   //
  
$query = "SELECT nomeActor FROM participa
             WHERE nomeFilme = '$nomeFilme'
               AND anoFilme = $anoFilme"
;
   if(!(
$result = @ pg_query($db, $query )))
    
showerror($db);
  
   echo
"<h1>$nomeFilme ($anoFilme)</h1>";
  
displayActores($result);
  }

  elseif(isset(
$nomeActor)) {
  
//
   // mostra filmes em que um determinado actor participou
   //
  
$query = "SELECT nomeFilme, anoFilme FROM participa
             WHERE nomeActor = '$nomeActor'"
;
   if(!(
$result = @ pg_query($db, $query )))
    
showerror($db);
  
   echo
"<h1>$nomeActor</h1>";
  
displayFilmes($result);
  }

  else {
  
//
   // mostra todos os filmes
   //
  
$query = "SELECT nome, ano FROM filmes";
   if(!(
$result = @ pg_query($db, $query )))
    
showerror($db);
  
  
printf("<h1>Lista de filmes</h1>\n");
  
displayFilmes($result);
  }

// fechar a ligação à base de dados
pg_close($db);
?>
         
</body>
</html>