Помогите передать переменную в другой скрипт

Статус
В этой теме нельзя размещать новые ответы.

Vlad_c

Guest
Помогите передать переменную в другой скрипт

У меня есть скрипт который формирует html страницу, на которой есть таблица данные в которую отображаются из базы mysql. Теперь мне нужно удалять поля в базе при выбранном checkboxe. checkboxы генерируются автомотически строкой:

echo ('<input type="checkbox" name="C');
echo $f1[id];
echo ('" value="ON" checked>');

т.е. я передаю в скрипт форму с именами checkboxsov= именам id. например id=3,5,6 то и checkboxy=3,5,6 и т.д. но в другом скрипте я немогу считать эти checkboxy ведь объявить global $C[id] нельзя как мне считать эти checkboxy, а затем двигаясь по таблице находить строки в которых id будут равны С[id] и удалять их?
 

telepuzik

тинки-винки
<input ... name="c[]"...>

и в php получишь массив выделенных чекбоксов... c[0]...c[n]
 

Vlad_c

Guest
Автор оригинала: telepuzik
<input ... name="c[]"...>
и в php получишь массив выделенных чекбоксов... c[0]...c[n]
если я напишу "С[]" и я получу массив то как мне его передать в другой скрипт?
 

[VS]

Guest
Зачем тебе массив из одного PHP скрипта в другой передавать?
 

Vlad_c

Guest
я передаю все параметры в этот же скрипт потом соединяюсь с базой и вношу в нее изменения(удаляю(не работает)или добавляю).
 

DVA

Guest
Тебе надо удалять некоторые поля отмеченные чекбоксами ?
Пиши:
<input ... name="del[]" value="id">
в скрипте-обработчике проходись по полученному массиву del, который будет содержать лишние ID...
 

DVA

Guest
PHP:
echo '<input ... name="del[]" value="'.$id.'">';
Извиняюсь за кучу мусора :(
P.S. А почему нельзя редактировать собственные сообщения ?
 

Vlad_c

Guest
DVA -большое спасибо за ответ по позже попробую
кстати и в правду не удобно нельзя редактировать свои сообщения:)
 

Vlad_c

Guest
DVA, извени за глупый вопрос(просто в php я пока чайник)
не мог бы ты написать как пройтись по массиву и удалить лишние поля в базе?
 

si

Administrator
Автор оригинала: Vlad_c
DVA, извени за глупый вопрос(просто в php я пока чайник)
не мог бы ты написать как пройтись по массиву и удалить лишние поля в базе?
Приблизительно так:

PHP:
<?
$ids = array();
foreach($del as $id)
  $ids[] = intval($id);

if (count($ids))
{
  $sSQL = "DELETE FROM table WHERE id IN(".join(',',$ids).")";
  query($sSQL);
}
?>
или так (короче но менее понятно):

PHP:
<?
if (count($del))
{
  $sSQL = "DELETE FROM table WHERE id IN(".join(',',array_map('intval',$del)).")";
  query($sSQL);
}
?>
 

Vlad_c

Guest
еще один глупый вопрос:)
как передать массив del[] в другой скрипт, который у меня удаляет поля в базе?
 

Vlad_c

Guest
ОПС!!!!
Все заработало, вот только если не отмечаешь чекбоксы для удаления все время вылетает
Warning: Invalid argument supplied for foreach() in z:\home\localhost\www\table_kabel.php on line 24

типа ему ненравится пустой массив и foreach() обламывается
но главное непонятно почему если ставишь @ перед foreach() он выдает ошибку ведь он должен просто подавлять warnings?
как мне избавиться от этого warninga?: confused:
а то если ничего не удалять все время он появляется.

кстати второй пример не работает он выдает что не знает что такое array_map
 

tony2001

TeaM PHPClub
Автор оригинала: Vlad_c
ОПС!!!!
Все заработало, вот только если не отмечаешь чекбоксы для удаления все время вылетает
Warning:
проверяй массив ли это вообще. (is_array())
желательно еще проверять значения в массиве.
 

si

Administrator
Автор оригинала: Vlad_c
ОПС!!!!
Все заработало, вот только если не отмечаешь чекбоксы для удаления все время вылетает
Warning: Invalid argument supplied for foreach() in z:\home\localhost\www\table_kabel.php on line 24
типа ему ненравится пустой массив и foreach() обламывается
но главное непонятно почему если ставишь @ перед foreach() он выдает ошибку ведь он должен просто подавлять warnings?
как мне избавиться от этого warninga?: confused:
а то если ничего не удалять все время он появляется.
кстати второй пример не работает он выдает что не знает что такое array_map
Может ты все-таки сам по-пробуешь найти ответы на свои вопросы ?

Ответы тут: http://www.php.net/
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху