2011-05-01 211 views
0

嘿傢伙,我想知道如果我可以得到一些我正在爲一個項目建設的網站的幫助。它幾乎完成,但我正在努力與一個部分,這基本上是評論。問題與評論類型評論

我正在創建一個電影評論網站,有點像IMDB.com,但我只是上課,但我真的很努力與我真的很想工作的部分。

對我來說,理想的情況下,將有一個人能在他們想搜索什麼電影類型,再經過他們推提交他們被帶到另一個頁面。在該頁面上顯示電影信息,例如電影名稱,說明,流派,評分等等。然後,在那裏回顧人們對電影的看法。但是,我無法得到的一件事是,當有人說阿凡達輸入了電影評論,但是當他們輸入Ghost Rider時,就會出現完全相同的評論,如果有意義的話,我希望他們分開。

對於我的表我有,

  • 電影

    MovieID, Description, Rating, Genre 
    
  • 評論

    ReviewID, Name, Review, MovieID 
    

我對這個部分只是停滯不前,這是一種竊聽我,我看了不少地方,仍然無法找到我正在尋找的東西。 這是我的代碼,我很遺憾地告訴我,我不擅長PHP或編程。所有這些都是在Dreamweaver中完成的,所以如果看起來很亂,那就是爲什麼。

<?php require_once('../Connections/lesson6.php'); ?> 

<?php 
//initialize the session 
if (!isset($_SESSION)) { 
session_start(); 
} 

// ** Logout the current user. ** 
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true"; 
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){ 
$logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']); 
} 

if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){ 
//to fully log out a visitor we need to clear the session varialbles 
$_SESSION['MM_Username'] = NULL; 
$_SESSION['MM_UserGroup'] = NULL; 
$_SESSION['PrevUrl'] = NULL; 
unset($_SESSION['MM_Username']); 
unset($_SESSION['MM_UserGroup']); 
unset($_SESSION['PrevUrl']); 

$logoutGoTo = "index.php"; 
if ($logoutGoTo) { 
header("Location: $logoutGoTo"); 
exit; 
} 
} 
?> 
<?php require_once('../Connections/lesson6.php'); ?> 
<?php 
if (!isset($_SESSION)) { 
session_start(); 
} 
$MM_authorizedUsers = ""; 
$MM_donotCheckaccess = "true"; 

// *** Restrict Access To Page: Grant or deny access to this page 
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) { 
// For security, start by assuming the visitor is NOT authorized. 
$isValid = False; 

// When a visitor has logged into this site, the Session variable MM_Username set equal  to their username. 
// Therefore, we know that a user is NOT logged in if that Session variable is blank. 
if (!empty($UserName)) { 
// Besides being logged in, you may restrict access to only certain users based on an ID established when they login. 
// Parse the strings into arrays. 
$arrUsers = Explode(",", $strUsers); 
$arrGroups = Explode(",", $strGroups); 
if (in_array($UserName, $arrUsers)) { 
    $isValid = true; 
} 
// Or, you may restrict access to only certain users based on their username. 
if (in_array($UserGroup, $arrGroups)) { 
    $isValid = true; 
} 
if (($strUsers == "") && true) { 
    $isValid = true; 
} 
} 
return $isValid; 
} 

$MM_restrictGoTo = "login.php"; 
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers,  $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) { 
$MM_qsChar = "?"; 
$MM_referrer = $_SERVER['PHP_SELF']; 
if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&"; 
if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0) 
$MM_referrer .= "?" . $_SERVER['QUERY_STRING']; 
$MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer); 
header("Location: ". $MM_restrictGoTo); 
exit; 
} 
?> 
<?php 
if (!function_exists("GetSQLValueString")) { 
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{ 
if (PHP_VERSION < 6) { 
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; 
} 

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); 

switch ($theType) { 
case "text": 
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; 
    break;  
case "long": 
case "int": 
    $theValue = ($theValue != "") ? intval($theValue) : "NULL"; 
    break; 
case "double": 
    $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; 
    break; 
case "date": 
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; 
    break; 
case "defined": 
    $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; 
    break; 
} 
return $theValue; 
} 
} 

if (!function_exists("GetSQLValueString")) { 
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{ 
if (PHP_VERSION < 6) { 
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; 
} 

$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); 

switch ($theType) { 
case "text": 
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; 
    break;  
case "long": 
case "int": 
    $theValue = ($theValue != "") ? intval($theValue) : "NULL"; 
    break; 
case "double": 
    $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; 
    break; 
case "date": 
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; 
    break; 
case "defined": 
    $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; 
    break; 
} 
return $theValue; 
} 
} 

$colname_GetMovie = "-1"; 
if (isset($_GET['Search'])) { 
$colname_GetMovie = $_GET['Search']; 
} 
mysql_select_db($database_lesson6, $lesson6); 
$query_GetMovie = sprintf("SELECT * FROM movie WHERE MovieName = %s",  GetSQLValueString($colname_GetMovie, "text")); 
$GetMovie = mysql_query($query_GetMovie, $lesson6) or die(mysql_error()); 
$row_GetMovie = mysql_fetch_assoc($GetMovie); 
$totalRows_GetMovie = mysql_num_rows($GetMovie); 

