2015-12-28 3 views
3

У меня есть и значение в моей базе данных. Это звонок typePhp form проверяется, когда значение флажка в массиве mysql-запроса?

У меня есть 2 флажка в моей форме html.

<input name="barea[]" type="checkbox" id="barea[]" value="1" {$cbvar}/>Normal 
<input name="barea[]" type="checkbox" value="2" id="barea[]" {$cbvar}/>Gold 

И хранить данные как код ниже:

$checkboxvar = implode(',', $_GET['barea']); 

Так что мои данные таблицы, как:

+-------+-----------+ 
| ID | type  | 
+-------+-----------+ 
| 1  | 1   | 
| 2  | 1,2  | 
| 3  | 2   | 
| 4  | 1,2  | 
| 5  | 1,2  | 
| 6  | 1   | 
+-------------------+ 

Когда пользователь редактировать эти данные, как checked флажок, когда barea[] value существует in_array в mysql_query?

Стараюсь ниже кодирования, в моем файле PHP:

$checkbox = explode(',',$row['type']); 
if (in_array($_GET['barea'],$checkbox)){ 
    $cbvar = "checked=\"checked\""; 
}else{ 
    $cbvar = ''; 
} 

В моем HTML

<input name="barea[]" type="checkbox" id="barea[]" value="1" {$cbvar}/>Normal 
<input name="barea[]" type="checkbox" value="2" id="barea[]" {$cbvar}/>Gold 

Но он не может работать, я думаю, может быть проблема на if (in_array($_GET['barea'],$checkbox)){.

так как улучшить мое кодирование или любое другое хорошее предложение кодирования? Спасибо.

+0

Какого значения вы получаете в '' $ _GET [ 'Barea'] '' ?? –

ответ

3

=> Попробуйте этот код я надеюсь, что это полезно ..

// HTML страницы ..

<label>Select State</label><br> 
<?php 
$allgroup = mysql_query("SELECT * FROM state"); 
$flag=false; 
while($state_list = mysql_fetch_array($allgroup)) 
{ 
    $parr=explode(',',$er['state_id']); 
    $size = sizeof($parr); 
    for($i=0;$i<$size;$i++) { 
    if($parr[$i]==$state_list['id']) {        
     $flag=true; 
    } 
    }  

    if($flag==true) { 
    ?> 
    <input type='checkbox' name='state[]' style="margin-left:5px;" value="<?php echo $state_list['id']; ?>" checked > <?php echo $state_list['name']; ?> <br> 
    <?php 
    $flag=false; 
    } else { 
    ?> 
    <input type='checkbox' name='state[]' style="margin-left:5px;" value="<?php echo $state_list['id']; ?>"  > <?php echo $state_list['name']; ?> <br> 
    <?php 
    } 
} 
?> 

// PHP код ..

<?php 
$states=""; 
$i=0; 
foreach($_POST['state'] as $selected) { 
    echo sizeof($_POST['state']); 
    if($i==sizeof($_POST['state'])-1) { 
     $states = $states.$selected; 
    } else { 
    $states = $states.$selected.","; 
    } 
    $i++; 
} 
?> 
0

Не забудьте sanitize $_POST, хорошая практика кодирования не имеет прямого доступа к суперклассу POST.

+1 для инициализации переменных перед их использованием :)

Смежные вопросы