- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个“我必须运送的元素列表”,其中包含每个元素和每个元素的“标记为已运送”按钮。
我的问题是,当我按“标记为已发货”时,一件商品消失了,但它不是我点击的商品。我必须刷新页面才能看到合乎逻辑的结果。我想阻止 PHP 更新此列表,因为我想用 jQuery 来处理它。另外,我想知道如何更新 $numItemHave2Ship 而无需刷新页面(或者使用 jQuery 更好?)。
我该怎么做?非常感谢。
这是我的代码的工作原理:
首先我用 MYSQL 获取所有项目:
$query=mysql_query("SELECT * FROM items WHERE seller='$username' AND shipped!='1'");
$numItemHave2Ship=mysql_num_rows($query);
echo "You have to ship ".$numItemHave2Ship." items:<p>";
然后,对于我拥有的每一项:
<input type='hidden' name='item' value='".$row['item']."'>
<input type='submit' class='shipped_button' value='Mark as shipped'>
那么显然,这个按钮会触发mysql查询:
$query=mysql_query("UPDATE items SET shipped='1' WHERE item='$item'
AND seller='$username'");
编辑:我还没有 jQuery 代码。我的整个代码都是 PHP 和 HTML。
最佳答案
表单的操作是否是同一页面上的某个项目?如果是这样,您必须在调用 SELECT 查询和显示项目列表的代码之前,根据 if isset($_POST["item"]) 有条件地调用 SQL UPDATE。
如果您想使用 jQuery 更新 items 列表以及 numItems 标签而不重新加载页面,您将需要执行类似的操作(未经测试,可能包含错误,但这就是要点):
将 UPDATE 和 SELECT 查询以及用于显示(回显)所选项目的代码放在单独的 PHP 脚本中。这必须作为 jQuery ajax() 或 .get() 或 .post() 中的 url 进行调用。
在 jQuery 中,在提交按钮上设置一个 click 方法,例如 $('.shipped_button').click()
通过调用 $(this).preventDefault() 来阻止单击按钮时的默认行为
使用提交按钮的 name
属性来存储 $item 值。 (如果您不需要页面在不使用 jQuery 的情况下正常降级,则可以删除隐藏输入)。然后,您可以获取 $item 值 $(this).attr('name') 并将其作为数据传递给您的 ajax 脚本。
成功时刷新回调函数中项目列表的内部 html,如下所示:$('#items').html(result)
减少 numItems 标签的值:var str_items = $('#numItems').html(); var int_items = parseInt(str_items) - 1; $('#numItems').html(int_items);
编辑:如果您不想使用 .preventDefault(),只需将 type='submit'
更改为 type='button' 即可轻松阻止表单提交
相反。
关于php - 如何防止 PHP 在 isset(POST ['submit' ]) 后动态更新项目列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9868115/
我有以下不能正常工作的 $_GET['category'] 也可以等于 0。 if ( empty( $_GET['category'] ) ){ // do something } else
我最近被安排做一个需要一些PHP的项目,我对PHP了解不多。站点中有几个实例,单击按钮后,用户会被重定向到带有一些 URL 参数的另一个页面。然后下一页使用 $_GET 获取这些参数并继续。 代码中的
如果我使用此代码将数字作为输入,它可以正常工作 Hours: Hours: Minutes: Hours: Minutes
我希望扩展我的 PHP 知识,但我遇到了一些我不确定它是什么或什至不知道如何搜索它的东西。我正在查看 php.net isset 代码,我看到了 isset($_GET['something']) ?
isset($var) == "Test" 和 isset($var) && $var == 'Test" 有什么区别? 最佳答案 这里是一个简短的例子: $var = "Chuck Test"; v
isset($var) == "Test" 和 isset($var) && $var == 'Test" 有什么区别? 最佳答案 这里是一个简短的例子: $var = "Chuck Test"; v
例如,如果我实现一些简单的对象缓存,哪种方法更快? 1. return isset($cache[$cls]) ? $cache[$cls] : $cache[$cls] = new $cls; 2.
{if isset({$LANG.domainmoreinfo}){$LANG.domainmoreinfo}{/if} 这似乎是一个不正确的语法,有人能告诉我我做错了什么吗? 也许我们不能在“$LA
这个问题在这里已经有了答案: Weak typing in PHP: why use isset at all? (9 个回答) 关闭 6 年前。 我是 PHP 的初学者,想知道这之间有什么区别 $
根据文档 isset 条款“测试此项目中是否已设置给定属性”。我不明白设置属性时 isset 返回 true 还是 false 在下面的代码片段中,当 env.JAVA_HOME 未设置时,java.
这个问题在这里已经有了答案: Search nested object for property (4 个答案) 关闭 2 年前。 我找不到与我的问题非常相似的问题,但如果你能找到一个,请随时告诉我
有人可以帮助我学习 PHP 吗?我想创建简单的表单,并在添加“isset 函数”后返回所有表单。 Monitors Graphics Peripher
当我打印它时,我有 $list 然后我得到以下输出 AWeberEntry Object ( [_privateData:protected] => Array ( [0] =
知道 PHP 的 memcached 模块是否支持某种 isset() 方法吗? 以下案例: Memcached::set('foo', false); if(Memcached::get('foo'
我正在阅读“Head First PHP & MySQL”一书,书中的许多部分都有用于处理 HTML 表单的代码片段。他们是这样开始的: if (isset($_POST['submit'])){ .
有没有一种快捷方式可以将$_GET['values']赋值给变量? 我现在和其他人一样: if(isset($_GET['type'],$_GET['case']) $type = $_GET[
知道 PHP 的 memcached 模块是否支持某种 isset() 方法吗? 以下案例: Memcached::set('foo', false); if(Memcached::get('foo'
我有一个表格 > Note Add More Notes Next call date
这是我的Python代码: if onerow[0]['result'] is None or not result['GetOdds'][0]['result']is None: 当result为空
我创建了一个 isset 函数来检查变量是否已定义且不为空。这是我的代码: isset = function(a) { if ((typeof (a) === 'undefined') ||
我是一名优秀的程序员,十分优秀!