1

我在从数据库中的 mysql 表到 PHP 中的表单的表上显示内容时遇到问题。我的问题是,例如,地址字段上只显示第一个单词。

请查看我的页面:http ://www3.londonmet.ac.uk:8008/~iia0014/employeeManager.php

而且单元格与标题不对齐。

谁能帮我解决这个问题?

在我的 CSS 上,我有:

table {
table-layout:fixed;
width:180%;
overflow:hidden;
border:1px ;
word-wrap:nowrap;
text-align:left;
}

但即使删除 CSS,也只会出现第一个单词。

PHP代码:

<?php
// Connect to server and select databse.
$con = mysql_connect("$host","$username","$password");
if (!$con){
die("Can not connect: " . mysql_error());
}
mysql_select_db("$db_name",$con);

if(isset($_POST['update'])){
$UpdateQuery = "UPDATE employees SET 
Name='$_POST[name]', 
DOB='$_POST[dob]', 
Tel='$_POST[tel]', 
Address='$_POST[address]', 
Department='$_POST[department]',
PayRate='$_POST[payrate]', 
Skills='$_POST[skills]', 
Gender='$_POST[gender]' 
WHERE EmpNo='$_POST[hidden]'";               
mysql_query($UpdateQuery, $con);
 };


 if(isset($_POST['delete'])){
$DeleteQuery = "DELETE FROM employees WHERE EmpNo='$_POST[hidden]'";          
mysql_query($DeleteQuery, $con);
};

if(isset($_POST['add'])){
$AddQuery = "INSERT INTO employees (EmpNo, Name, DOB, Tel, Address, Department, PayRate,                   Skills, Gender) VALUES ('$_POST[uempNo]','$_POST

[uname]','$_POST[udob]', '$_POST[utel]','$_POST[uaddress]','$_POST[udepartment]',         '$_POST[upayrate]','$_POST[uskills]','$_POST[ugender]')";         
mysql_query($AddQuery, $con);
};



$sql = "SELECT * FROM employees";
$myData = mysql_query($sql,$con);
?>

<table border="1"  width="10%">

<?php



echo "<tr>

<th>Number</th>
<th >Employee Name</th>
<th>DOB</th>
<th>Telephone</th>
<th>Address</th>
<th>Department</th>
<th>Pay Rate</th>
<th>Skills</th>
<th>Gender</th>
</tr>";


while($record = mysql_fetch_array($myData)){
echo "<form action=employeeManager.php method=post>";
echo "<tr>";
echo "<td>" . "<input type=hidden name=hidden value=" . $record['EmpNo'] . " </td>";
echo "<td>" . "<input type=text name=name value=" . $record['Name'] . " </td>";
echo "<td>" . "<input type=text name=dob value=" . $record['DOB'] . " </td>";
echo "<td>" . "<input type=text name=tel value=" . $record['Tel'] . " </td>";
echo "<td>" . "<input type=text name=address value=" . $record['Address'] . " </td>";
echo "<td>" . "<input type=text name=department value=" . $record['Department'] . "     </td>";
echo "<td>" . "<input type=text name=payrate value=" . $record['PayRate'] . " </td>";
echo "<td>" . "<input type=text name=skills value=" . $record['Skills'] . " </td>";
echo "<td>" . "<input type=text name=gender value=" . $record['Gender'] . " </td>";
echo "<td>" . "<input type=submit name=update value=update" . " </td>";
echo "<td>" . "<input type=submit name=delete value=delete" . " </td>";
echo "</tr>";
echo "</form>";
}
echo "<form action=employeeManager.php method=post>";
echo "<tr>";
echo "<td><input type=text name=uempNo></td>";
echo "<td><input type=text name=uname></td>";
echo "<td><input type=text name=udob></td>";
echo "<td><input type=text name=utel></td>";
echo "<td><input type=text name=uaddress></td>";
echo "<td><input type=text name=udepartment></td>";
echo "<td><input type=text name=upayrate></td>";
echo "<td><input type=text name=uskills></td>";
echo "<td><input type=text name=ugender></td>";
echo "<td>" . "<input type=submit name=add value=add" . " </td></tr>";
echo "</form>";
echo "</table>";
mysql_close($con);

?>
4

2 回答 2

1

在下面的引号中,您缺少引号并且标签未正确关闭!

while($record = mysql_fetch_array($myData)){
    echo "<form action='employeeManager.php' method='post'>";
    echo "<tr>";
    echo "<td><input type='hidden' name=hidden value='" . $record['EmpNo'] . "'> </td>";
    echo "<td><input type='text' name='name' value='" . $record['Name'] . "'> </td>";
    echo "<td><input type='text' name='dob' value='" . $record['DOB'] . "'> </td>";
    echo "<td><input type='text' name='tel' value='" . $record['Tel'] . "'> </td>";
    echo "<td><input type='text' name='address' value='" . $record['Address'] . "'> </td>";
    echo "<td><input type='text' name='department' value='" . $record['Department'] . "     </td>";
    echo "<td><input type='text' name='payrate' value='" . $record['PayRate'] . "'> </td>";
    echo "<td><input type='text' name='skills' value='" . $record['Skills'] . "'> </td>";
    echo "<td><input type='text' name='gender' value='" . $record['Gender'] . "'> </td>";
    echo "<td><input type='submit' name='update' value='update'> </td>";
    echo "<td><input type='submit' name='delete' value='delete'> </td>";
    echo "</tr>";
    echo "</form>";
}

为了更好地理解您的错误,请注意您的代码:

echo "<td><input type=text></td>";

它应该是这样的:

echo "<td><input type='text'></td>";
于 2012-12-31T11:36:10.723 回答
1

它有效,只是您没有关闭标签,这会导致:

<输入类型=文本名称=地址值=一二三

浏览器将其读取为 value=one 和“two”和“three”,就像单独的参数一样。你需要的是这样的报价:

<input type=text name=address value="一二三"/>

于 2012-12-31T11:37:02.703 回答