PHP: Как создать массив из радиокнопки и сохранить в MySql
У меня есть этот код HTML:-
<label>Show Full Name</label>
<input type="radio" value="1" name="fullname" >
<input type="radio" value="0" name="fullname" >
<label>Show Job</label>
<input type="radio" value="1" name="job" >
<input type="radio" value="0" name="job" >
<label>Show Fav</label>
<input type="radio" value="1" name="fav" >
<input type="radio" value="0" name="fav" >
Теперь мне нужно сохранить это значение в базе данных массива, как этот формат: -
$a = array(
'fullname' => '1',
'job' => '0',
'fav' => '1'
);
И когда сохранить его, как я могу прочитать его и проверить здесь: -
<label>Show Full Name</label>
<input type="radio" value="1" name="fullname" <? if ($fullname == '1') {?> checked="checked" <? } ?> >
<input type="radio" value="0" name="fullname" <? if ($fullname == '0') {?> checked="checked" <? } ?> >
<label>Show Job</label>
<input type="radio" value="1" name="job" <? if ($job== '1') {?> checked="checked" <? } ?> >
<input type="radio" value="0" name="job" <? if ($job== '0') {?> checked="checked" <? } ?> >
<label>Show Fav</label>
<input type="radio" value="1" name="fav" <? if ($fav== '1') {?> checked="checked" <? } ?> >
<input type="radio" value="0" name="fav" <? if ($fav== '0') {?> checked="checked" <? } ?> >
==================
Обновить:-
Теперь мы можем сохранить массив, но когда получаю данные, я не могу их получить
<?php
$sql="SELECT req from formsreq where id = 1";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)){
$data= json_decode($result['req']);
$fullname = $data['fullname'];
$bridthdate = $data['bridthdate'];
$wherebridth = $data['wherebridth'];
$nationalty = $data['nationalty'];
$whereplace = $data['whereplace'];
$job = $data['job'];
$degree = $data['degree'];
$special = $data['special'];
$enjaz = $data['enjaz'];
$morashah = $data['morashah'];
$jeha = $data['jeha'];
$maswagha = $data['maswagha'];
$cv = $data['cv'];
$work = $data['work'];
}
?>
<label>Show Full Name</label>
<input type="radio" value="1" name="fullname" <? if ($fullname == '1') {?> checked="checked" <? } ?> >
<input type="radio" value="0" name="fullname" <? if ($fullname == '0') {?> checked="checked" <? } ?> >
Где ошибка!
1 ответ
Прежде всего, ваш HTML-код будет в форме. После отправки действие формы (назовем ее test.php) будет обрабатывать операции SQL.
test.php:
<?php
$fullname = $_POST['fullname'];
$job = $_POST['job'];
$fav = $_POST['fav'];
$a = array(
'fullname' => $fullname,
'job' => $job,
'fav' => $fav
);
$json = json_encode($a);
mysqli_query($conn,"INSERT INTO tbl (data) VALUES ('".$json."') ");
?>
Как видите, данные были json
закодированы и вставлены в таблицу.
Если вы хотите получить и проанализировать данные, вы можете сделать это:
<?php
$sql="SELECT data from tbl where id = ".$id;
$result=mysqli_query($con,$sql)
while($row=mysqli_fetch_array($result,MYSQLI_ASSOC)){
$data= json_decode($result['data']);
$fullname = $data['fullname'];
$job = $data['job'];
$fav = $data['fav'];
}
?>
<label>Show Full Name</label>
<input type="radio" value="1" name="fullname" <? if ($fullname == '1') {?> checked="checked" <? } ?> >
<input type="radio" value="0" name="fullname" <? if ($fullname == '0') {?> checked="checked" <? } ?> >
<label>Show Job</label>
<input type="radio" value="1" name="job" <? if ($job== '1') {?> checked="checked" <? } ?> >
<input type="radio" value="0" name="job" <? if ($job== '0') {?> checked="checked" <? } ?> >
<label>Show Fav</label>
<input type="radio" value="1" name="fav" <? if ($fav== '1') {?> checked="checked" <? } ?> >
<input type="radio" value="0" name="fav" <? if ($fav== '0') {?> checked="checked" <? } ?> >