У меня есть приложение php для отображения некоторых изображений, хранящихся в базе данных. Я хочу использовать javascript для изменения порядка фотографий. Index.php страница выглядит следующим образом:Обновление значений базы данных с помощью javascript
$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>
Эта страница вызывает move.js раз пользователь пытается изменить положение изображения в:
$(document).ready(function(){
function slideOut(){
setTimeout(function(){
$("#message").slideUp("slow", function() {});
}, 2000);
};
$("#message").hide();
$(function() {
$('ul').sortable({
cursor: 'move',
opacity: 0.7,
revert: false,
update: function(){
var neworder = $(this).sortable("serialize") + '&update=update';
$.post("change_image_position.php", neworder, function (themessage) {
$("#message").html(themessage);
$("#message").slideDown('slow');
slideOut();
});
}
});
});
});
Наконец 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';
}
Я столкнувшись с двумя проблемами ... Во-первых, order by statement (index.php) не работает, а во-вторых, запрос на изменение фотографий по запросу базы данных (change_image_position.php) не возвращает никакого результата. Заранее благодарю за любую помощь.
Я бы предложил убрать ваш код в первую очередь :) –
в файле 'change_image_position.php', сделайте' var_dump ($ _ POST) 'и вставьте опубликованную информацию. Убедитесь, что сообщение об ошибках полностью изменилось ('ini_set ('display_errors', 'on'), error_reporting (E_ALL);'). У вас есть некоторые проблемы с синтаксисом в вашей инструкции SQL в файле 'index.php' (пробелы, цитирование - если идентификатор сеанса не является целым числом и т. Д.). –
После изменения «$ update = update»; to "& update = update"; var_dump ($ _ POST) prints array (2) {["photoid"] => array (3) {[0] => string (1) "3" [1] => string (1) "1" [2] => string (1) "2"} ["update"] => string (6) "update"} Ошибка, вставить запрос не удалось – user3169832