Я создал небольшую службу поддержки, которая позволяет пользователям загружать файлы при создании билетов. Билеты хранятся в папке с идентификационным номером, который соответствует данным билета, которые хранятся в базе данных. Теперь, когда я открываю детали билета, я также хочу, чтобы он перечислял файлы, связанные с этим билетом, чтобы я мог их открыть. Пока я могу получить все детали билета, но я застрял в json_encode ($ files) и как я могу ссылаться на них с моим текущим кодом JavaScript. Есть идеи?Javascript call PHP file scandir() results
У меня также есть проблема с. и .. в массиве scandir() и хотели бы удалить их. При использовании прокомментированной строки, которую вы видите в моем PHP-файле, он делает неправильный массив json_encode. Благодаря
PHP файл (фрагмент)
$value = $_POST['value'];
$sql = "SELECT * FROM helpdesk WHERE ID = '$value'";
$result = mysqli_query($conn, $sql);
while($rowEdit = mysqli_fetch_array($result))
{
echo json_encode(array($rowEdit['ID'], $rowEdit['DateCreated'], $rowEdit['Name'], $rowEdit['Company'], $rowEdit['Phone'], $rowEdit['Email']));
}
$dir = 'uploads/' . $value .'/';
$files = scandir($dir);
//$files = array_diff(scandir($dir), array('.', '..'));
echo json_encode($files);
HTML файл (JavaScript сниппет)
$(function(){
/* Opens selected ticket details */
var modal = document.getElementById('modal');
var output = "";
$('#btnEdit').click(function(e){
var value = $("#tblTickets tr.selected td:first").html();
$.ajax({
type : "POST",
url : "sql_helpdesk_ticket_details.php",
data : {value:value},
success : function(output) {
var result = $.parseJSON(output);
$(".modal-body #txtID").val(result[0]);
$(".modal-body #txtDateCreated").val(result[1]);
$(".modal-body #txtName").val(result[2]);
$(".modal-body #txtCompany").val(result[3]);
$(".modal-body #txtPhone").val(result[4]);
$(".modal-body #txtEmail").val(result[5]);
modal.style.display = 'block';
}
});
});
Спасибо @Rasclatt, Теперь мой json_encode находится в формате {"data": ["data1", "data2"], "files": [".", "..", "file1", "file2" ]}, из JavaScript, как я могу ссылаться на объект массива данных 'data2', например. 'var result = $ .parseJSON (выход); $ (". Modal-body #txtID"). Val (результат [данные] [2]); – user2168287
Извините, я проработал. '$ (". modal-body #txtID "). val (result.data [2]);' – user2168287