【发布时间】:2014-10-03 09:28:54
【问题描述】:
正在发生的事情是我认为我的代码首先选择数据(基本上是旧数据)然后更新它,但我想要它更新然后选择数据(新数据)。我该怎么做?
我将在哪里出错,如果您需要完整代码,请询问:
$select_links = $db->query("SELECT pid, added_by,link_title,lid,link_order FROM " . TABLE_PREFIX . "homepage_links WHERE pid='$pid'
ORDER BY link_order DESC LIMIT $start,$show");
$check_link_count_rows = $db->num_rows($select_links);
echo "<b> You Current Have " . $check_link_count_rows . " Links On Your Page: </b><br>";
echo "<form action='' method='POST'>
";
while($select_links_array = $db->fetch_array($select_links)) {
$link_title_display = $select_links_array['link_title'];
$link_id_display = $select_links_array['lid'];
if(!$mybb->input["order_edit_$link_id_display"]) {
$link_order_display = $select_links_array['link_order'];
} else {
$link_order_display = $mybb->input["order_edit_$link_id_display"];
}
$order_edit_value1 = $mybb->input["order_edit_$link_id_display"];
$order_edit_value = $db->escape_string($order_edit_value1);
echo "<br>" . $link_title_display . " <a href='?operation=edit_links&link=$link_id_display'> (edit) </a>
<input type='number' name='order_edit_$link_id_display' value='$link_order_display' style='width:40px;'>
<input type='hidden' name='get_link_id_display_value_$link_id_display' value='$link_id_display'><br>
";
$get_link_id_display_value1 = $mybb->input["get_link_id_display_value_$link_id_display"];
$get_link_id_display_value = $db->escape_string($get_link_id_display_value1);
$update_quick_edit_query = $db->query("UPDATE spud_homepage_links SET link_order='$order_edit_value'
WHERE lid='$get_link_id_display_value'");
}
我找不到解决方案,因为除了这个错误之外,一切都在正确的地方让它工作。
【问题讨论】:
-
看起来你的
UPDATE已经结束了。您是否尝试过在读取数据的SELECT之前移动这部分逻辑? -
是的,这就是我正在尝试做的事情,但是由于我在 while 循环中遍历字段,然后获取更新的值才能工作,所以我不能让事情变得复杂,因为你甚至不能去在while循环值和输入帖子字段之前:/感谢您的回复!希望解决这个问题
-
啊,如果需要第一个
SELECT为UPDATE设置数据,那么在渲染屏幕之前,只需在最后运行另一个SELECT。您是否正在响应表单提交进行更新?它的目的是什么? -
选择的目的是它还获取数据,我可以尝试看看它是如何进行的 :) 但可能会搞砸事物的显示方式,但感谢您的帮助和建议 :)
-
完成 :) 再次感谢!