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
Форумы портала PHP.SU :: Версия для печати :: Вызов функции
Форумы портала PHP.SU » PHP » Программирование на PHP » Вызов функции

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

1. E-Pro - 30 Января, 2010 - 19:38:26 - перейти к сообщению
В теории понимаю как сделать, что-то в практике не идет...
Есть функция к примеру <N> она может вызваться на странице раз пять, в ней передаются параметры id, их нужно собрать в массив и послать один запрос в базу, на выборку, чтобы каждый раз при вызофе функции по запросу не шло.
2. biperch - 30 Января, 2010 - 22:26:29 - перейти к сообщению
Решил блеснуть
PHP:
скопировать код в буфер обмена
  1. class m {
  2.  
  3. var $id= array();
  4.  
  5. function n($k){
  6.  
  7. $this->id[]=$k;
  8. }
  9.  
  10. function go_to_db(){
  11.  
  12. $q="inset into table values(".$this->id[0].")";
  13. }
  14. }
3. Мелкий - 30 Января, 2010 - 23:46:35 - перейти к сообщению
biperch, т.е. вы предлагаете все данные, кроме введённых первым - игнорировать? Улыбка

E-Pro, т.е. нужно организовать так, чтобы функция запросила данные, и потом обращалась к своему своеобразному кэшу? Ну тогда, например, так:
PHP:
скопировать код в буфер обмена
  1. class n {
  2. private $a = array();
  3. public function __construct($ids) {
  4. if (!empty($ids)) {
  5. $q = mysql_query("select id,...."); //тут уж сами определяйтесь, что передавать и как разбирать
  6. while ($r = mysql_fetch_assoc($q)) $this->a[ $r['id'] ] = $r;
  7. }
  8. }
  9. public function getarr($id) {
  10. return isset($this->a[$id]) ? $this->a[$id] : false;
  11. }
  12. }

 

Powered by ExBB FM 1.0 RC1