2013-05-23 5 views
1

У меня есть некоторые проблемы, когда я использую PHP для циклирования. Вот код:Получение переменной значения из цикла for PHP

$subsel = mysql_query ("SELECT * FROM ar_subkategori, ar_subkategori_bhs WHERE ar_subkategori.id_subkategori = ar_subkategori_bhs.id_subkategori AND id_bahasa = 1 AND status = 'y'"); 
    while ($getsubsel = mysql_fetch_array($subsel)){ 
     if($getsubsel['id_subkategori_induk'] == 0){ 
      for($d = 0; $d < $cnt; $d++){ 
       $fetchit = mysql_query("SELECT * FROM ar_subkategori WHERE id_subkategori = $detail_sub[$d]"); 
       $datafetch = mysql_fetch_array($fetchit); 
       $id_values = $datafetch['id_subkategori']; 
       if ($id_values == $getsubsel['id_subkategori']){ 
        echo "<input type='checkbox' name='checkbox[]' id='checkbox' value='$getsubsel[id_subkategori]' checked> <span style='font-size:10px; color:#FFA412;'>[ID: $getsubsel[id_subkategori]]</span> $getsubsel[nama_subkategori]</br>"; 
       } 
      } 
      if ($id_values != $getsubsel['id_subkategori']){ 
       echo "<input type='checkbox' name='checkbox[]' id='checkbox' value='$getsubsel[id_subkategori]'> <span style='font-size:10px; color:#FFA412;'>[ID: $getsubsel[id_subkategori]]</span> $getsubsel[nama_subkategori]</br>"; 
      } 
     } else { 
      for($d = 0; $d < $cnt; $d++){ 
       $fetchit = mysql_query("SELECT * FROM ar_subkategori WHERE id_subkategori = $detail_sub[$d]"); 
       $datafetch = mysql_fetch_array($fetchit); 
       $id_values = $datafetch['id_subkategori']; 
       if ($id_values == $getsubsel['id_subkategori']){ 
        echo "<input type='checkbox' name='checkbox[]' id='checkbox' value='$getsubsel[id_subkategori]' checked> <span style='font-size:10px; color:#FFA412;'>[ID: $getsubsel[id_subkategori]]</span> $getsubsel[nama_subkategori] <span style='color:#FFA412; font-style:italic; font-size:12px;'>*Ini adalah sub dari ID: $getsubsel[id_subkategori_induk]</span></br>"; 
       }    
      } 
      if ($id_values != $getsubsel['id_subkategori']){ 
       echo "<input type='checkbox' name='checkbox[]' id='checkbox' value='$getsubsel[id_subkategori]'> <span style='font-size:10px; color:#FFA412;'>[ID: $getsubsel[id_subkategori]]</span> $getsubsel[nama_subkategori] <span style='color:#FFA412; font-style:italic; font-size:12px;'>*Ini adalah sub dari ID: $getsubsel[id_subkategori_induk]</span></br>"; 
      } 
     } 
    } 

И here захват из этого кода.

Мой вопрос в том, как устранить это множественное/двойное отображение данных? Большое вам спасибо за помощь.

+2

['MySQL'] (http://php.net/manual/en/book.mysql.php) (' mysql_ * 'функции) расширение [*** устарело ***] (http: // php.net/manual/en/function.mysql-connect.php). Я предлагаю использовать ['MySQLi'] (http://php.net/manual/en/book.mysqli.php) (' mysqli_ * 'функции) или [' PDO'] (http://php.net/ manual/en/book.pdo.php). – BlitZ

+0

В чем отличие в логике с блоком '0' от логики в блоке' else'? это много кода и без варов, которые находятся на моем родном языке или имеют глубокое знание данных, оно выглядит примерно так же .... – prodigitalson

ответ

0

Здесь необходимо поставить ''value='$getsubsel[id_subkategori]', как - value='$getsubsel[\'id_subkategori\']', чтобы заставить его работать.

Dont stick to mysql_* узнайте PDO или перейдите на страницу mysqli_* в качестве проема.

+0

Привет, swapnesh, спасибо за ответ. Но как насчет того, если я хочу устранить unchecked checkbox .. не устранить установленный флажок? Ваше решение работает, но флажок checked не отображается. –

+0

Выбирайте только те строки из запроса, чей флажок отмечен – swapnesh

+0

Можете ли вы показать мне код, пожалуйста? потому что я новичок, поэтому я немного смущен. Спасибо. –

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