04/02/2016

Projeto final de BD: LIFE IN PHP





<?php
/***********************************************************************************************
* Nome: Publisher_V0.php
* Autor: AMG & André Fernandes // a21401371
* Data da versão inicial: 2015-12-11
* Data da última alteração: 2016-02-04
* ----------------------------------------------------------------------------------------------
* Objectivo:
*    Gerar a página referente a 'Publisher'
* ----------------------------------------------------------------------------------------------
* Para incluír no site este script alterar a tabela 'menuTree' com o comando que se segue
UPDATE amvi.menuTree
   SET sub_page = './Application/Publisher_V0.php'
 WHERE title = 'Publisher';
***********************************************************************************************/

/* ---------------------------------------------------------------------------------------------
Trabalho a efectuar:
Seleccionar as ocorrências de "Publisher" e apresentá-los em lista.
Cada linha da lista deve ser um link para a própria página com o parâmetro 'Publisher'.
Através do valor do parâmetro 'Publisher', seleccionam-se os dados de Publisher 
(engine + source) 
Tendo em atenção o modelo de dados da BD,
acrescentar os LINKS internos relevantes para outras páginas do site.
   ------------------------------------------------------------------------------------------ */
{
// Div com lista de links ---------------------------------------------------------------
echo ("<div style='border:1px solid red; padding:5px; width:290px; float:left;'>");
echo ("<h3>Publishers</h3>");

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Vamos fazer magia.
DisplayListPublishers ();

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

echo ("</div>");
echo ("<div style='border:1px solid blue; padding:5px; width:680px; float:left;'>");
echo ("<h3>  </h3>");
if (array_key_exists('user_name', $_GET)) {
$Publisher  = $_GET['user_name'];
} else {
$Publisher  = ' ';
}
apresentaLista($Publisher);
echo "&nbsp;<hr/>";
echo ("<h5><b>AMV_TD_01</b> - <b>André Fernandes (a21401371)</b>");
echo ("</div>");
}


