|
|
|
|
$query=mysql_query("select * from admin");
$num_rows = mysql_num_rows($query);
for ($i=1; $i<=$num_rows; $i++)
{
if(isset($_POST[‘flag’.$i]))
{
$flag="1";
}
else {
$flag="0";
}
if ($_POST['reason'.$i])
{
$reason=$_POST['reason'.$i];
}
else
{
$reason="0";
}
if ($_POST['cost'.$i])
{
$cost=$_POST['cost'.$i];
}
else
{
$cost="0";
}
echo "$flag";
echo "$reason";
echo "$cost";
}
|
notice:Undefined index cost3,reason3 и.т.д
i>150
пробовала упростить задачу с помощью forech
$form_data = array($_POST['reason'], $_POST['cost']; и.т.д
как быть в таком случае с checkboxaми(напрмер, flag)?
как будет выглядеть примерный запрос на добавление в бД? | |
|
|
|
|
|
|
|
для: Medulla
(27.08.2007 в 15:12)
| |
if(isset($_POST[‘flag’.$i]))
|
вот здесь - почему flag взят в странные такие кывачки? кажется, содержимое таких кавычек носит системный характер, запускается какая-то программа
проверять на существование переменной надо isset(), как и в 1 у вас случае с флагом | |
|
|
|
|
|
|
|
для: bronenos
(27.08.2007 в 16:07)
| | да, спасибо. проблема была в isset.
допустим,$num_rows=3(=макс. id).
существует форма:
id___flag(checbox)___reason(текст. поле)___cost(текст. поле)
1
2
3
если заполняю только id=2(например), то получаю рез-т:0 , 1(checbox вкл.), значение поля reason, значение поля cost, 0 (очевидно, 0 - это checbox выкл). почему в этом случае не передаются 0-ые значения текст. полей(т.е, если не заполню cost)?
как построить запрос на добавление в базу данных? запустить еще один цикл? я совсем запуталась(
for ($i=1; $i<=$num_rows; $i++)
{
if(isset($_POST['flag'.$i])) //столбец 1
{
$flag="1";
}
else
{
$flag="0";
}
if (isset($_POST['reason'.$i])) //столбец2
{
$reason=$_POST['reason'.$i];
}
else
{
$reason="0";
}
if (isset($_POST['cost'.$i])) //столбец3
{
$cost=$_POST['cost'.$i];
}
else
{
$cost="0";
}
echo "$flag";
echo "</p>";
echo "$reason";
echo "</p>";
echo "$cost";
echo "</p>";
}
|
| |
|
|
|
|
|
|
|
для: Medulla
(28.08.2007 в 08:27)
| | дезинформация.
>>почему в этом случае не передаются 0-ые значения текст. полей(т.е, если не заполню cost)?
для передачи значений текст. поля isset не нужен.
[code] | |
|
|
|
|
|
|
|
для: Medulla
(28.08.2007 в 10:53)
| |
$sql= "update admin set flag =".$flag." where id=$i";
$resitog= mysql_query($sql, $con);
$sql3="update admin set cost ="'.$cost.'" where id=$i";//знач. из текстового поля
$resitog3= mysql_query($sql3, $con);
|
unexpected T_CONSTANT_ENCAPSED_STRING
как исправить? | |
|
|
|
|
|
|
|
для: Medulla
(28.08.2007 в 12:53)
| | Возможно, так:
$sql= "update admin set flag = '".$flag."' where id=$i";
$resitog= mysql_query($sql, $con);
$sql3="update admin set cost = '".$cost."' where id=$i";//знач. из текстового поля
$resitog3= mysql_query($sql3, $con);
|
| |
|
|
|
|
|
|
|
для: Medulla
(28.08.2007 в 12:53)
| |
$sql= "update admin set flag = $flag where id=$i";
$resitog= mysql_query($sql, $con);
$sql3="update admin set cost = $cost where id=$i";//знач. из текстового поля
$resitog3= mysql_query($sql3, $con);
|
Предварительно $flag и $cost должны быть очищены от нечислового мусора.
$flag = intval($flag);
$cost = floatval($cost);
$i - в принципе, тоже, но он у Вас явно задается параметром цикла, и уже целый. | |
|
|
|
|
|
|
|
для: Trianon
(28.08.2007 в 13:47)
| | спасибо всем большое) | |
|
|
|