mysql_select_db($database_lesson6, $lesson6); 
$current_MovieID=MovieID; 
$query_Recordset1 = "SELECT * FROM reviews WHERE MovieID=$current_MovieID"; 
$Recordset1 = mysql_query($query_Recordset1, $lesson6) or die(mysql_error()); 
$row_Recordset1 = mysql_fetch_assoc($Recordset1); 
$totalRows_Recordset1 = mysql_num_rows($Recordset1); 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Results</title> 
<link href="styles/style_sheet.css" rel="stylesheet" type="text/css" /> 



<style type="text/css"> 
a:link { 
color: #0F0; 
} 
a:visited { 
color: #0F0; 
} 
</style> 
</head> 
<body> 

<div id="main_container"> 
<div id="header"> 

</div><!--End of header--> 
<div class="shadow"> 
<div id="navbar"><a href="index.php">Home</a> &nbsp;&nbsp;&nbsp; <a  href="register.php">Register</a> &nbsp;&nbsp;&nbsp; <a href="login.php">Login</a>/<a href="<?php echo $logoutAction ?>">Logout</a> &nbsp;&nbsp;&nbsp; <a href="Search.php">Search</a></div><!--End of NavBar--> 
</div><!--End of navbar shadow--> 
<br /> 
<div class="shadow"> 
<div id="Content"> 
<h2> Results:</h2> 
<?php if ($totalRows_GetMovie == 0) { // Show if recordset empty ?> 
<form id="form1" name="form1" method="post" action=""> 
Sorry, there was no movie with that name in the database. Click <a href="Search.php">here</a> to search again. 
</form> 
<?php } // Show if recordset empty ?> 
<p>&nbsp;</p> 
<?php if ($totalRows_GetMovie > 0) { // Show if recordset not empty ?> 
<form action="" name="Movie_Search"method="get"> 
<p>Movie Name: <?php echo $row_GetMovie['MovieName']; ?></p> 
<p> Movie Description: <?php echo $row_GetMovie['Description']; ?></p> 
<p>Genre: <?php echo $row_GetMovie['Genre']; ?></p> 
<p>Rating: <?php echo $row_GetMovie['Rating']; ?></p> 
<p>&nbsp;</p> 
</form> 
<?php } // Show if recordset not empty ?> 
<label for="movie_search"></label> 
<form action="" method="get"> 
<center><h2>Reviews</h2></center> 
<?php do { ?> 
<table width="566"> 
    <tr> 
    <td width="20" height="97"><p><img src="Pictures/Male-User-icon.png" width="67" height="67" /></p></td> 
    <td width="534"><p> <?php echo $row_Recordset1['Name']; ?> says:</p> 
     <p><?php echo $row_Recordset1['Review']; ?></p> 
     <p>-------------------------------------------------------------------------------------------------</p></td> 
    </tr> 
</table> 
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?> 
<p>&nbsp;</p> 
<p>&nbsp;</p> 
<form id="insert_comments" s style="border:thin" name="insert_comments" method="POST"first_name"> 
First Name:</label> 
<br /> 
    <input type="text" name="first_name" id="first_name" /> 
<br> 
    <label for="desc">Comments:<br /></label> 
<textarea name="comments" id="comments" cols="45" rows="5"></textarea> 
</p> 
<p> 
<input type="submit" name="submit" id="submit" value="Submit" /> 
</p> 
</form> 

<p>&nbsp;</p> 
</div> 
<!--End of Contentr--> 
</div><!--End of content shadow--> 

<div class="footer"> 

<hr />© Nate Christensen<hr /> 
</div><!--End of footer--> 
</div><!--End of Main Container--> 


</body> 
</html> 
<?php 
mysql_free_result($GetMovie); 

mysql_free_result($Recordset1); 

?> 
+0

對不起,我不明白你的問題。 'SELECT * FROM條評論MovieID = $ movieid ORDER BY ReviewID DESC'? – dog 2011-05-01 23:11:54

+0

向我們展示一些代碼... – fvu 2011-05-01 23:11:54

回答

2

評論表包含評論,對嗎?我可以看到你有一個MovieID列,所以你應該能夠以條件WHERE MovieID = '$current_movie_id'來查詢數據庫以獲得對某個電影的評論。

+0

是的,你是對的評論表持有的意見。這有一定道理,問題是,雖然我的類使用Dreamweaver和它基本上是寶寶的,你的整個時間,所以我試圖做到這一點W/O所有這些服務器的行爲並沒有什麼,但現在它就像這樣在我的頭上,並如果我能以某種方式發佈我的代碼,那隻會是一團糟。但古斯塔夫確實對Where子句有意義。但還有一個簡單的問題,我將如何聲明$ current_movie_id? – Nate 2011-05-02 01:45:47