В нижеприведенном запросе я пытаюсь выбрать изображение профиля пользователя и выводить его. Мой запрос на ввод и выбор запроса работает (я считаю). Прямо сейчас, я могу загрузить изображение, а user_id пользователя связан с изображением в моей базе данных. Затем в моем запросе выбора я пытаюсь выбрать изображение, связанное с этим пользователем.Вывод проблемы с выделенным запросом
Моя база данных для этого проста и имеет только следующие ... id, user_id, img
.
Я считаю, что этот вопрос может находиться с моим выходом, здесь:
<img id="profile-pic" src="<?php echo (!empty($profPic) && $profPic != 0)? $profPic['img'] : "profile_images/default.jpg"; ?>" alt="<?php echo (!empty($profPic) && $profPic != 0)? "Profile Picture" : "No Picture"; ?>" />
Я просто не знаю, что я делаю неправильно. Кто-нибудь видит, если я выводил это неправильно? Прямо сейчас, изображение по умолчанию загружается при загрузке страницы, однако, как только я загружаю изображение для пользователя, которого он отображает, но если я перезагружу страницу, изображение вернется к умолчанию.
function getPhoto($con,$dest)
{
$user_id = (isset($_SESSION['user']) ? $_SESSION['user'] : ""); //added
$result = mysqli_query($con,"SELECT * FROM `profile_img` where `user_id` = '$user_id' ORDER BY `id` DESC LIMIT 1");
if($row = mysqli_fetch_array($result))
return $row;
return 0;
}
// Make sure all functions above are include here
// Get the database connection
$con = Connection();
// Check for post
if(isset($_POST['create'])) {
// Try uploading
$upload = UploadFile($_FILES);
// If upload fails
if(!$upload['success'])
echo '<h3>Sorry, an error occurred</h3>';
else {
// You could add error handling here based on the results of
// each function's success or failure below.
// Try to save it
$saveToDb = SaveToDb($con,$upload['file']['dest']);
// Get the profile from image name
$profPic = ($saveToDb)? getPhoto($con,$upload['file']['dest']) : false; ?>
<?php
}
}
?>
<img id="profile-pic" src="<?php echo (!empty($profPic) && $profPic != 0)? $profPic['img'] : "profile_images/default.jpg"; ?>" alt="<?php echo (!empty($profPic) && $profPic != 0)? "Profile Picture" : "No Picture"; ?>" />
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="file" class="inputbarfile" onchange="readURL(this);">
<img width="400px" height="300px" id="file" src="#" alt="your image">
<input type="submit" name="create" id="signinButton" value="Upload">
</form>
изменения возвращаемого значения в вашем файле 'getPhoto()' от возвращения '$ row' в' $ строки [ 'IMG'] 'в результате над вами возвращают весь столбец, а не только столбец изображения. –
Также ваш $ profPic проверяет, были ли данные занесены в базу данных. Поскольку, если вы обновляете данные, данные не вставляются в базу данных, отображается значение по умолчанию. Поэтому просто присвойте отдельный безусловный оператор '$ profPic', который извлекает только данные из базы данных. –
Выполнение этой операции останавливает загрузку загруженной фотографии (выбрано). – Becky