I want to return the file names to use in my html modal. But instead returning each file name, it returns all of them at once. Check the following image:
My modal code is:
<div class="modal fade" id="myModal" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <?php $text = '<div class="fetched-data"></div>'; echo $text; ?> <div class="modal-body"></div> </div> </div> </div> </div>
My script to open modal and fetch the files is:
$(document).ready(function() { $('#myModal').on('show.bs.modal', function(e) { var rowid = $(e.relatedTarget).data('id'); $.ajax({ type: 'post', url: 'fetch_record.php', // Here you will fetch records data: 'rowid=' + rowid, // Pass $id success: function(data) { alert(data); $('.fetched-data').html(data); // Show fetched data from database $('<div>').append($("#myModal .modal-body img").clone()).html(); } }); }); });
And finally my file to fetch the file names from the server is:
<?php $uId = $_POST['rowid']; $directory = 'uploads/'.$uId.'/thumb'; $scanned_directory = array_diff(scandir($directory), array('..', '.')); $fi = new FilesystemIterator($directory, FilesystemIterator::SKIP_DOTS); $number_files = iterator_count($fi); foreach($scanned_directory as $img){ echo $img; } ?>
I want to show each image in my modal how should I do it?
Advertisement
Answer
This may help you,
$scanned_directory = array('1.jpg','2.jpg','3.jpg'); $result = ""; foreach($scanned_directory as $img){ $result .= "<img src='".$img."'> <br>"; } echo $result;