表格不搜索数据库或在页面上显示

时间:2014-02-26 15:04:08

标签: php html mysql

会发生什么:

用户在框中输入他们的ID并单击检查。 它搜索名为“damp”的数据库。 搜索在名为“card”的表中以及名为“state_id”的特定字段中查找。

如果state_id中的值为1,则表单将回显传递,如果为2,则回显取消,如果其为3,则回显已过期如果它找不到它,它就会找不到

实际发生的是表单未正确搜索且不显示任何内容。我试图把它改成一个开关(下面),而不是一个if,现在表格没有显示。

    <? include('common.php') ?>

<?php
if(isset($_POST['check']))
{
$conn = mysql_connect($server, $db_user, $db_pass);
if(! $conn )
{
 die('Could not connect: ' . mysql_error());
}

$id = $_POST['id'];


$sql ="SELECT state_id FROM card WHERE id = '$id'" ;
mysql_select_db('damp');
$result = mysql_query( $sql, $conn );
switch ($result)
{
case "1":
   echo "pass";
   break;
case "2":
   echo "canceled";
   break;
case "3":
   echo "expired";
   break;
default:
   echo "not found";
}

//echo $_GET['here']; // Prints the name of the page content
//echo $class_obj_id; // Prints the id number of the selected row
?>

<form method="post" action="<?php $_PHP_SELF ?>">
<h2>Check Auth</h2>
<table width="250" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="50" align="center">ID</td>
<td><input name="id" type="text" id="id" value="<?php echo($class_obj_id); ?>" /></td>
</tr>
<tr>
<td width="100"> </td>
<td> </td>
</tr>
<tr>
<td width="100"> </td>
<td>
<input name="check" type="submit" id="check" value="Check">
</td>
</tr>
</table>
</form>

<?php
}
?>

2 个答案:

答案 0 :(得分:2)

我认为您必须对$ result

执行mysqli_fetch_assoc
$row = mysql_fetch_assoc($result);
switch($row['state_id'])

答案 1 :(得分:1)

你应该用这个:

$sql ="SELECT state_id FROM card WHERE id = '$id'" ;
mysql_select_db('damp');
  $result = mysql_fetch_assoc(mysql_query( $sql, $conn ));
  while($result){
  switch ($result['id'])
  {
    case "1":
       echo "pass";
    break;
    case "2":
       echo "canceled";
    break;
    case "3":
      echo "expired";
    break;
    default:
     echo "not found";
  }
  }