2015-03-07 3 views
1

Я хочу взорвать данные из таблицы "school_minat" в контрольный список в checbox обхвата таблицу из "dayaminat".Explode Checkbox зацикливание PHP

Я уже пытаюсь, но мой контрольный список показывает только один. в то время как мои данные minat_id в таблице school_minat 4 данных = smk2, smk3, smk1, smk4

<center> 
<?php $sql = "select * from dayaminat"; 
$rs = mysql_query($sql); 
$i = 0; 
while($row = mysql_fetch_array($rs)){ // Looping data from Table "dayaminat" 
    ?> 
    <input name='minat[]' 
    <?php 
    $values = $result['minat_id']; // Data "minat_id" already Selected in Database table "school_minat" 
    $array_of_values = explode(",", $values); //Explode Data "Minat" already Selected in Database table "school_minat" 
    if (in_array($row['minat_id'],$array_of_values)) { 
    echo 'checked="checked"'; 
    } 
    ?> 
    value='<?php echo $row['minat_id']?>' type='checkbox'>&nbsp; <?php echo $row['minat'] ?> &nbsp; 
    <?php 
    $i ++; 
}?> 
</center> 

Помоги мне. Спасибо :)-х

ответ

2

Вы должны петля в вашем $array_of_values

<center> 
<?php $sql = "select * from dayaminat"; 
$rs = mysql_query($sql); 

while($row = mysql_fetch_array($rs)){ // Looping data from Table "dayaminat" 
    $values = $result['minat_id']; // Data "minat_id" already Selected in Database table "school_minat" 
    $array_of_values = explode(",", $values); //Explode Data "Minat" already Selected in Database table "school_minat" 

    for($i = 0; $i < count($array_of_values); $i++) { 
    echo "<input name='minat[]' "; 
    if (in_array($row['minat_id'], $array_of_values)) { 
    echo 'checked="checked"'; 
    } 
    ?> 
    value='<?php echo $array_of_values[$i]; ?>' type='checkbox'>&nbsp; <?php echo $array_of_values[$i]; ?> &nbsp; 
    <?php 
    } 
}?> 
</center> 
+0

всегда не показывают :(контрольный я путать .. –

+0

я стараюсь типа в то время как снаружи я типа $ значения = $ результата [ 'minat_id']; $ array_of_values ​​= взорваться ("", $ значения); эхо $ значения; // Мои данные показывают smk2, smk3, smk1, smk4 я пытаюсь ввести снова эхо $ array_of_values; // показывать только текст "массив" –

+0

если вы хотите увидеть $ array_of_values, вы должны сделать это print_r ($ array_of_values); –

1

Вы зацикливание только через ряд баз данных. Поскольку есть только 1 строка, вы получаете только 1 результат.

Так что попробуйте пройти через массив! Вероятно, используя цикл Еогеасп ..

<center> 
<?php $sql = "select * from dayaminat"; 
$rs = mysql_query($sql); 
$i = 0; 
while($row = mysql_fetch_array($rs)){ // Looping data from Table "dayaminat" 

    $values = $result['minat_id']; // Data "Minat" already Selected in Database table "school_minat" 
    $array_of_values = explode(",", $values); //Explode Data "Minat" already Selected in Database table "school_minat"?> 
    foreach ($array_of_values as $arrayItem){ 

     <input name='minat<?php echo $i;?>' 
     <?php 

     if (in_array($row['minat_id'],$arrayItem)) { 
     echo 'checked="checked"'; 
     } 
     ?> 
     value='<?php echo $arrayItem ?>' type='checkbox'>&nbsp; <?php echo $arrayItem ?> &nbsp; 
     <?php 
     $i ++; 
    } 
}?> 
</center>