Onclick php update query

Пожалуйста, помогите .. У меня проблемы с этим кодом. Я запутался! Я использую <form> <input type="submit">, Идентификатор идентифицируется, однако, если я нажимаю на тот, который будет отправлен, другой идентификатор появился. Пожалуйста помоги! Заранее спасибо.

<?php
if(isset($_POST['ADD'])){
$dvlbid=$_POST['dvlbid'];
$docstate=XXX;

$query="UPDATE dvlog set docstate='$docstate' where dvlbid='$dvlbid'";
$result=mysql_query($query);

header("Location: ../../modules/dv/add_dv.php?dvlbid=$dvlbid");
}
?>

<form name="form" method="post">
<table class="dvr_table" id="indextable" border="1"     style="border-collapse:collapse;" >
<thead>
<tr bgcolor='#666666' style='color:#FFFFFF'>
<th><a href="javascript:SortTable(0,'T');">Book Code No.</a></th>
<th><a href="javascript:SortTable(2,'N');">Amount</a></th>
<th>OPTION</th>
</tr>
</thead>
<tbody>
<?php
include('../../includes/ps_pagination.php');

$sql = "SELECT *,dvlbid,docstate FROM dvlog WHERE docstate = 'FOR_ENCODING' ";

$pager = new PS_Pagination($conn, $sql, 20, 5);

$rs = $pager->paginate();
if (!$rs) { die("" . mysql_error()); }
while($row = mysql_fetch_array($rs))
{
?>

<tr bgcolor='#ffffff' />
<td>
<?php echo $row["logbooktype"];?>-
<?php echo $row["imonth"];?><?php echo $row["iday"];?>-
<?php echo $row["logbookno"];?>
</td>
<td align="right"><?php echo number_format($row["amount"],2);?></td>
<td>
<input type="hidden" name="dvlbid" value="<?php echo $row["dvlbid"];?>">
<input type="submit" name="ADD" value="ENCODE" />
</td>
</tr>

<?php $color="1"; }     ?>

</tbody>
<tr>
<td colspan="23" align="center">
<?php

echo '<div class="pager" >'.$pager->renderFullNav().'</div>';
?>
</td>
</tr></table>
</form>

Редакция:
Прошу прещения за это. Я глубоко извиняюсь. О вопросе, когда я нажимаю кнопку ENCODE как отправить. Вместо dvlbid, который я нажимаю, выбирается другой. Это делает клик dvlbid не тот, который я нажимаю. Похоже, что он выберет 2-й dvlbid вместо 1-го.

-3

Решение

Вам нужно создать 1 форму для каждого tr, То, как вы делаете это порождает много dvlbid значения в той же форме и нет никакого способа, чтобы браузер знал, что вы отправляете. Я переписываю ваш код, создавая одну форму для каждого trЯ думаю, что это сработает (хотя я не очень хорошо понимаю ваш вопрос):

<?php
if(isset($_POST['ADD'])){
$dvlbid=$_POST['dvlbid'];
$docstate=XXX;

$query="UPDATE dvlog set docstate='$docstate' where dvlbid='$dvlbid'";
$result=mysql_query($query);

header("Location: ../../modules/dv/add_dv.php?dvlbid=$dvlbid");
}
?>

<table class="dvr_table" id="indextable" border="1"     style="border-collapse:collapse;" >
<thead>
<tr bgcolor='#666666' style='color:#FFFFFF'>
<th><a href="javascript:SortTable(0,'T');">Book Code No.</a></th>
<th><a href="javascript:SortTable(2,'N');">Amount</a></th>
<th>OPTION</th>
</tr>
</thead>
<tbody>
<?php
include('../../includes/ps_pagination.php');

$sql = "SELECT *,dvlbid,docstate FROM dvlog WHERE docstate = 'FOR_ENCODING' ";

$pager = new PS_Pagination($conn, $sql, 20, 5);

$rs = $pager->paginate();
if (!$rs) { die("" . mysql_error()); }
while($row = mysql_fetch_array($rs))
{
?>

<tr bgcolor='#ffffff' />
<form name="form" method="post">
<td>
<?php echo $row["logbooktype"];?>-
<?php echo $row["imonth"];?><?php echo $row["iday"];?>-
<?php echo $row["logbookno"];?>
</td>
<td align="right"><?php echo number_format($row["amount"],2);?></td>
<td>
<input type="hidden" name="dvlbid" value="<?php echo $row["dvlbid"];?>">
<input type="submit" name="ADD" value="ENCODE" />
</td>
</form>
</tr>

<?php $color="1"; }     ?>

</tbody>
<tr>
<td colspan="23" align="center">
<?php

echo '<div class="pager" >'.$pager->renderFullNav().'</div>';
?>
</td>
</tr></table>

PS: Я действительно не понимаю ваш вопрос, если у вас возникли проблемы с синтаксической ошибкой, или страница пуста, или она ведет себя не так, как ожидалось. Я делаю слепое предположение здесь.

PS II: Что это такое XXX на 4-й линии ?! Это константа или ошибка?

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]