0

今回は非常に残念です。私は一日を無駄にしてしまい、私を助けることができませんでした。問題は次のとおりです。

保留中のジョブを承認または削除する必要があります。同意した場合のみ、私のサイトに公開されます。画像をご覧ください。ここに画像の説明を入力

ここで、この問題を処理するためにこのコードを試しています。まず、誰かが新しい求人を投稿した場合、求人に応じて非表示の値 = 0 を渡します。

<input type="hidden" name="pending" value=0/>

次に、それをデータベースに保存します。

INSERT INTO job (Pending) VALUES ('$_POST[pending]');

次に、画像(上)のページに移動して、承認または削除します。

echo "<a href='accept.php?accept=1'>ACCEPT</a> Or ";
echo "<a href='accept.php?accept=0'>DELETE</a>";

承認後、Pending 列が 0 から 1 に置き換えられ、公開されます。または時間を削除すると、ジョブは単にデータベースから削除されます。

$accept=$_GET['accept'];
if($accept==1){
mysql_query("UPDATE job SET Pending='$accept'
WHERE ID='5'");
}
else{
mysql_query("DELETE FROM job WHERE ID='5'");
}

「ジョブ」テーブルでは、ID という名前のプライマリ自動インクリメント カラムを使用します。IDに5を入れました。したがって、このコードは、ID が 5 の保留中のジョブに対してのみ機能します。したがって、私の問題はここにあります。この 5 を動的変数に置き換えるにはどうすればよいですか?

詳細については、「保留中のジョブ」ページのコードをご覧ください。

$result1 = mysql_query("SELECT * FROM job ORDER BY ID DESC");
while($row1 = mysql_fetch_array($result1))
{
 $id=$row1['ID'];
 $cat=$row1['Category'];
 $title=$row1['Title'];
 $type=$row1['Type'];
 $desp=$row1['Description'];
 $salary=$row1['Salary'];
 $day=$row1['Day'];
 $month=$row1['Month'];
 $year=$row1['Year'];
 $info=$row1['Contact'];
 $pending=$row1['Pending'];

 $now = time();
 $last_date = strtotime("$year-$month-$day");
 $datediff = $last_date - $now;
 $day_left=ceil($datediff/(60*60*24));
 if($day_left>=0&&$pending==0){
echo "<div class=cat>Job field: $cat<br/></div>";
  echo "<div class=yel2>";
 echo "This is a <b>$type time</b> job and we are looking for <b>$title</b>. $desp<br/>";
if ($salary!=0) echo "Salary: $salary<br/>";
echo "Contact info: $info<br/>Last date: $day-$month-$year";
 if($day_left==0)
 echo "<br/><span class=ash><i>Today is the last day to apply</i><br/>";
else
 echo "<br/><span class=ash><i>$day_left day(s) left</i></span><br/>";
 echo "<span class=acc><a href='accept.php?accept=1'>ACCEPT</a><span> Or ";
 echo "<span class=del><a href='accept.php?accept=0'>DELETE</a></span>";
4

1 に答える 1

2

受け入れ URL とともに ID を渡すだけです。

echo "<span class=acc><a href='accept.php?id=$id&accept=1'>ACCEPT</a><span> Or ";

次を使用して、accept.php スクリプト内で ID を取得できます。

$post_id = $_GET['id'];

コードの変更はほとんど必要ありません

$accept = intval($_GET['accept']); // safe against sql-injections
$post_id = intval($_GET['id']);
if($accept==1){
mysql_query("UPDATE job SET Pending='$accept'
WHERE ID='$post_id'");
}
else{
mysql_query("DELETE FROM job WHERE ID='$post_id'");
}
于 2012-12-28T07:50:23.977 に答える