我有2个表,users
和short_style
。
表users
的字段:
id int primary not null auto increment
username
password
firstname
lastname
用户向表users
插入的数据:
users
id username password firstname lastname
1 jsmith md5hash john smith
2 jbrown md5hash jane brown
用户向表short_style
插入的数据:
short_style
id style_name style_cost style_time number_of_styles
1 bald 10 30 1
2 wash 5 15 2
1 shave 12 30 3
2 line 8 15 4
1 wash Free 15 6
2 color 20 30 7
我可以让用户添加新样式,该代码非常完美。
我也可以让用户更新他们的数据,这些代码非常完美。
我一直在删除用户数据,因为我不知道如何定位number_of_styles
数据,因为这是唯一的唯一数据。
从我所学到的(在这么短的时间内)DELETE
只取2个参数,表名和表行(我假设)。
我该如何使用?
对于长html我很抱歉,我仍然没有想出如何在评论中显示html。我有什么:
<?php
if (isset($_POST['delete_servicename'])&&
isset($_POST['update_category'])) {
$delete_servicename = $_POST['delete_servicename'];
$category = $_POST['update_category'];
$atta = '_name';
$delete = "$category$atta";
$query = "SELECT $delete FROM $category WHERE `id`='".$_SESSION['user_id']."'";
$query_run = mysql_query($query);
if(mysql_num_rows($query_run)==1) {
$dquery = "DELETE FROM $category WHERE $id = '".$_SESSION['user_id']."'";
}
}
?>
<form action="services_update.php" method="POST">
<div class="a_u_d_sort">
<ul>
<li class="a_u_d_sort_left">
<p>Category:</p>
</li>
<li class="a_u_d_sort_right">
<select name="update_category">
<option value="">select</option>
<option value="short_style">Short Style</option>
<option value="medium_style">Medium Style</option>
<option value="long_style">Long Style</option>
<option value="other_services">Other Service</option>
</select>
</li>
</ul>
</div>
<div class="a_u_d_sort">
<ul>
<li class="a_u_d_sort_left">
<p>Service Name:</p>
</li>
<li class="a_u_d_sort_right">
<input type="text" name="delete_servicename"></input>
</li>
</ul>
</div>
<button class="add" type="submit">Delete</button>
</form>
答案 0 :(得分:1)
您应该始终为您创建的每个表使用自动增量字段,以便在删除行时始终拥有唯一的ID。
如果这不适合您,则必须修改删除查询以确保删除正确的行:
$dquery = "DELETE FROM $category WHERE $id = '".$_SESSION['user_id']."' AND `style_name` = $stylename AND style_cost = $stylecost AND style_time = $styletime AND number_of_styles = $numberofstyles LIMIT 1";
修改强>
我没有意识到你的number_of_styles
是自动增量。在这种情况下,你可以简单地说:
$dquery = "DELETE FROM $category WHERE number_of_styles = $numberofstyles LIMIT 1";
由于它是独一无二的,因此无需提及所有其他领域。