Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: скрипт подборки на 90% готовый, требуется помощь

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
foozzi
Отправлено: 08 Августа, 2011 - 21:55:13
Post Id



Посетитель


Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011  
Откуда: rm -rf /


Помог: 0 раз(а)




сам скрипт http://zalil[dot]ru/31528865

готовый пример shinamir.ru

то что уже сделано _http://busforwork.ru:8080/m/price/order_

просьба укоротить код, то есть оптимизировать и привести в чувство.

скрипт на 90% готов, да и может кому еще понадобиться

(Отредактировано автором: 09 Августа, 2011 - 00:24:41)



-----
90% ошибок находятся в полуметре от монитора...
 
 Top
White
Отправлено: 08 Августа, 2011 - 22:20:54
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)





а кто такой "демонический" дизайн делал?


-----
if(time()>1356048000) die();
 
 Top
DeepVarvar Супермодератор
Отправлено: 08 Августа, 2011 - 22:39:05
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




White пишет:
демонический
ыда Закатив глазки интересная находка
 
 Top
foozzi
Отправлено: 08 Августа, 2011 - 23:11:32
Post Id



Посетитель


Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011  
Откуда: rm -rf /


Помог: 0 раз(а)




верстал не я))

так что поможете со скриптов, оч нужна ваша помощ)


-----
90% ошибок находятся в полуметре от монитора...
 
 Top
White
Отправлено: 08 Августа, 2011 - 23:31:47
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




foozzi а в чем собственно проблемма? он работает? и пусть себе работает. ничего представляющего интереса в нем нет. тем более вы приложили лишь маленькую часть скрипта, а объявление класса kalc где?


-----
if(time()>1356048000) die();
 
 Top
foozzi
Отправлено: 08 Августа, 2011 - 23:42:20
Post Id



Посетитель


Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011  
Откуда: rm -rf /


Помог: 0 раз(а)




ну мне надо оптимизировать код что бы он выглядел аккуратно и покороче

сори, действительно забыл класы в архив кинуть, перезалил

(Отредактировано автором: 09 Августа, 2011 - 00:23:22)



-----
90% ошибок находятся в полуметре от монитора...
 
 Top
White
Отправлено: 09 Августа, 2011 - 08:54:01
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. function get_existing_param(){
  3.  
  4.                 $sql['sell-off']='SELECT count(1) as c,`sell-off` as val FROM `shm_kalc` GROUP BY `sell-off`';
  5.  
  6.                 $sql['origin']='SELECT count(1) as c,`origin` as val FROM `shm_kalc` GROUP BY `origin`';
  7.  
  8.                 $sql['type']='SELECT count(1) as c,`type` as val FROM `shm_kalc` GROUP BY `type`';
  9.  
  10.                 $sql['size']='SELECT count(1) as c,`size` as val FROM `shm_kalc` GROUP BY `size`';
  11.  
  12.                 $sql['face']='SELECT count(1) as c,`face` as val FROM `shm_kalc` GROUP BY `face`';
  13.  
  14.                 $sql['cut']='SELECT count(1) as c,`cut` as val FROM `shm_kalc` GROUP BY `cut`';
  15.  
  16.                 $sql['spikes']='SELECT count(1) as c,`spikes` as val FROM `shm_kalc` GROUP BY `spikes`';
  17.  
  18.                 //disk
  19.  
  20.                 $sql['disk_size']='SELECT count(1) as c,`size` as val FROM `shm_kalc_disk` GROUP BY `size`';
  21.  
  22.                 $sql['disk_face']='SELECT count(1) as c,`face` as val FROM `shm_kalc_disk` GROUP BY `face`';
  23.  
  24.                 $sql['disk_pcd']='SELECT count(1) as c,`pcd` as val FROM `shm_kalc_disk` GROUP BY `pcd`';
  25.  
  26.                 $sql['disk_otv']='SELECT count(1) as c,`otv` as val FROM `shm_kalc_disk` GROUP BY `otv`';
  27.  
  28.                 $sql['disk_origin']='SELECT count(1) as c,`origin` as val FROM `shm_kalc_disk` GROUP BY `origin`';
  29.  
  30.                 $sql['disk_type']='SELECT count(1) as c,`type` as val FROM `shm_kalc_disk` GROUP BY `type`';
  31.  
  32.  
  33.  
  34.                 foreach ($sql as $key=>$val){
  35.  
  36.                         $result=$this->db->query($val);
  37.  
  38.                         while( $row = $this->db->getRow($result) ) {
  39.  
  40.                                 //print_r($row1);
  41.  
  42.                                 $return[$key][$row['val']]=$row['c'];
  43.  
  44.                         }
  45.  
  46.                 }
  47.  
  48.                 return $return;
  49.  
  50.         }
  51.  


что это Не понял

я конечно не профи в SQL, но почему бы не взять все ваши параметры(select) в качестве полей одной таблицы, и сделать запрос
PHP:
скопировать код в буфер обмена
  1.  
  2. 'SELECT * FROM `some_table` WHERE `param1`="'.$_POST['param1'].'" AND `param2`="'.$_POST['param2'].'"';
при этом строки
PHP:
скопировать код в буфер обмена
  1. ' AND `paramN`="'.$_POST['paramN'].'"'
добавлять к запросу динамически при существовании $_POST['paramN'].
потом полученный результат обойти циклом вывода, и на этом закончить любые пляски с бубном, не к чему тут такой код городить


-----
if(time()>1356048000) die();
 
 Top
foozzi
Отправлено: 09 Августа, 2011 - 11:04:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 283
Дата рег-ции: Май 2011  
Откуда: rm -rf /


Помог: 0 раз(а)




все дело в том что я не мастер в php и часто путаюсь, вот и помощи прошу


-----
90% ошибок находятся в полуметре от монитора...
 
 Top
White
Отправлено: 09 Августа, 2011 - 13:01:47
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




еще раз:
создаете таблицу: height, width, diameter, production, season, car_model, id, name
делаете страницу с одноименными(без id и name) селектами, и кнопкой сабмит на скрипт (в данном примере через POST).
делаете сам скрипт:
PHP:
скопировать код в буфер обмена
  1. $start_script=false;
  2. $sql = 'SELECT `id`,`name` FROM `some_table` WHERE';
  3. foreach($_POST as $index=>$var) {
  4.   if($var) {
  5.     if($start_script) $sql.=' AND';
  6.     $sql.=' `'.$index.'`="'.$var.'"';
  7.     $start_script=true;
  8.   }
  9. }
  10. if($start_script) {
  11.   $res=mysql_query($sql);
  12.   if($res) {
  13.     while($result=mysql_fetch_array($res, MYSQL_ASSOC) {
  14.       echo '<a href="some.php?id='.$result['id'].'">'.$result['name'].'</a>';
  15.     }
  16.   } else echo 'Соответствий не найдено';
  17. } else echo 'Ничего не выбрано';


как то так. для примера я думаю сойдет


-----
if(time()>1356048000) die();
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB