我创建了一个名为role的表,字段就像(roleid,role,prohibitedprocess,prohibitedports)这里的roleid是唯一的。并且我有一个逗号分隔的值" prohibitedprocess" field(例如:prohibitedprocess ---> skype,teamviwer,notepad)。
问题是如何添加,编辑和删除allowedprocess的逗号分隔值。是否可能?
我从数据库中获取代码.code是
<?php
$sql = "SELECT roleid, prohibitedprocess, prohibitedports FROM role WHERE role='Basic'";
$option='';
$result = mysql_query($sql);
while($row = mysql_fetch_assoc($result))
{
$pro_proc = $row['prohibitedprocess'];
$lst = explode(",",$pro_proc);
//Print in Option Box
foreach($lst as $exp)
{?>
<tr>
<td><?php echo $exp;?></td>
<td><a href="edit_form.php?id=$row[roleid]">Edit</a></td>
<td><a href="del_form.php?id=$row[roleid]">Delete</a></td></tr>
<?php
}
}
?>
如何做到这一点请帮助我
答案 0 :(得分:1)
一种方法是检索输入元素中的所有“关键字”并将其编辑为句子。但是,对于您想要执行的操作,您可能希望添加一个名为prohibitedprocess的新表,并将roleid用作外键。然后根据roleid从该表中检索。
例如:SELECT item FROM prohibitedprocess p, role r WHERE p.roleid = r.roleid
答案 1 :(得分:1)
为该关系制作另一个表可能更好,然后您可以正常编辑它。否则,您可以使用逗号分隔列表并在javascript中执行某些操作。
var commaSeparatedList = <?php echo $commaSeparatedList;?>
var realData = commaSeparatedList.split(',');
// when the user adds something you can add to the array or delete
// from the array
var newCommaList = readData.join([separator = ',']);
// some kind of get/post request that sends the new comma list
<?php
$newList = GET_REQUEST_PARAMS["newCommaList"];
// sql update query that updates the comma list
?>
我有一段时间没有使用过PHP,所以我知道GET_REQUEST_PARAMS不是一件事,但我相信你知道如何获取参数。
或者,如果没有javascript,您可以使用回复所有违禁事件名称的表单
<?php
$newList = ""
//foreach through the get params which contain the names
foreach()
{
$newList += getParam + ",";
}
// some code to remove that last comma
// sql update
?>
答案 2 :(得分:1)
您可以编辑整个字符串。 。
我的意思是只使用str_replace函数
例如
$string = "skype,teamviwer,notepad";
$old_value = "skype";
$new_value = "facebook";
$new_string = str_replace($old_value,$new_value,$string);
然后只需将此新字符串更新为数据库表。 。