0

我有一个发布到 PHP 页面的表单。这是页面的一个片段。目标是读出一个 SQL 表,然后单击文本值,它们是可编辑的。然后编辑它们并提交,它会更新 SQL 表。我基本上需要一种从 id 开头剥离字母的方法。但是这封信很重要,因为它定义了新信息进入的列。此外,如果有不同的语言或方法可以做到这一点,我愿意接受建议。

<script type="text/javascript">
function exchange(id){
    var ie=document.all&&!window.opera? document.all : 0
    var frmObj=ie? ie[id] : document.getElementById(id)
    var toObj=ie? ie[id+'b'] : document.getElementById(id+'b')
    toObj.style.width=frmObj.offsetWidth+7+'px'
    frmObj.style.display='none';
    toObj.style.display='inline';
    toObj.value=frmObj.innerHTML
}
</script>
<?php
$result = mysqli_query($con,"SELECT * FROM List") or die(mysql_error());
var_dump($_POST);

echo "<table id=list>
<tr id='list_header'>
<th class='list'>ID</th>
<th class='list'>Description</th>
<th class='list'>Winner</th>
</tr><form name='edit' action='inde.php?id=prizes' method='post'>";

while($row = mysqli_fetch_array($result))
{
    echo "<tr>";
    echo "<td class='list'><span id='n" . $row['Number'] . "' onclick='exchange(this.id)'>" . $row['Number'] . "</span><input name='n" . $row['Number'] . "b' id='n" . $row['Number'] . "b' class='replace' type='text' value='" . $row['Number'] . "' style='display:none;'></td>";
    echo "<td class='list'><span id='d" . $row['Number'] . "' onclick='exchange(this.id)'>" . $row['Description'] . "</span><input name='d" . $row['Number'] . "b' id='d" . $row['Number'] . "b' class='replace' type='text' value='" . $row['Description'] . "' style='display:none;'></td>";
    echo "<td class='list'><span id='w" . $row['Number'] . "' onclick='exchange(this.id)'>" . $row['Winner'] . "</span><input name='w" . $row['Number'] . "b' id='w" . $row['Number'] . "b' class='replace' type='text' value='" . $row['Winner'] . "' style='display:none;'></td>";
    echo "<td></td>";

    echo "</tr>";
}
echo "</table><input type='submit' value='Save Changes'></form>";
?>`
4

1 回答 1

0

据我了解,您有一个字符串id,并且您想要执行以下操作:

if(strlen($id)>1){
    $important=substr($id, 0, 1); //that gets the important stuff
    $id = ($id, 1, strlen($id)); //that's id without the first char
}
else{
    $important=$id;
    $id=""; //empty string
}

您可能想尝试Ajax将修改后的值一个一个地发送到服务器,而不是最后一起发送。

于 2013-03-22T21:22:03.667 回答