2012-06-16 3 views
2

저자가 작성한 서적을 검색하는 페이지가 있습니다 (2 개월 전에받은 과제를 기반으로 한 정말 기본적인 검색). 나는 드롭 다운 박스에서 저자를 선택하고 "Submit"버튼을 누르면 결과가 나타납니다. 여기 제출 버튼을 누른 후 데이터베이스 항목을 표시하십시오.

페이지의 코드입니다 :

<?php 

include ("includes/connections.php"); 

if($_POST) 
{ 
    if (!isset($_POST["authors"])){ 
      header("Location: searchAuthor.php");  
      exit; 
    } 

    foreach ($_POST["authors"] as $author) 
    { 
     ????????? 
    } 
} 
?> 

<?php include ("includes/connections.php"); 
function dropdown($intIdField, $strfNameField, $strlNameField, $strTableName, $strOrderField, $strNameOrdinal, $strMethod="asc") { 
    echo "<select name=\"{$strNameOrdinal}[]\">\n"; 

    echo "<option value=\"NULL\">Select Value</option>\n"; 

    $strQuery = "SELECT $intIdField, $strfNameField, $strlNameField 
       FROM $strTableName 
       ORDER BY $strOrderField $strMethod"; 

    $rsrcResult = mysql_query($strQuery) or die(mysql_error()); 

    while($arrayRow = mysql_fetch_assoc($rsrcResult)) { 
     $strA = $arrayRow["$intIdField"]; 
     $strB = $arrayRow["$strlNameField"] . " " . $arrayRow["$strfNameField"];  
     echo "<option value=\"$strA\">$strB</option>\n"; 
    } 

    echo "</select>"; 
} 
?> 

<!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>Add Book Information</title> 
<link href="back.css" rel="stylesheet" type="text/css" /> 
</head> 

<body> 
<h1>Search for Books of an Author</h1><table width="528" border="0" align="center"> 
    <tr> 
     <td width="480"><span id="tip">*Hitting the "Search books of Author" button without filling the fields with an asterisk will just reset the form</span></td> 
    </tr> 
    </table> 
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" id="formBook"> 
    <table width="563" border="0" align="center">  
    <tr> 
     <td style="text-align: right"><label for="authors">Select an Author*:</label></td> 
     <td><?php dropdown("author_ID", "author_firstname", "author_lastname", "author", "author_lastname", "authors"); ?></td> 
    </tr> 
    <tr> 
     <td>&nbsp;</td> 
     <td>&nbsp;</td> 
    </tr> 
    <tr> 
     <td>&nbsp;</td> 
     <td><input type="submit" name="submit" id="submit" value="Search books of Author" /></td> 
    </tr> 
    <tr> 
     <td><div align="left"><img src="images/buttonleft.png" alt="previous" width="70" height="70" usemap="#Previous" border="0"></div></td> 
     <td><div align="right"><img src="images/buttonright.png" alt="next" width="70" height="70" usemap="#Next" border="0"> 
     <map name="Previous"> 
      <area shape="circle" coords="35,35,33" href="addSubject.php"> 
     </map> 
     <map name="Next"> 
      <area shape="circle" coords="35,35,33" href="addEdition.php"> 
     </map> 
     </div></td> 
    </tr> 
    </table> 
</form> 

</body> 
</html> 

당신은 내가 (이 같은 작은 물건을 편리) 테이블 내부의 모든 것을 가지고 볼 수 있듯이. 제출 버튼을 누르면 쿼리의 결과를 표시하는 메소드에 입력하도록 선택한 작성자가 원한다. 이 쿼리는 foreach에서 실행되며 ?????? 아르. 그렇다면 쿼리의 결과를 사용하여 내 테이블 (더 많은 행을 추가하고 PHP 함수를 통해 각 행에 결과 하나를 삽입 함)을 결과에 표시해야합니다.

PHP로 처리하는 방법이 있습니까? 나는 PHP와 html로 Javascript를 사용하는 법을 모른다. 비록 내가 다른 페이지에 쿼리의 결과를 삽입하고 거기에 모든 것을 표시해야한다고해도 나는 그걸로 괜찮습니다.

아직 검색어를 작성하지 않았습니다.

실제로 foreach는 저자가 작성한 각 책을 하나의 변수에 넣습니다.

답변

1

다음은 예입니다. 검색어/입력란은 가짜입니다.

는 는
<?php 

if (isset($_POST['Submit'])) { 

    $strQuery = "SELECT 'field1', 'field2', 'field3' 
      FROM $strTableName 
      ORDER BY $strOrderField $strMethod"; 

$rsrcResult = mysql_query($strQuery) or die(mysql_error()); 

?> 
<table> 
<td> HEADER 1 </td> <td> HEADER 2 </td> <td> HEADER 3 </td> 

<?php 

while ($row = mysql_fetch_array($rsrcResult) { 
echo "<tr><td>".$row['field1']."</td><td>".$row['field2']."</td><td>".$row['field3']."</td>"; 

} 

?> 

</table> 
는 당신이 첫 번째 장소
+0

, 내 문제가 난에 대해 단지 걱정 변수'$ rsrcResult'가 globbaly로 사용되어 while 루프에서 사용할 수 있습니까? –

+0

에서 쿼리의 결과를 전달하는 방법을 나는이 작업을 수행하는 방법을 알고 – ioannis

+0

의 기능을 필요로하는 이유는 내가하지 않는 다른 PHP 함수 –

관련 문제