через форму с помощью checkbox передается неопределенное значение параметров, как выбрать из БД нужные столбцы по количеству переданных значений checkbox и id разным значениям checkbox и выбранные значения массивом поместить в сессию? данные выбираются Код (Text): $_SESSION['id_service'] = $_POST['service']; for ($i=0; $i<count($_SESSION['id_service']); $i++) { $service = "SELECT * FROM service WHERE id=".$_SESSION['id_service'][$i]; $service_query = mysql_query("$service"); while ($service_select = mysql_fetch_assoc($service_query)) { echo $service_select['service']; echo $service_select['price']; } } а вот как $service_select['service'] и $service_select['price']; поместить в соответствующие массивы $_SESSION['service'] и $_SESSION['price'], чтоб их потом можно было разобрать по элементам, не получается помещает только последнюю выбранную запись и все
так что надо сделать? ну убрал я while а как поместить все выбранные переменные в один массив? вот так заработало Код (Text): $_SESSION['id_service'] = $_POST['service']; for ($i=0; $i<count($_SESSION['id_service']); $i++) { $services = "SELECT * FROM service WHERE id=".$_SESSION['id_service'][$i]; $service_query = mysql_query("$services"); $service_select = mysql_fetch_assoc($service_query); $service[] = $service_select['service']; $sprice[] = $service_select['price']; }
Если я правильно понял PHP: $_SESSION['id_service'] = $_POST['service']; for ($i=0; $i<count($_SESSION['id_service']); $i++) { $service = "SELECT * FROM service WHERE id=".$_SESSION['id_service'][$i]; $service_query = mysql_query("$service"); $serv_arr = array(); $price_arr = array(); while ($service_select = mysql_fetch_assoc($service_query)) { $serv_arr[] = $service_select['service']; $price_arr[] = $service_select['price']; } } и вот получили два массива данных и заганяем их в сессию: PHP: $_SESSION['arr_service'] = $serv_arr; $_SESSION['arr_price'] = $price_arr;
возможно id это не id ИМХО З.Ы. у людей по разному бывает, хотя привычно конечно что id это и есть id
// малость не в тему, просто думаю не стоит отдельную тему под этот вопрос городить а вот так PHP: for ($i=0; $i<count($_SESSION['id_service']); $i++) { foreach ( $_SESSION['id_service'] as $items ) { $service = "SELECT * FROM service WHERE id=".$items; } не оптимистичней будет по сравнению с PHP: for ($i=0; $i<count($_SESSION['id_service']); $i++) { ? В форе же count() будет выполняться каждый проход цикла. Или я не прав и в плане оптимизации моя замена ни чего не дает?