2013-10-08 30 views
1

一直卡在这一个。我使用jQuery的x-editable,我通过php循环调用我的数据。这是我得到的,我的标题没有错误,只是不知道我要去哪里错了?有什么我失踪或做错了吗?一切正常,它只是不会更新MySQL中的记录?Bootstrap x-editable,PDO UPDATE问题

继承人我的循环:

<?php 
$stmt = $db->query('SELECT * FROM retailers ORDER BY id '); 
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { 
echo "<tr> 
<td> 
<a href='#' data-type='text' data-pk='{$row['id']}' data-placement='right' class='store' data-url='actions/post.php' data-title='Store Name:' data-name='store' value='{$row['store']}'>{$row['store']}</a> 
</td> 
</tr>"; } ?> 

这里我PDO更新:

$store = $_POST['store']; 
$id = $_POST['id']; 

$sql = "UPDATE retailers SET store=? 
     WHERE id=?"; 
$q = $db->prepare($sql); 
$q->execute(array($store,$id)); 

我要去的地方错了任何想法?

(电话X编辑)

$(document).ready(function() { 
$('.store').editable(); 

}); 
+0

你有没有设置PDO到​​异常错误模式,即'$ DB->的setAttribute(PDO :: ATTR_ERRMODE,PDO :: ERRMODE_EXCEPTION)'?您的错误报告级别可能隐藏了声明错误 – Phil

+0

另外,PHP alt语法更容易创建带有PHP值插入的标记 - http://pastebin.com/S3cgcKS7 – Phil

回答

0

望着X-editable examples时,似乎你将要使用

$id = $_POST['pk']; 

而且,在我上面的评论中提到,使用PHP's alternative syntax使大部分更容易的标记创建。此外,value在这里是一个无效的属性。如果您必须使用它,我认为X-editable使用data-value,但它也可以从元素的HTML内容中读取。

<?php 
$stmt = $db->query('SELECT * FROM retailers ORDER BY id '); 
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) : ?> 
<tr> 
    <td> 
     <a href="#" data-type="text" data-pk="<?= $row['id'] ?>" 
      data-placement="right" class="store" data-url="actions/post.php" 
      data-title="Store Name:" data-name="store"><?= htmlspecialchars($row['store']) ?></a> 
    </td> 
</tr> 
<?php endwhile ?> 
+0

谢谢,我最终解决了脚本并得到了它工作!你给我展示了一种全新的循环方法!我非常感谢你在这里花时间回顾我的问题并给我一个解决方案!我不是故意再次麻烦你,我现在正在寻找一些关于更新多个记录的建议,这里是我的问题:http://stackoverflow.com/questions/19252959/update-multiple-records-according-to-id- x-editable更多的建议将被赞赏!亲切的问候朋友! – SethCodes

+0

没关系,我解决了!无论如何先生谢谢你! – SethCodes