私はむしろこのフォーラムに新しく加わった者です。PHPでコーディングするので、初心者として、あなたの助けを借りたいと思います。
私が直面している問題は次のとおりです。
次のフィールドを持つMySQLテーブル「アナウンス」があります
id
----------
advert
----------
date
----------
file
----------
approv
----------
ページからデータが入力される場所 - 承認を除くすべての列がその値を取得する場所。フィールドに入力するために、新しい PHP ページがあります。フィールド承認は、そのチェックボックスのチェックに基づいて値「承認済み」を取得します
私が直面している問題は、特定のレコードが承認され、MySQL テーブルに更新されるように、ID を表示し、対応するチェックボックスの値を取得するテキスト ボックスの値を読み取ることができないことです。
私が書いたコードを以下に示します
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org
/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Annpouncements | Pending List</title>
<style type="text/css">
.textinput {
height: 20px;
width: 20px;
border-top-width: 0px;
border-right-width: 0px;
border-bottom-width: 0px;
border-left-width: 0px;
border-top-style: none;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
}
</style>
</head>
<body>
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td> </td>
</tr>
<tr>
<td height="164"><form id="form1" name="form1" method="post" action="">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="11%" height="31" align="center"><label>Id</label></td>
<td width="15%" height="31" align="center"><label>Date</label></td>
<td width="52%" align="center"><label>Title</label></td>
<td width="22%" align="center"><label>Status</label></td>
</tr>
<?php
//Open the table announce from the database and list date in descending order
$result = mysql_query("SELECT * FROM announce ORDER by date DESC" )or
die(mysql_error());
//Define a variable to get the rows of the table
$ann = mysql_fetch_array($result);
//Define a variable to get the no of rows
$num = mysql_num_rows($result);
$i=0;
while($i<$num) {?>
<?php $approv[$i]= mysql_result($result,$i,"approv"); ?>
<tr>
<?php if($approv[$i] !== "approved"){?>
<td height="36" align="center"><input name="id" type="text"
class="textinput" id="id" value="<?php echo mysql_result($result,$i,"id");
?>" /></td>
<?php $ids = mysql_result($result,$i,"id");
//$inp = $_POST["id"][$i];
//echo 'Input value : ' .$inp. '<br/>' ?>
<td height="36" align="center"><label>
<?php echo mysql_result($result,$i,"date"); ?></label></td>
<td align="center"><label><?php echo mysql_result($result,$i,"advert");
?></label></td>
<td align="center"></label><input type="checkbox" name="approv[]" />
<label for="approv"></label></td>
<?php $idan = mysql_query("SELECT * FROM announce WHERE id == $ids"); ?>
<?php
if (isset($_POST['button']))
{
$apprv = $_POST["approv"];
//echo 'id = '.$ids.'<br/>';
$how_many = count($apprv);
//echo 'Row selected' .$how_many. '<br/>';
foreach ($_POST['approv'] as $apprValue)
$txtvalue[] = $_POST[$apprValue];
echo 'txtvalue = ' .$txtvalue. '<br/>';
mysql_query("UPDATE announce SET approv = 'approved'WHERE id ==
$idan ");
}
}
?>
<?php } ?>
</tr>
<?php
$i++;
}
?>
<tr>
<td height="44"> </td>
<td> </td>
<td align="center"> </td>
<td align="center"><input type="submit" name="button" id="button"
value="Submit" /></td>
</tr>
</table>
</form></td>
</tr>
</table></td>
</tr>
</table>
したがって、チェックされた行のみに対して値「承認済み」でテーブルを更新するための正しい解決策を得るのを手伝ってください。
貴重なご協力をお待ちしております