Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript更新数据库值_Javascript_Php_Mysql - Fatal编程技术网

使用javascript更新数据库值

使用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

我有一个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_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`";