使用javascript更新数据库值
我有一个php应用程序,用于显示存储在数据库中的一些图片。我想使用javascript更改照片顺序。Index.php页面如下所示:使用javascript更新数据库值,javascript,php,mysql,Javascript,Php,Mysql,我有一个php应用程序,用于显示存储在数据库中的一些图片。我想使用javascript更改照片顺序。Index.php页面如下所示: $photos = array(); $photos_query = "SELECT * FROM `photos` WHERE `id`=".$_SESSION['id']."ORDER BY `order`"; $data = mysqli_query($dbc, $photos_query); while ($photos_row= mysqli_fetch
$photos = array();
$photos_query = "SELECT * FROM `photos` WHERE `id`=".$_SESSION['id']."ORDER BY `order`";
$data = mysqli_query($dbc, $photos_query);
while ($photos_row= mysqli_fetch_assoc($data)){
$photos[] = array(
'photo_id' => $photos_row['photo_id'],
'id' => $photos_row['id'],
'photo_name' => $photos_row['photo_name'],
'order' => $photos_row['photo_order']
);
} ...
<div id="message"></div>
<div id="showphotos">
if (empty($photos)) {
echo 'No photos';
} else {
echo '<ul>';
foreach ($photos as $photo) {
echo '<li id="photoid_'.$photo['photo_id'].'">
<img src="uploads/', $photo['id'], '/', $photo['photo_id'],'"' .$photo['photo_name']. 'height="150" width="150">
... </li>';
} echo '</ul>';
}
</div>
最后,change_image_position.php包含:
$array = $_POST['photoid'];
if ($_POST['update'] == "update"){
$count = 1;
foreach ($array as $idval) {
$query = "UPDATE photos SET order = " . $count . " WHERE photo_id = " . $idval;
mysqli_query($query) or die('Error, insert query failed');
$count ++;
}
echo 'All saved! refresh the page to see the changes';
}
我面临两个问题。。。首先,ORDERBY语句(index.php)不起作用,其次,通过数据库查询(change\u image\u position.php)查询更改照片不会返回任何结果。提前感谢您的帮助。您的mySQL语句缺少空格-
$photos_query = "SELECT * FROM `photos` WHERE `id`=".$_SESSION['id']."ORDER BY `order`";
应该是
$photos_query = "SELECT * FROM `photos` WHERE `id`=".$_SESSION['id']." ORDER BY `order`";
我认为您当前保存照片的方式在neworder
部分失败
您当前传入
$update
,然后调用$\u POST['update']
,这将只查找update=update
我建议首先整理代码:)在change\u image\u position.php
文件中,执行var\u dump($\u POST)
并粘贴发布的信息。确保您的错误报告一直打开(ini_set('display_errors','on');错误报告(E_all);
)。index.php
文件中的SQL语句中的语法也有一些问题(空格、引号-假设会话ID不是整数等);到“&update=update”;var_dump($_POST)打印数组(2){[“photoid”]=>array(3){[0]=>string(1)“3”[1]=>string(1)“1”[2]=>string(1)“2”}[“update”]=>string(6)“update”}错误,插入关于正确的sql语句的查询失败。那么你对第二部分有什么建议?(我将“$update=update”更改为“&update=update”)。问题已解决。。。正确连接mysql数据库时出现问题。。。谢谢你的帮助。。。
$photos_query = "SELECT * FROM `photos` WHERE `id`=".$_SESSION['id']." ORDER BY `order`";