function apresentaLista($Publisher) {
$_publisher = $Publisher;
if($_publisher == ' ') { // se o valor do publisher for nulo, não apresentar lista de jogos
} else {
// Esta função permite definir um publisher e de seguida apresentar os jogos do mesmo
////// QUERY - GET info ABOUT PUBLISHER ///////////////////////////////////////////////////////////////////////////////////
$db_server = 'localhost';
$db_user = 'root';
$db_password = '';
$db_name = 'amvi';
$table_name = 'Company';
$columns_list = 'headquarters, region, foundation_date, company_type';

$db = mysqli_connect($db_server, $db_user, $db_password, $db_name);
if ($db == FALSE) {
echo mysqli_errno($db).": ".mysqli_error($db)."<BR>";
exit();
}
$sql = "SELECT ".$columns_list."
FROM ".$table_name."
WHERE name = '".$_publisher."';";
/*
WHERE publisher = '".$_publisher."'
GROUP BY sub_title";*/
 
echo '<h3 style="text-transform: uppercase;"><b>'.$_publisher.'</b></h3>';
$result = mysqli_query($db, $sql);
$nr_rows = mysqli_num_rows($result);
if ($nr_rows == 0) {
echo ('<h5>Não há Linhas para apresentação do Site!</h5>');
} else {
for ($n = 0 ; $n < $nr_rows ; $n++) {
// Extrai cada linha do 'Data Set' e guarda-as no Array $row[]
$row[$n] = mysqli_fetch_array($result);
// Para cada linha extraida formata os dados a apresentar
echo('<h4><i>Informações acerca da empresa: </i></h4>');
echo('<b>SEDE: </b>'); echo ($row[$n]['headquarters']."<br/>");
echo('<b>REGIÃO: </b>'); echo ($row[$n]['region']."<br/>");
echo('<b>DATA DE FUNDAÇÃO: </b>');echo ($row[$n]['foundation_date']."<br/>");
echo('<b>TIPO DE EMPRESA: </b>');echo ($row[$n]['company_type']."<br/>");
}
}
// Fecha-se a conexão
mysqli_close($db);
////////////////////////////////////////////////////// FIM DA QUERY - Informações do Publisher //////////////////////////////////////////

////// QUERY - GET GAMES BY PUBLISHER ///////////////////////////////////////////////////////////////////////////////////
/*
$db_server = 'localhost';
$db_user = 'root';
$db_password = '';
$db_name = 'amvi';
$table_name = 'tmp_jogos';
$columns_list = 'title, sub_title';
$db = mysqli_connect($db_server, $db_user, $db_password, $db_name);
if ($db == FALSE) {
echo mysqli_errno($db).": ".mysqli_error($db)."<BR>";
exit();
}
// -------------------------------------------------------------------
// Extrai as linhas referentes à tabela a apresentar 
// -------------------------------------------------------------------
// Neste exemplo defini-se o publisher como sendo a Activision
/*$sql = "SELECT ".$columns_list."
FROM ".$table_name."
WHERE publisher = 'Activision'
GROUP BY sub_title";*/
 
 
/*
$sql = "SELECT ".$columns_list."
FROM ".$table_name."
WHERE publisher = '".$_publisher."'
GROUP BY sub_title";
 
echo '<h4 style="text-transform: uppercase;">Lista de jogos publicados por: <b>'.$_publisher.'</b></h4>';
$result = mysqli_query($db, $sql);
$nr_rows = mysqli_num_rows($result);
if ($nr_rows == 0) {
echo ('<h5>Não há Linhas para apresentação do Site!</h5>');
} else {
for ($n = 0 ; $n < $nr_rows ; $n++) {
// Extrai cada linha do 'Data Set' e guarda-as no Array $row[]
$row[$n] = mysqli_fetch_array($result);
// Para cada linha extraida formata os dados a apresentar
echo ($row[$n]['title']." | ".$row[$n]['sub_title']."<br/>");
}
}
// Fecha-se a conexão
mysqli_close($db);*/
////// QUERY - GET GAMES BY PUBLISHER COM LINKS ///////////////////////////////////////////////////////////////////////////////////
$db_server = 'localhost';
$db_user = 'root';
$db_password = '';
$db_name = 'amvi';
$table_name = 'tmp_jogos';
$columns_list = 'title, sub_title';
$db = mysqli_connect($db_server, $db_user, $db_password, $db_name);
if ($db == FALSE) {
echo mysqli_errno($db).": ".mysqli_error($db)."<BR>";
exit();
}
// -------------------------------------------------------------------
// Extrai as linhas referentes à tabela a apresentar 
// -------------------------------------------------------------------
// Neste exemplo defini-se o publisher como sendo a Activision
/*$sql = "SELECT ".$columns_list."
FROM ".$table_name."
WHERE publisher = 'Activision'
GROUP BY sub_title";*/
 
 
$sql = "SELECT ".$columns_list."
FROM ".$table_name."
WHERE publisher = '".$_publisher."'
GROUP BY sub_title";
 
echo '<h4 style="text-transform: uppercase;">Lista de jogos publicados por: <b>'.$_publisher.'</b></h4>';
$result = mysqli_query($db, $sql);
$nr_rows = mysqli_num_rows($result);
if ($nr_rows == 0) {
echo ('<h5>Não há Linhas para apresentação do Site!</h5>');
} else {
for ($n = 0 ; $n < $nr_rows ; $n++) {
// Extrai cada linha do 'Data Set' e guarda-as no Array $row[]
$row[$n] = mysqli_fetch_array($result);
// Para cada linha extraida formata os dados a apresentar
//echo ($row[$n]['title']." | ".$row[$n]['sub_title']."<br/>");
$user_name = $row[$n]['title'];
$op = getOpNumber ('Game'); // Original Page?
$sub_page='./Application/Game_V0.php'; $parameters = "version=V2&user_name=$user_name";
$abrev_name = $row[$n]['title'];
$sel = false;
//echo ("<td class='".$rowclass."'>"); linkToPage($op,$sub_page,$parameters,$abrev_name,$sel); echo ("</td>");
//linkToPage($op,$sub_page,$parameters,$abrev_name,$sel); echo ("</td>");
linkToPage_Games($op,$sub_page,$parameters,$abrev_name,$sel); echo (' / '.$row[$n]['sub_title']."<br/>");
echo ("</td>");
echo ("</tr>");
}
}
// Fecha-se a conexão
mysqli_close($db);
////////////////////////////////////////////////////// FIM DA QUERY - Lista de Jogos By Publisher //////////////////////////////////////////
} // else que verifica se o publisher realmente existe
} // fim da função


