Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Объедининение переменных в запросе id in (".$_POST["check1"].",".$_POST["check2"].",".$_POST["check3"].")
 
 автор: Dinya_1   (27.09.2011 в 12:01)   письмо автору
 
 

Продолжение темы
http://softtime.ru/forum/read.php?id_forum=3&id_theme=82739&page=1

Если некоторых переменных не существует, выходит ошибка, (наверное потому что запятые остаются)

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in W:\home\spic\spicesshop.org\add_mail.php on line 256

Warning: Cannot modify header information - headers already sent by (output started at W:\home\spic\spicesshop.org\add_mail.php:256) in W:\home\spic\spicesshop.org\add_mail.php on line 358


<?
($_POST["check1"] == "")?($_POST["check1"] = ""):($_POST["check1"] = $_POST["check1"]);
     (
$_POST["check2"] == "")?($_POST["check2"] = ""):($_POST["check2"] = $_POST["check2"]);
     (
$_POST["check3"] == "")?($_POST["check3"] = ""):($_POST["check3"] = $_POST["check3"]);
     
     
//название платежных систем
     
$result15 mysql_query ("SELECT title FROM t_payments WHERE id in (".$_POST["check1"].",".$_POST["check2"].",".$_POST["check3"].") ",$db);
    while(
$myrow15 mysql_fetch_array($result15))
    {
    
$payments .="$myrow15[title], ";
    }

?>

  Ответить  
 
 автор: cheops   (27.09.2011 в 17:37)   письмо автору
 
   для: Dinya_1   (27.09.2011 в 12:01)
 

Лучше сформировать массив, элементы которого потом подставлять в запрос при помощи функции implode()
<?php 
  $arr 
= array();
  if(!empty(
$_POST["check1"])) $arr[] = $_POST["check1"]; 
  if(!empty(
$_POST["check2"])) $arr[] = $_POST["check2"]; 
  if(!empty(
$_POST["check3"])) $arr[] = $_POST["check3"]; 

  if(!empty(
$arr))
  {
    
$query "SELECT title FROM t_payments 
              WHERE id IN ("
.implode(","$arr).")";  
    
$result15 mysql_query ($qury$db); 
    if(!
$result15) exit("Ошибка выполнения запроса ".mysql_error());
    while(
$myrow15 mysql_fetch_array($result15)) 
    { 
      
$payments .= "$myrow15[title], "
    } 
  }
?>

  Ответить  
 
 автор: Dinya_1   (27.09.2011 в 18:56)   письмо автору
 
   для: cheops   (27.09.2011 в 17:37)
 

Класно, спасибо :))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования