【发布时间】:2013-08-10 20:04:18
【问题描述】:
这是我的原始代码
<center>
<html>
<body>
<form method="post" name="AwardList" action="<?php echo $_SERVER['PHP_SELF']?>">
<table border=1>
<tr>
<th><b>Award</b></th>
<th><b>Issue ID</b></th>
<th><b>Sort #</b></th>
<th><b>Submit</b></th>
</tr>
<?php
$userid = ($vbulletin->userinfo['userid']);
$query = ("select a.*, userdisplayorder, issue_id from award a join award_user aw on a.award_id = aw.award_id where aw.userid = '$userid'");
if (isset($_POST['submit'])){
$userdisplayorder = mysql_real_escape_string($_POST['userdisplayorder']);
echo $_POST[issueid];
echo '<br>';
echo $userdisplayorder;
$sql = mysql_query("UPDATE award_user SET userdisplayorder='$userdisplayorder' WHERE issue_id='$_POST[issueid]'");
}
$result = mysql_query($query) or die(mysql_error());
$count = 1;
while ($row = mysql_fetch_array($result)){
$awardimgurl = $row['award_img_url'];
$ID = $row['issue_id'];
// don't get it from the database since its not unique in the database itself
// $userdisplayorder = $row['userdisplayorder'];
echo '<tr>';
echo '<th>';
echo "<img src='$awardimgurl'>"; echo '</th>';
echo '<th>';
echo '<input type="text" name="issueid" readonly="readonly" value="' . $ID . '" size="5">';
echo '</th>';
echo '<th>';
echo '<input type="text" name="userdisplayorder" value="' . $count . '" size="5">';
echo '</th>';
echo '<th>';
echo "<center><input type='submit' name='submit' value='Submit'></center>";
echo '</th>';
echo '</tr>';
$count ++;
}
?>
</table>
</html></center>
我还需要使 userdisplayorder 字段唯一。我已经拥有唯一的 issueid。我怎样才能做到这一点?请通过提供代码帮助我,我是 PHP 新手,只知道基础知识。我还不知道 PDO,我是视觉学习者 谢谢!
【问题讨论】:
-
你可以把它变成一个数组:name="userdisplayorder[]"。你试过吗?
-
此外,您似乎从数据库本身获得了 userdisplayorder 字段的值为 0。您可能想研究它并尝试在数据库级别本身修复它。
-
@Maximus2012 谢谢,但这没有用。它首先发出警告:mysql_real_escape_string() 期望参数 1 是字符串,给定数组,所以我只是将它发布到查询中而不转义,它不起作用。
-
@Panique 我只是在使用有效的方法。我是 PHP 的初学者。我不明白为什么人们在我只是想使用我已经知道有效的东西时如此苛刻。我不知道从哪里开始使用 PDO 和 MySQLi 等更高级的编码
-
谢谢@pattyd 这就是我学会做什么并且对我有用的方法。我可以尝试学习更高级的代码,但这是我现在所知道的,我正在努力做到这一点工作。
标签: php mysql sql variables unique