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" <? } ?> >
Другие вопросы по тегам