PHP MYSQL Изменение фото в моей базе - PullRequest
0 голосов
/ 08 августа 2011

Я очень новичок в PHP;

ADD.PHP - у меня есть форма, которая собирает следующую информацию: 1. имя 2. электронная почта 3. телефон и картинка

изображения хранятся напапка каталога на моем сервере, а затем имя файла этой фотографии сохраняется в моей таблице sql.

VIEW.PHP - все данные в mysql отображаются на этой странице, включая фотографию в табличном формате, включая идентификаторкаждой записи.Отображаемый идентификатор представляет собой гиперссылку, по которой при нажатии вы будете перенаправлены на страницу, на которой вы сможете редактировать содержимое записи:

ниже приведен код моего EDIT.PHP

 <?php 
 // Connects to your Database 
 mysql_connect("localhost", "user1", "12345") or die(mysql_error()) ; 
 mysql_select_db("test") or die(mysql_error()) ;


 // Check whether the value for jobnumber is transmitted
if (isset($_GET['id'])) {

// Put the value in a separate variable
$id = $_GET['id'];

// Query the database for the details of the chosen jobnumber
$result = mysql_query("select id, name, email,
phone, picture from employees where id = $id");

// Check result
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
$message = "Invalid query: " . mysql_error() . "\n";
$message .= "Whole query: " . $query;
die($message);
}

// Attempting to print $result won't allow access to information in the resource
// One of the mysql result functions must be used
// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(),etc.
while ($row = mysql_fetch_array($result)) {
$name = $row['name'];

echo $name. "\n";
echo $row['email'] . "\n";
echo $row['phone'] . "\n";
echo "<img width=500px height=500px src=pics/" . $row['picture'].">" . "\n";

// form tag
echo '<form action="add2.php" method="POST">';
//display name
echo 'Name: <input type="text" name="name" value="';
echo $row['name'];
echo '"><br>';
//display email
echo 'email: <input type="text" name="email" value="';
echo $row['email'];
echo '"><br>';
//display phone
echo 'Phone: <input type="text" name="phone" value="';
echo $row['phone'];
echo '"><br>';
//display photo
echo 'Photo: <input type="text" name="photo" value="';
echo $row['picture'];
echo '"><br>';

echo '<input type="submit" value="Add">';
echo '</form>';

}
} else {
die("No valid data specified!");
}
?>

Используя этот код, тестовые поля прошли хорошо, но поле ввода фотографии пустое, и когда я нажму кнопку, поле фотографии в моей базе данных будет пустым, если я не загрузил новую фотографию?как пользователь может изменить существующую фотографию?или сохранить старое фото, если оно не изменяется?

Ответы [ 2 ]

0 голосов
/ 08 августа 2011

см. Ссылку: http://www.w3schools.com/PHP/php_file_upload.asp

Что касается изменения существующей фотографии, вы также должны сохранить имя имени фотографии в вашей базе данных на странице add2.php

когда какой-либо пользователь захочет загрузить фотографию во второй раз, в add2.php необходимо проверить, была ли фотография загружена ранее. Тогда пользователь может принять решение от 2-х кнопок «да». Если да, то ОБНОВИТЬ (не вставлять) соответствующий столбец в таблице БД.

Вы можете использовать jquery, чтобы принять решение и работать соответственно. Любая помощь нужна с JQuery?

Если загрузка начнется впервые, то вы можете пропустить процесс проверки.

Очистить

0 голосов
/ 08 августа 2011

Предполагая, что в вашем столбце employees.picture хранится путь к изображению.

Чтобы загрузить новую фотографию, вам нужно изменить пару вещей ...

ВашВ форме необходимо использовать правильный тип кодировки, например

<form action="add2.php" method="post" enctype="multipart/form-data">

Вам также необходимо указать элемент ввода «файл» для принятия новой фотографии, например

<input type="file" name="photo">

Чтобы увидеть, есть линовая фотография предоставлена, просто проверьте (после обнаружения действующего запроса POST)

if ($_FILES['photo']['error'] == UPLOAD_ERR_OK) {
    // file uploaded
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...