尝试: 从我的数据库获取信息到texfields(无限数据库数据,因此每个都不能在硬核模式下命名字段),然后更改数据并将其重新放回数据库。
问题: 无法命名我的文本字段以检查数据是否已更改。
代码:
<html>
<head>
<title>Data</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<?php
$conn = mysql_connect('localhost', 'root', '');
$base = 'CREATE DATABASE itemsbase';
$select = mysql_select_db("itemsbase",$conn);
$table_items = 'CREATE TABLE `items` (
`items_id` int UNIQUE NOT NULL,
`shop_id` int,
`itemname` varchar(40),
`price` varchar(50),
PRIMARY KEY(items_id))';
$query = "SELECT * FROM items";
$result = mysql_query($query);
if(!$select){
if(mysql_query($base, $conn)){
echo "base created";
}else{
echo 'error: ' . mysql_error() . "\n";
}}
if(mysql_query($table_items, $conn)){
echo "table created";
}else{
echo 'error: ' . mysql_error() . "\n";
}
echo "<form method='post'><table>";
echo "<tr><td>" . 'item id' . "</td><td>" . 'shop id' . "</td><td>" . 'item name' . "</td><td>" . 'price' . "</td></tr>";
while($row = mysql_fetch_array($result)){
echo "<tr><td><input type='text' name='itemid" . $row[1] . "' value='" . $row['items_id'] . "'></td><td><input type='text' name='shop_id" . $row[1] . "' value='" . $row['shop_id'] . "'></td><td><input type='text' name='itemname" . $row[1] . "' value='" . $row['itemname'] . "'></td><td><input type='text' name='price" . $row[1] . "' value='" . $row['price'] . "'></td></tr>";
//and here trying take info from field and check if it mach with info in database
$fieldinfo = $_POST['itemid' . $row[1]];
if($fieldinfo=$row['items_id']){
}else{
$row['items_id']=$fieldinfo;}
//but facing error undefined index
}
echo "</table></form>";
mysql_close ();
?>
</body>
</html>
答案 0 :(得分:0)
将文本字段命名为具有记录ID的数组,以便您能够将其与数据库相关联。
<input type='text' name='item[<?=$row['id']?>]' value='<?=$row['value']'>
或者您可以使用表记录ID向文本字段添加自定义属性。
<input type='text' name='item' rowid='<?=$row['id']?>' value='<?=$row['value']?>'>
任何一种方式都可以通过jquery引用来检查更新和更新数据库。