function linkToPage_Publisher($op,$sub_page,$parameters,$label,$sel)
{
$URL=$_SERVER['PHP_SELF']."?op=".$op."&sub_page=".$sub_page;
if ($parameters!='') $URL.="&".$parameters;
if ($sel == 'off')
echo ("<a href='".$URL."'>".$label."</a><br/>");
else
echo ("<a href='".$URL."'><b>".$label."</b></a><br/>");
}

function linkToPage_Games($op,$sub_page,$parameters,$label,$sel)
{
// Igual, só não contém os </brs>
$URL=$_SERVER['PHP_SELF']."?op=".$op."&sub_page=".$sub_page;
if ($parameters!='') $URL.="&".$parameters;
if ($sel == 'off')
echo ("<a href='".$URL."'>".$label."</a>");
else
echo ("<a href='".$URL."'><b>".$label."</b></a>");
}


function DisplayListPublishers ()
{
$db_server = 'localhost';
$db_user = 'root';
$db_password = '';
$db_name = 'amvi';
$table_name = 'tmp_jogos';
$columns_list = 'publisher';
$db = mysqli_connect($db_server, $db_user, $db_password, $db_name);
if ($db == FALSE) {
echo mysqli_errno($db).": ".mysqli_error($db)."<BR>";
exit();
}
// -------------------------------------------------------------------
// Extrai as linhas referentes à tabela a apresentar 
// -------------------------------------------------------------------
//$sql = "SELECT ".$columns_list." FROM ".$table_name;
$sql = "SELECT ".$columns_list.", COUNT(*)
FROM ".$table_name." 
WHERE publisher IS NOT NULL
GROUP BY publisher
ORDER BY publisher;";
 
//echo '<h4>Output:</h4>';
//echo $sql.'</br>';
echo '<hr/>';
$result = mysqli_query($db, $sql);
$nr_rows = mysqli_num_rows($result);
if (!$db || $nr_rows == 0) {
echo ('<h5>O resultado retornado foi nulo.</h5>');
} else {
for ($n = 0 ; $n < $nr_rows ; $n++) {
// Extrai cada linha do 'Data Set' e guarda-as no Array $row[]
$row[$n] = mysqli_fetch_array($result);
// Para cada linha extraida formata os dados a apresentar
//echo ($row[$n]['publisher'].'<br/>'); // apresenta apenas a lista de publishers
// Este código pega no id do publisher e cria um link ao mesmo tempo que apresenta a lista de publishers 
//echo '<td><a href="Publisher_V0.php?id=' . $row[$n]['publisher'] . '"> '.$row[$n]['publisher'].'</a></td><br/>';
//echo '<td><a href="?id=' . $row[$n]['publisher'] . '"> '.$row[$n]['publisher'].'</a></td><br/>';
//echo '<td><a href="#' . $row[$n]['publisher'] . '" onClick = "SetPublisher()" > '.$row[$n]['publisher'].'</a></td><br/>';
// echo ("<button onClick='SetPublisher()'>".$row[$n]['publisher']."</button><br/> ");
//echo('<td><a href="#' . $row[$n]['publisher'] . '"> '.$row[$n]['publisher'].'</a></td><br/>');
//echo('<td><a href="#' . $row[$n]['publisher'] . '"> '.$row[$n]['publisher'].'</a></td><br/>');
// Inserido um LINK para a própria página mas passando o parametro user_name com o valor do $user_name
// $user_name= $_SESSION['dataSet'][$n]['user_name'];
$user_name = $row[$n]['publisher'];
$op = getOpNumber ('Publisher'); // Original Page?
$sub_page='./Application/Publisher_V0.php'; $parameters = "version=V2&user_name=$user_name";
$abrev_name = $row[$n]['publisher'];
$sel = false;
//echo ("<td class='".$rowclass."'>"); linkToPage($op,$sub_page,$parameters,$abrev_name,$sel); echo ("</td>");
//linkToPage($op,$sub_page,$parameters,$abrev_name,$sel); echo ("</td>");
linkToPage_Publisher($op,$sub_page,$parameters,$abrev_name,$sel); echo ("</td>");
echo ("</tr>");
}
}
// Fecha-se a conexão
mysqli_close($db);
//echo '<h4>Fim do Output:</h4>';

// Fim 1ª parte
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

}


function DisplayDetailPublishers ($title, $sub_title, $Publisher)
{
// função a desenvolver
}

function DisplayReleasesFor ($title, $sub_title, $Publisher)
{
// função a desenvolver
}

?>

Sem comentários:

Enviar um comentário

Faça-se ouvir. Diga o que acha a respeito deste assunto!