У меня есть некоторый массив или флажки, а отмеченные значения должны записываться в таблицы mysql. На данный момент он не пишет db. Поэтому я сомневаюсь, что я делаю правильный путь. Код ниже представлен массивом записей из db. Теперь у него есть 2 ряда флажков. Это может быть один или два или три в зависимости от данных.Вставьте данные из блока checkbox в таблицу MySQL с PHP
Мой HTML ниже:
<form action="comparitive_state_comprehensive_update.php?tender_id=1063" method="POST"></form>
<table class="inlineTable" style="border-collapse: collapse" border="1" bordercolor="#000000" cellpadding="7" cellspacing="0" width="160">
<tbody>
<tr>
<td height="30" width="170">Export Charges:</td>
</tr>
<tr>
<td height="30">IATA Charges:</td>
</tr>
<tr>
<td height="30">COC Charges:</td>
</tr>
<tr>
<td height="30">Calibration Charges:</td>
</tr>
<tr>
<td height="30">Third Party Insp. Chrg</td>
</tr>
<tr>
<td height="30">Ultrasonic Insp. Chrg</td>
</tr>
<tr>
<td height="30">Optional Access Cost</td>
</tr>
<tr>
<td height="30">Extended Warranty Chrg</td>
</tr>
<tr>
<td height="30">Installation & Training</td>
</tr>
<tr>
<td height="30">Approx. Freight</td>
</tr>
<tr>
<td height="30">Other Charges</td>
</tr>
</tbody>
</table>
<table class="inlineTable" style="border-collapse: collapse" border="1" bordercolor="#000000" cellpadding="5" cellspacing="0" width="100">
<tbody>
<tr>
<td height="30" width="540">12 GBP <input name="chk[]" id="exportinr" value="12" type="checkbox"></td>
</tr>
<tr>
<td height="30">34 GBP <input name="chk[]" id="iatainr" value="34" type="checkbox"></td>
</tr>
<tr>
<td height="30">78 GBP <input name="chk[]" id="cocinr" value="7848.0783407565" type="checkbox"></td>
</tr>
<tr>
<td height="30">54 GBP <input name="chk[]" id="calibrationinr" value="5433.2850051391" type="checkbox"></td>
</tr>
<tr>
<td height="30">98 GBP <input name="chk[]" id="tpinr" value="9860.4061204376" type="checkbox"></td>
</tr>
<tr>
<td height="30">32 GBP <input name="chk[]" id="ultrasoninr" value="3219.7244474898" type="checkbox"></td>
</tr>
<tr>
<td height="30">19 GBP <input name="chk[]" id="optinr" value="1911.7113906971" type="checkbox"></td>
</tr>
<tr>
<td height="30">25 GBP <input name="chk[]" id="extinr" value="2515.4097246014" type="checkbox"></td>
</tr>
<tr>
<td height="30">67 GBP <input name="chk[]" id="instinr" value="6741.2980619318" type="checkbox"></td>
</tr>
<tr>
<td height="30">16 GBP <input name="chk[]" id="freightinr" value="1609.8622237449" type="checkbox"></td>
</tr>
<tr>
<td height="30">39 GBP <input name="chk[]" id="otherinr" value="3924.0391703782" type="checkbox"></td>
</tr>
</tbody>
</table>
<table class="inlineTable" style="border-collapse: collapse" border="1" bordercolor="#000000" cellpadding="5" cellspacing="0" width="100">
<tbody>
<tr>
<td height="30" width="540">98 GBP <input name="chk[]" id="exportinr" value="8768.88" type="checkbox"></td>
</tr>
<tr>
<td height="30">23 GBP <input name="chk[]" id="iatainr" value="4565.98" type="checkbox"></td>
</tr>
<tr>
<td height="30">89 GBP <input name="chk[]" id="cocinr" value="76576.098" type="checkbox"></td>
</tr>
<tr>
<td height="30">21 GBP <input name="chk[]" id="calibrationinr" value="87687.090" type="checkbox"></td>
</tr>
<tr>
<td height="30">90 GBP <input name="chk[]" id="tpinr" value="24565.989" type="checkbox"></td>
</tr>
<tr>
<td height="30">28 GBP <input name="chk[]" id="ultrasoninr" value="223.090" type="checkbox"></td>
</tr>
<tr>
<td height="30">42 GBP <input name="chk[]" id="optinr" value="5465.09" type="checkbox"></td>
</tr>
<tr>
<td height="30">65 GBP <input name="chk[]" id="extinr" value="1213.89" type="checkbox"></td>
</tr>
<tr>
<td height="30">12 GBP <input name="chk[]" id="instinr" value="87678.88" type="checkbox"></td>
</tr>
<tr>
<td height="30">19 GBP <input name="chk[]" id="freightinr" value="76576.98" type="checkbox"></td>
</tr>
<tr>
<td height="30">10 GBP <input name="chk[]" id="otherinr" value="78687687" type="checkbox"></td>
</tr>
</tbody>
</table>
<input type='submit' name='submit' value='Add Items to Quotation'>
</form>
</div>
Мой PHP скрипт, ниже которого вставляет данные:
$chkbox = $_POST['chk'];
$exportinr = filter_input(INPUT_POST, 'exportinr');
$iatainr = filter_input(INPUT_POST, 'iatainr');
$cocinr = filter_input(INPUT_POST, 'cocinr');
$calibrationinr = filter_input(INPUT_POST, 'calibrationinr');
$tpinr = filter_input(INPUT_POST, 'tpinr');
$ultrasoninr = filter_input(INPUT_POST, 'ultrasoninr');
$optinr = filter_input(INPUT_POST, 'optinr');
$extinr = filter_input(INPUT_POST, 'extinr');
$instinr = filter_input(INPUT_POST, 'instinr');
$freightinr = filter_input(INPUT_POST, 'freightinr');
$otherinr = filter_input(INPUT_POST, 'otherinr');
$currency2 = $_POST['currency2'];
$i = 0;
While($i<sizeof($chkbox))
{
mysqli_query($con,"INSERT INTO quotation_terms (tender_id, export_charges_inr, iata_charges_inr, coc_charges_inr, calibration_charges_inr, tp_inspe_charges_inr, ultrason_inspe_charges_inr, opt_access_cost_inr, ext_warranty_cost_inr, inst_training_cost_inr, approx_freight_inr, other_charges_inr, currency1)
VALUES ('$tender_id','$exportinr','$iatainr','$cocinr','$calibrationinr','$tpinr','$ultrasoninr', '$optinr', '$extinr', '$instinr', '$freightinr', '$otherinr', '$currency2')");
$i++;
}
echo "Checkbox value is successfully submitted.";
Это фактическое PHP Форма сценария:
while($list1=mysql_fetch_array($add1))
{
echo '<tr><input type="checkbox" name="chk[exportinr]" id="exportinr" value='.$list1['export_charges'].'></td></tr>';
echo '<tr><td height="30"><input type="checkbox" name="chk[iatainr]" id="iatainr" value='.$list1['iata_charges'].'></td></tr>';
echo '<tr><td height="30"><input type="checkbox" name="chk[cocinr]" id="cocinr" value='.$list1['coc_charges_inr'].'></td></tr> ';
echo '<tr><input type="checkbox" name="chk[calibrationinr]" id="calibrationinr" value='.$list1['calibration_charges_inr'].'></td></tr>';
echo '<tr><input type="checkbox" name="chk[tpinr]" id="tpinr" value='.$list1['tp_inspe_charges_inr'].'></td></tr>';
echo '<tr><input type="checkbox" name="chk[ultrasoninr]" id="ultrasoninr" value='.$list1['ultrason_inspe_charges_inr'].'></td></tr>';
echo '<tr><td height="30"><input type="checkbox" name="chk[optinr]" id="optinr" value='.$list1['opt_access_cost_inr'].'></td></tr>';
echo '<tr><td height="30"><input type="checkbox" name="chk[extinr]" id="extinr" value='.$list1['ext_warranty_cost_inr'].'></td></tr>';
echo '<tr><td height="30"><input type="checkbox" name="chk[instinr]" id="instinr" value='.$list1['inst_training_cost_inr'].'></td></tr>';
echo '<tr><td height="30"><input type="checkbox" name="chkfreightinr[]" id="freightinr" value='.$list1['approx_freight_inr'].'></td></tr>';
echo '<tr><td height="30"><input type="checkbox" name="chk[otherinr]" id="otherinr" value='.$list1['other_charges_inr'].'></td></tr>';
}
Вам нужно собрать данные сообщения из атрибута 'name', а не' id 'из флажков. PHP не видит атрибуты 'id', только' name' и 'value'. – Rasclatt
Если вы хотите получить точные значения имени, вы можете иметь 'chk []' содержать ключи массива, такие как 'name =" chk [otherinr] "' – Rasclatt
И как будет цикл while для этого вставить в mysql db? –