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

タグを閉じないだけで機能します。その結果、次のようになります。

<input type=text name=address value=one two thre

ブラウザはそれを value=one と "two" と "three" として読み取り、別々の引数のようにします。必要なのは、次のような引用です。

<input type=text name=address value="one two three"/>

于 2012-12-31T11:37:02.703 に答える