2009-11-07 5 views
0
 while ($row= mysql_fetch_array($result, MYSQL_ASSOC)) 
{ $id=$row[id]; 
    $html=<<<html 
<tr><td> 
<input style="float:left" type="checkbox" id="$id" name="myBoxes[$id]" value="true"> 
<span style="float:left">$row[content]</span> 
<span style="color:black;float:right">$row[submitter]</span></td></tr> 
html; 
echo $html; 
} 


$html=<<<html 
</table> 
<span onclick="selectAll(true)" style="cursor:pointer;color:black">All</span> 
&nbsp 
<span onclick="selectAll(false)" style="cursor:pointer;color:black">None</span><br/> 
<input type="submit" value="Submit"/> 
html; 
echo $html; 

JQuery код:Предупреждение: неверный аргумент поставляются для Еогеасп() в Е: XAMPP HTDOCS сдельная groupcheck.php на линии 2

function selectAll(argument) 
{ 
    $("INPUT[type='checkbox']").attr('checked',argument); 
} 

PHP код:

<?php foreach ($_POST['myBoxes'] as 
    $id => $value) { echo $value; 
    echo "<br/>";} ?> 

Зачем возникает сообщение об ошибке

Предупреждение: Недействительный аргумент для Еогеасп() в E: \ XAMPP \ HTDOCS \ сдельной \ groupcheck.php на линии 2

, когда я нажмите кнопку "Нет" и "представить", в чем проблема?

ответ

0

$_POST - ассоциативный массив, который отображает строки в строки; следовательно, $_POST['myBoxes'] - это строка. Вы не можете запустить цикл foreach над строкой.

+0

А? Но он послал его как массив, не так ли? В конце концов, поле имеет имя 'myBoxes [$ id]'. Опять же, я не совсем уверен, действительно ли это $ id или просто заменен истинным ID ... – Franz

+0

Если в момент, когда код запускается, '$ id' имеет значение' 1', тогда поле будет называться 'myBoxes [1]'. Это никак не массив, это просто строка. – Thomas

0

Если удалить $ ID из вашего HTML: Name = "myBoxes [$ ID]" это работает?

1

Изменяйте эту

$row[id] 
$row[content] 
$row[submitter] 

в это:

$row['id'] 
$row['content'] 
$row['submitter'] 
Смежные вопросы