【问题标题】:How to make sure all content appear on the cell and not just the first word?如何确保所有内容都出现在单元格上,而不仅仅是第一个单词?
【发布时间】:2012-12-15 13:37:06
【问题描述】:

我在从数据库中的 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);

?>

【问题讨论】:

  • 代码在链接上。 :-) 我现在在这里添加。
  • php 是服务器端脚本!我们无法看到带有该链接的 php 代码
  • &lt;td&gt;&lt;input type=text name=address value=somewhere &lt;/td&gt; 看起来不对。你没有关闭你的&lt;input&gt; 标签,并确保将你的属性放在引号中,尤其是当值包含空格时。
  • 嗯,这就是为什么我说他添加他的 php 代码!
  • @learnerNo1 看我的回答

标签: php html mysql css


【解决方案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>";

【讨论】:

  • 天哪,我没注意到 :( huhuhuhuhuuhuhuhuh :/ 必须改变一切!
  • 先把table-layout:fixed去掉还是代码有错误,请改正
  • 嘿,从 php 文件中完全删除您的错误,您现在想做什么?你的桌子很大,所以可以改变它,否则如果改变会失去它的风格!
  • 您添加了或
  • 第一个
    在 之后。它什么也没做
【解决方案2】:

有效,只是你没有关闭标签,导致:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-05
    • 2021-12-31
    • 2013-07-31
    • 1970-01-01
    • 2017-06-28
    • 1970-01-01
    • 1970-01-01
    • 2014-07-16
    相关资源
    最近更新 更多