Я создаю пятно на своем веб-сайте своих клиентов, чтобы они могли размещать вакансии для бизнеса. Я хочу дать им возможность редактировать задание, если они ошибаются после публикации.Обновление сообщения с использованием php mysql
Мой вопрос в том, как я могу достичь этого. Или еще лучше, как я могу вытащить информацию из моей базы данных, чтобы я мог ее редактировать или сохранять?
Это то, что я пробовал:
Чтобы получить все началось здесь скриншот моей базы данных.
База данных phpMyAdmin Таблица называется «наем» без кавычек.
Я использую 3 файлов/страниц, чтобы попытаться получить это обновление. Первый называется модификация-employment.php
<?php
$title = 'Modify Employment Opportunities';
$page_description = "We offer a complete dock service, rip rap installations, barge service, and custom built breakwaters.";
$thisPage="employment";
include_once($_SERVER['DOCUMENT_ROOT']."/admin/adminheader.php");
include($_SERVER['DOCUMENT_ROOT'] . "/connections/dbconnect.php");
/* be safe, not sorry */
foreach ($_REQUEST as $k => $v) {
$_REQUEST[$k] = mysql_real_escape_string($v);
}
/* take cat from url if exists */
$category = @$_REQUEST["category"] ? $_REQUEST["category"] : null;
$images = mysql_query(
$category ?
sprintf(
"SELECT * FROM hire WHERE data_type = '%s'",
$category
) :
"SELECT * FROM hire"
);
if ($images) {
$total = mysql_num_rows($images);
if ($total) {
$per = 4;
$page = @$_REQUEST["page"] ? $_REQUEST["page"] : 1;
$pages = ceil($total/$per);
}
mysql_free_result($images);
}
?>
misc code...
<section class="grid_8">
<ul class="clearfix">
<?php
if ($category) {
$images = mysql_query(sprintf(
"SELECT * FROM hire WHERE data_type = '%s' ORDER BY id DESC LIMIT %d, %d",
$category, ($page - 1) * $per, $per
));
} else $images = mysql_query(sprintf(
"SELECT * FROM hire ORDER BY id DESC LIMIT %d, %d",
($page - 1) * $per, $per
));
while ($image=mysql_fetch_array($images))
{
?>
<li data-id="id-<?=$image["id"] ?>">
<article class="box white-bg">
<h2 class="red3-tx"><?=$image["title"] ?> <span class="date-posted blue2-tx"><?=$image["date"] ?></span></h2>
<div class="dotline"></div>
<p class="blue3-tx"><?=$image["description"] ?><br />
<br />
For more information please call ###-###-####.</p>
<h4 class="btn-green"><a href="http://<?php echo $_SERVER['SERVER_NAME']; ?>/admin/remove-job-post.php?value=<?=$image["id"] ?>">Delete</a></h4>
<h4 class="btn-green"><a href="http://<?php echo $_SERVER['SERVER_NAME']; ?>/admin/update-employment.php?value=<?=$image["id"] ?>">Update</a></h4>
</article>
</li>
<?php
}
?>
Вот скриншот того, что вышеприведенные выглядит как:
Итак, используя следующую строку кода:
<h4 class="btn-green"><a href="http://<?php echo $_SERVER['SERVER_NAME']; ?>/admin/update-employment.php?value=<?=$image["id"] ?>">Update</a></h4>
Я нажимаю кнопку обновления и находит номер идентификатора сообщений. Нажимая кнопку «Обновить», он принимает меня до file # 2 «update-emploment.php» Я хочу, чтобы эта страница привела данные из исходного задания, чтобы я мог редактировать и сохранять информацию. Здесь я теряюсь. Вот мой код для обновления-employment.php
<?php
$title = 'Admin Employment Opportunities';
$page_description = "Add description in here.";
$thisPage="employment";
include_once($_SERVER['DOCUMENT_ROOT']."/admin/adminheader.php");
include($_SERVER['DOCUMENT_ROOT'] . "/connections/dbconnect.php");
/* be safe, not sorry */
foreach ($_REQUEST as $k => $v) {
$_REQUEST[$k] = mysql_real_escape_string($v);
}
/* take cat from url if exists */
$category = @$_REQUEST["category"] ? $_REQUEST["category"] : null;
$images = mysql_query(
$category ?
sprintf(
"SELECT * FROM hire WHERE data_type = '%s'",
$category
) :
"SELECT * FROM hire"
);
if ($images) {
$total = mysql_num_rows($images);
if ($total) {
$per = 4;
$page = @$_REQUEST["page"] ? $_REQUEST["page"] : 1;
$pages = ceil($total/$per);
}
mysql_free_result($images);
}
?>
misc code....
<form method="post" action="update-hire.php">
<input type="hidden" name="ud_id" style="width: 100%" value="<? echo "$id"; ?>" />
<div class="grid_6 botspacer60 ">
Position Title: <input type="text" name="ud_title" value="<?php echo "$title"; ?>"/>
<br /><br />
Date Posted: <input type="text" name="ud_date" value="<? echo "$date"; ?>"/>
<br /><br />
Position Details:<br />
<textarea name="ud_description" rows="8"><?php echo str_replace("<br />",chr(13),$des); ?><? echo "$description"; ?></textarea>
</div>
<div class="grid_12">
<input type="submit" value="Update" class="button orange" /> <div class="float-right"><input type="button" name="Cancel" value="Cancel" class="button orange" onclick="window.location = '/admin' " /></div>
</div></form>
только часть работы, которая получает пост отражаемый в это название, не титул в моей базе данных, но заголовок страницы. Смотрите Изображение:
Тогда для действия формы я использую файл # 3: действие = "обновление-hire.php
<?php
include($_SERVER['DOCUMENT_ROOT'] . "/connections/dbconnect.php");
$ud_id = $_POST['ud_id'];
$ud_date = $_POST['ud_date'];
$ud_title = $_POST['ud_title'];
$ud_description = $_POST['ud_description'];
$ud_description = nl2br(htmlspecialchars($_POST['description']));
// Insert record into database by executing the following query:
$query="UPDATE hire SET title='$ud_title', description='$ud_description', date='$ud_date' "."WHERE id='$ud_id'";
$retval = mysql_query($sql);
echo "The position has been updated.<br />
<a href='modify-employment.php'>Update another position.</a><br />";
mysql_close();
?>
Я новичок в PHP и пытается учиться самостоятельно, но я потратил целый день, пытаясь заставить это работать, поэтому я подумал, что увижу, если кто-то один Stack сможет мне помочь, так как в прошлом я нашел здесь несколько полезных людей. help Я был бы признателен. Спасибо!
Что такое ошибка, которую вы получаете при попытке обновления? – Roger