0

私はこれを正しくしようとしていますが、うまくいきません。データベースからすべてのデータを取得できますが、ユーザーがフォームに入力した html フォームからジョブ名を取得し、ユーザーがフォームに入力した場所も取得し、これらのテキストをジョブ名および場所フィールドと比較したかったのです。データベース上のテーブル。紛らわしいと思いますが、何もしない私のコードは次のとおりです。

<html>
<body>
<?php
ob_start();
$host=""; // Host name 
$username= ""; // Mysql username 
$password=""; // Mysql password 
$db_name=""; // Database name 
$tbl_name=""; // Table name 

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// Define $myusername and $mypassword 
$job=$_POST['jobName'];
$mylocation=$_POST['location'];

// To protect MySQL injection (more detail about MySQL injection)
$job = stripslashes($job);
$mylocation = stripslashes($mylocation);
$job = mysql_real_escape_string($job);
$mylocation = mysql_real_escape_string($mylocation);

$sql="SELECT * FROM ".$tbl_name." WHERE jobName='".$job."' and      location='".$mylocation."';";

$result=mysql_query($sql);

$num=mysql_numrows($result);

mysql_close();
?>
<table border="0" cellspacing="2" cellpadding="2">
<tr>
<td><font face="Arial, Helvetica, sans-serif">jobName</font></td>
<td><font face="Arial, Helvetica, sans-serif">jobType</font></td>
<td><font face="Arial, Helvetica, sans-serif">Location</font></td>
<td><font face="Arial, Helvetica, sans-serif">Description</font></td>
<td><font face="Arial, Helvetica, sans-serif">Contact</font></td>
</tr>

<?php
$i=0;
while ($i < $num) {

$job=mysql_result($result,$i,"jobName");
$type=mysql_result($result,$i,"jobType");
$myLocation=mysql_result($result,$i,"location");
$desc=mysql_result($result,$i,"description");
$cont=mysql_result($result,$i,"contact");
?>

<tr>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $job; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $type; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $myLocation; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $desc; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $cont; ?></font></td>
</tr>

<?php
$i++;
}
ob_end_flush();
?>
</body>
</html>

私を助けるために良いチュートリアルが必要なだけですが、これまでに調査したことは何も役に立ちませんでした。おそらく、同様の問題を示すサンプルコード、またはこのコードのどこが間違っているかを説明する助けを得ることができれば. それは有り難いです。

4

1 に答える 1

0

これ、またはこれを指す他のページにHTMLフォームが必要です。次のようになります

<form method="post" action="file-above.php" (leave action attribute empty if it's in the same file)>
 <input type="text" name="jobName" />
 <input type="text" name="location" />
</form>

上記のコードは、物事がどのように機能するかを示すためのものであり、完全ではありません。

于 2012-12-05T06:42:15.443 に答える