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 » » Объектно-ориентированное программирование » Передача переменных в текстовой строке в обьект класса.

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

1. RamzesII - 28 Октября, 2011 - 21:24:56 - перейти к сообщению
Ой в названии темы запарился не в обьект класса а в метод!
Есть класс content который должен полученный результат с базы преобразовать таблицу.
вызывать класс хочется так
CODE (htmlphp):
скопировать код в буфер обмена
  1. $content->table($result, "<tr><td>$row[id]</td><td>$row[note]</td><td>$row[price]</td></tr>", "<th></th><th></th><th></th>");
  2.  

Как заставить функцию table, понять переменные которые я передаю в тексте ($row[id], $row[note] и тд.)
Класс content.
PHP:
скопировать код в буфер обмена
  1.  
  2. class content
  3. {
  4.     function table($result, $trtd, $th)
  5.     {
  6.         echo"<table>".$th;
  7.         foreach ($result as $key=>$row)
  8.                 {
  9.                  //eval ($trtd);
  10.                  //echo vardump($trtd);
  11.                  //как тут сделать чтоб он извлекал переменную $row[id] внутри этой функции
  12.  
  13.                  }
  14.         echo"</table>";
  15.     }
  16. }
2. DlTA - 28 Октября, 2011 - 22:10:29 - перейти к сообщению
это попытка распарсить HTML или обработать исходные данные другим методом?
если второе, то то что было написано удаление гланд через задний проход
если первое, то регуляркой
(Добавление)
или это шаблонизатор?
3. RamzesII - 28 Октября, 2011 - 22:32:49 - перейти к сообщению
Именно это >
DlTA пишет:
обработать исходные данные другим методом
4. DlTA - 28 Октября, 2011 - 22:35:07 - перейти к сообщению
передавайте вротым параметров в функцию не текст а массив $row
а уже в нутри метода вставляйте в нужное место
$row['id'], ... и т.д.
5. RamzesII - 28 Октября, 2011 - 22:37:27 - перейти к сообщению
DlTA пишет:
передавайте вротым параметров в функцию не текст а массив $row
а уже в нутри метода вставляйте в нужное место
$row['id'], ... и т.д.

Я думал об этом но это если совсем вариантов не будет, может есть ещё какие нибудь способы о которых я не догадываюсь...
6. RamzesII - 29 Октября, 2011 - 01:45:07 - перейти к сообщению
Если в массиве передавать, то так, но не совсем удобно, иногда в одну ячейку таблици нужно 2 записи вставить в этом варианте уже так не выйдет...

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. class content
  3. {
  4.     function table($quer, $th, $arc)
  5.     {
  6.         echo"<table>".$th;
  7.         foreach ($quer as $key=>$row)
  8.                 {
  9.                  if($i==NULL){$i=0; echo"<tr>";}
  10.                  echo"<td>".$row[$arc[$i]]."</td>";
  11.                  $i++;
  12.                  if($i==count($arc)){$i=0; echo "</tr>";}
  13.                  }
  14.         echo"</table>";
  15.     }
  16. }
  17.  


CODE (htmlphp):
скопировать код в буфер обмена
  1. $content->table($res, "<th></th><th></th><th></th>", array(id, note, price));

 

Powered by ExBB FM 1.0 RC1