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

Форум PHP

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

 

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

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

тема: Xtemplars, шаблоизатор и вывод не одну запись, а все подрят
 
 автор: Panker   (25.09.2006 в 17:24)   письмо автору
 
 

Вот решил 1 проблему с шаблонизатором, ушло на это 10-15 постов, прошлая тема длинная и новечкам в теме не понятная, так что тут конкретно скажу!

Нужно с помощью такой структуры вывести ВСЕ ЗАПИСИ ЧТО ЕСТЬ В БАЗЕ!


<?php
 $nid
=$_GET["nid"];
 
$query "SELECT * FROM news WHERE nid='".$_GET["nid"]."';";
 
$result mysql_query($query);
 while(
$r=mysql_fetch_array($result))
 {
  
$id=$r["id"];
  
$nid=$r["nid"];
  
$name=$r["name"];
  
$title=$r["title"];
  
$des=$r["des"];
  
$key=$r["key"];
  
$mini_news=$r["mini_news"];
  
$max_news=$r["max_news"];
  
$data=$r["data"];
 };
?>


потом переменные в в файле уже загоняю куда надо. а именно в массив )
Там уже вывожу короче так.


    $xtpl->assign('TITLE', $title);
    $xtpl->assign('KEYWORDS', $keywords);
    $xtpl->assign('DESCRIPTION', $description);
    
    $xtpl->assign('TEXT', $text);
    $xtpl->assign('DATE', $date);


Тут я всё оброзно предстовляю, но верно!!!

Мне нужно вывести линки на страницу, тоисть не 1 запись на одну страницу а 10-100-200 записей на одну страницу тоисть все что будут, хоть милльён :)

В модуле у меня так


<?php  
 
include "config.php";
 
$query "SELECT * FROM link";  
 
$result mysql_query($query);  
 while(
$r=mysql_fetch_array($result))  
 {  
  
'LINK_NAME'=> $r["name"];  
  
'LINK_ADRES'=> = $r["adres"];  
 }
?>


Вывожу так как и на верху, то есть


    $xtpl->assign('LINK_NAME', $link_name);
    $xtpl->assign('LINK_ADRES', $link_adres);



Проблема в том что выводится последняя запись, мне нужно сделать всех записей но разбить таблицу названий ссылко и таблицу адресов для ссылок что бы в шаблоне выводить так же переменными, точней в шаблоне выводится так - {TITLE} ну и так далее

В аттаче шаблонизатор с моими файлами, малоли кому интиресно будет или кто то захочет просто посмотреть и так далее.

   
 
 автор: Panker   (26.09.2006 в 07:20)   письмо автору
 
   для: Panker   (25.09.2006 в 17:24)
 

жду своего спасителя :)
кстати :) с RSS помогли ) теперь всё работает как часы :)

   
 
 автор: Panker   (26.09.2006 в 16:29)   письмо автору
 
   для: Panker   (26.09.2006 в 07:20)
 

думаю это же не только в этом шаблонизаторе такая штука? помогите пожалуйсто хотя бы догадками :( ведь уверен что не только в икс темпларе такое :(

   
 
 автор: Panker   (27.09.2006 в 13:10)   письмо автору
 
   для: Panker   (26.09.2006 в 16:29)
 

вот так вот бывает, вопрос простой но не помогают, не потому что лень а потому что наверное действительно шаблон такой, ну чтож, буду ждать того кто с ним работал :)

   
 
 автор: Panker   (28.09.2006 в 14:57)   письмо автору
 
   для: Panker   (27.09.2006 в 13:10)
 

опять в надежде на помощь поднял тему)

   
 
 автор: Panker   (29.09.2006 в 21:11)   письмо автору
 
   для: Panker   (28.09.2006 в 14:57)
 

ребята ну это смех уже третий месяц наверное ))

   
 
 автор: Panker   (30.09.2006 в 11:40)   письмо автору
 
   для: Panker   (29.09.2006 в 21:11)
 

ну хотя бы обьясните в чём тут ошибка :((((((((((


$ath = mysql_query("select * from link;");
if($ath)
{
  // Так как запрос возвращает несколько строк, применяем цикл
  while($author = mysql_fetch_array($ath))
  {
    $row = array('LINK_NAME'=> $author['l_name'],  //Загаловок Страницы 
                 'LINK_ADRES'=> $author['l_adres']    //Мета страницы, описание 
                 
    $xtpl -> parse('MAIN.AUTHOR_LIST');
    $xtpl -> assign('AUTHOR', $row); 
  }
}
else
{
  echo "<p><b>Error: ".mysql_error()."</b><p>";
  exit();
}


на эти строки выдаётся походу

{
$row = array('LINK_NAME'=> $author['l_name'], //Загаловок Страницы
'LINK_ADRES'=> $author['l_adres'] //Мета страницы, описание

$xtpl -> parse('MAIN.AUTHOR_LIST');
$xtpl -> assign('AUTHOR', $row);
}
}

там что не удали ошибка выдаётся


Parse error: parse error, unexpected '}', expecting ')' in y:\home\kmk\www\1\ex1.php on line 34

   
 
 автор: Panker   (30.09.2006 в 18:07)   письмо автору
 
   для: Panker   (30.09.2006 в 11:40)
 

пробудите в себ состродание я второй третий месяц мучаюсь и стою на месте :(((((((((((!!!!!!!!!!!!!!!!!!!!!!!!

   
 
 автор: Ziq   (01.10.2006 в 13:01)   письмо автору
 
   для: Panker   (30.09.2006 в 18:07)
 

Сам с XTemplates не работал, но попытаюсь помочь, раз уж так все печально.

Если по-английски читаешь, то тебе сюда http://www.phpxtemplate.org/DocumentationBasics. Лично я понимаю через слово и поэтому сразу смотрю примеры.

Вот что вышло после 10 мин обучения

<?
    
include_once('xtpl/xtemplate.class.php');
    include 
"ini.php";

    
$xtpl = new XTemplate('1.txt');

    
$myq mysql_query("SELECT * FROM an_anek LIMIT 10");
    while(
$fet mysql_fetch_assoc($myq))
    {
        
$xtpl->assign('DATA',$fet);
        
$xtpl->parse('main.block3');
    }

    
$xtpl->parse('main');
    
$xtpl->out('main');
?>

Первое что бросается в глаза, так это то что перепутаны assign и parse местами, в остальном разберешься сам думаю. Если что спрашивай.

   
 
 автор: Ziq   (01.10.2006 в 13:13)   письмо автору
 
   для: Panker   (30.09.2006 в 18:07)
 

Шаблон, который использовал я.

Ты в шаблоне намудрил. Сравни.

   
 
 автор: Panker   (01.10.2006 в 16:50)   письмо автору
 
   для: Ziq   (01.10.2006 в 13:13)
 

где именно я намудрил?
я в аттач положил сам класс шаблона

а в самом шаблоне у меня вс красиво вроде бы! :)

ты с Xtemplars работал? вроде бы похож, если да то как мне так сделать? может поможеш )

дополненно через 5 минут

Нет умоляю помочь ) уже какой месяц ееее******сь ((((((((

   
 
 автор: Ziq   (01.10.2006 в 19:09)   письмо автору
 
   для: Panker   (01.10.2006 в 16:50)
 

Короче все будет примерно так. У меня с моей базой работал. Там я поставил твои имена таблиц/полей, короче, разберешься...

P.S. Там я все в один файл засунул...

   
 
 автор: Panker   (01.10.2006 в 20:57)   письмо автору
 
   для: Ziq   (01.10.2006 в 19:09)
 

я мля молится тепреь ан тебябуду :)))))))
большео спасибо )
вот только теперь остался ещё вопросик умоляю н бросай помоги :)

как на счёт постраничной навигации и шаблона?

как постраничку всунуть каректно в шаблон?
у тебя была постраничка в шаблонне данном? если да то как всовывал :)

Зарание спасибо )

   
 
 автор: Ziq   (01.10.2006 в 21:28)   письмо автору
 
   для: Panker   (01.10.2006 в 20:57)
 

Я вообще с этим шаблоном ни разу не работал, но думаю что-то вроде этого.

сам шаблон

<!-- BEGIN: punkt -->
<a href="">{PUNKT}</a>
<!-- END: punkt -->

<!-- BEGIN: tekpunkt -->
{PUNKT}
<!-- END: tekpunkt -->

потом в коде

<?
....
$punkts = array(12345); //  все страницы навигации в массиве, можно сделать многомерный массив
$tek 2;  //  текущий элемент
foreach($punkts as $val)
{
  if(
$val == $tek//  если эта та страница, на которой пользователь
  

      
$xtpl->assign('PUNKT'$val);
      
$xtpl->parse("main.tekpunkt");
  }
  else
  {
     
$xtpl->assign('PUNKT'$val);
     
$xtpl->parse("main.punkt");
  }
}
....
?>

сам не тестил, но вроде что-то этого...

   
 
 автор: Panker   (02.10.2006 в 20:56)   письмо автору
 
   для: Ziq   (01.10.2006 в 21:28)
 


ПЛИЗ СРОЧНО!!!!!!!!!!!!!


как мне в этом шаблоне выполнить пхп код прям в темпларе или где нить ещё??


switch($_SERVER['QUERY_STRING'])  
{  
      case "mod=index":  
      echo "<img src=http://in-lab.ru/images/portfol_07.jpg>";  
      break;  
        
      case "mod=index&pid=index2":  
      echo "<img src=http://in-lab.ru/images/price_08.jpg>";  
      break;  
        
      case "mod=index&pid=index3":  
      echo "<img src=http://in-lab.ru/images/zakaz_08.jpg>";  
      break;  
      
      case "mod=index&pid=index4":  
      echo "<img src=http://in-lab.ru/images/kont_08.jpg>";  
      break;  
        
     
      default: 
      echo "<img src=http://in-lab.ru/poslednee/reer.gif>"; 
      break; 



Мне нужно вот этот код что бы выполнялся, если в шаблоне между <? ?> сую то не хрена просто сам код выводится и 4 картинки! :(((((((((

а если в не шаблоне типа index файле пишу вставляется в конец :( я даже не знаю как теперь быть :((((

УМОЛЯЮ ПОМОГИТЕ!!!!!!!!!! :((((((((((((

   
 
 автор: dobryy   (02.10.2006 в 21:11)   письмо автору
 
   для: Panker   (02.10.2006 в 20:56)
 

Попробуй между {PHP}{/PHP}

   
 
 автор: Panker   (02.10.2006 в 21:16)   письмо автору
 
   для: dobryy   (02.10.2006 в 21:11)
 

пробывал :(((( не как (

   
 
 автор: Panker   (02.10.2006 в 21:16)   письмо автору
 
   для: dobryy   (02.10.2006 в 21:11)
 

пробывал :(((( не как (

   
 
 автор: cheops   (01.10.2006 в 12:49)   письмо автору
 
   для: Panker   (30.09.2006 в 11:40)
 

У вас открывается круглая скобка в конструкции array(, но не закрывается.

PS Лучше указывать, какая строка кода является 34-ой.

   
Rambler's Top100
вверх

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