SQL код в html - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

  • 2 Страниц +
  • 1
  • 2

SQL код в html Преобразование

#1 Пользователь не на сайте   Cheshir ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 217
  • Регистрация: 02-Февраль 12
  • Репутация: 21
  • IPB version:3.2.x
 

Отправлено 17 Январь 2013 - 23:02

Вопрос к программистам sql

каким образом преобразовать sql запрос к БД:

Spoiler


(благодарность за код siv1987)

в вариант для вставки в html (шаблон страницы IP.Content) По примеру кода-запроса к БД

Spoiler

0

#2 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 762
  • Регистрация: 20-Март 09
  • Репутация: 2 286
  • IPB version:3.1.x
 

Отправлено 17 Январь 2013 - 23:31

<php>
$forum = $this->DB->buildAndFetch( array('select' => 'f.id, f.name, f.name_seo', 'from' => array('forums' => 'f'), 'where' => 'f.id=t.forum_id', 'add_join' => array( array('from' => array('topics' => 't'), 'where' => 't.tid='.$record['record_topicid']))));
</php>
....
<if test="$forum['id']">
   {$forum['name']}
</if>

0

#3 Пользователь не на сайте   Cheshir ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 217
  • Регистрация: 02-Февраль 12
  • Репутация: 21
  • IPB version:3.2.x
 

Отправлено 17 Январь 2013 - 23:37

Просмотреть сообщениеsiv1987 17 Январь 2013 - 23:31 сказал(а):

<if test="$forum['id']">
   {$forum['name']}
</if>



Видимо неправильно поняли, или я так объяснил. Вы написали запрос на вывод названия форума. А мне нужен вариант по первому коду (под первым спойлером). Под вторым спойлером пример...
0

#4 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 762
  • Регистрация: 20-Март 09
  • Репутация: 2 286
  • IPB version:3.1.x
 

Отправлено 17 Январь 2013 - 23:56

Чем первый вариант не устраивает?
0

#5 Пользователь не на сайте   Cheshir ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 217
  • Регистрация: 02-Февраль 12
  • Репутация: 21
  • IPB version:3.2.x
 

Отправлено 18 Январь 2013 - 00:06

Просмотреть сообщениеsiv1987 сказал(а):

Чем первый вариант не устраивает?



Первый выриант для форума, а мне нужно вывести на главную ИП.Контента. sql запросы понимаю, а в общую картину сложить не могу...
обратный порядок должен быть... сравнение с
't.tid='.$record['record_topicid'
и вывод из reputation_cache rep_points согласно...все запутался... в общем вывод репутации первого сообщения, насколько понимаю в ИП.Контенте можно сравнивать только по $record['record_topicid', больше пока не нашел
0

#6 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 762
  • Регистрация: 20-Март 09
  • Репутация: 2 286
  • IPB version:3.1.x
 

Отправлено 18 Январь 2013 - 00:11

Если речь о IP.Content тогда хз...
0

#7 Пользователь не на сайте   Cheshir ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 217
  • Регистрация: 02-Февраль 12
  • Репутация: 21
  • IPB version:3.2.x
 

Отправлено 18 Январь 2013 - 00:21

Но запрос то остается запросом... единственный важный момент из IP.Content - с чем сравнивать запрос. Как должен выглядеть запрос в таком случае, если сначала сравнивается ID топика с .$record['record_topicid']? - .$record['record_topicid'] из IP.Content - это и есть id топика в ip.board

если словами, то по типу:
если
't.tid='.$record['record_topicid']

то t.tid сравниваем с чем то (еще не понял как вы вытягиваете id первого сообщения, наверно функцией foreach)
получаем репутацию этого t.tid и выводим результат...

ужасно звучит... понимаю
0

#8 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 762
  • Регистрация: 20-Март 09
  • Репутация: 2 286
  • IPB version:3.1.x
 

Отправлено 18 Январь 2013 - 00:30

Просмотреть сообщениеCheshir сказал(а):

еще не понял как вы вытягиваете id первого сообщения, наверно функцией foreach

При помощью GROUP BY topic_id ORDER BY pid ASC
foreach служит там совсем для другого, он добавляет в массив topic_data полученные данные.
0

#9 Пользователь не на сайте   Cheshir ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 217
  • Регистрация: 02-Февраль 12
  • Репутация: 21
  • IPB version:3.2.x
 

Отправлено 18 Январь 2013 - 00:47

да...догадался...

но по логике должна работать такая комбинация

Spoiler

где
$reps[ $row['topic_id'] ] = $record['record_topicid'];

сравнение

и в шаблон

{$data['rep_firstpost']}

только нефига не работает...
0

#10 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 762
  • Регистрация: 20-Март 09
  • Репутация: 2 286
  • IPB version:3.1.x
 

Отправлено 18 Январь 2013 - 00:54

Просмотреть сообщениеCheshir сказал(а):

но по логике должна работать такая комбинация

Ну эта комбинация была написана для конкретного файла, я не уверен что в таком виде она будет работать в другом месте.

Просмотреть сообщениеCheshir сказал(а):

где
$reps[ $row['topic_id'] ] = $record['record_topicid'];
сравнение

Это совсем не сравнение, а присвоение. Сравнение так может быть только в sql запросе, а здесь уже php.

Напишите какие данные в этом шаблоне есть (имена переменных)
и какие данные нужно вытащить (имена таблиц и полей)
0

#11 Пользователь не на сайте   Cheshir ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 217
  • Регистрация: 02-Февраль 12
  • Репутация: 21
  • IPB version:3.2.x
 

Отправлено 18 Январь 2013 - 01:00

Запросом print_r( $variable ); в шаблоне сделать?
0

#12 Пользователь не на сайте   Cheshir ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 217
  • Регистрация: 02-Февраль 12
  • Репутация: 21
  • IPB version:3.2.x
 

Отправлено 22 Январь 2013 - 01:54

Ничего не выходит...

<if test="intval($record['record_topicid'])">
<if test="(
$record['record_topicid'] = $this->DB->buildAndFetch( 
array(
'select' => 'p.topic_id', 
'from' => array('posts' => 'p'), 
'where' => 			{
				$row['topic_id'] = $row['pid'];
			}
'add_join' => array( 
array(
'select' => 'rep_points',
'from' => array('reputation_cache' => 'rc'), 
'where' => {
				$row['type_id'] = $row['rep_points'];
			}
            
))))!==FALSE">
</if>
</if>


Совсем не в ту степь?
0

#13 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 762
  • Регистрация: 20-Март 09
  • Репутация: 2 286
  • IPB version:3.1.x
 

Отправлено 22 Январь 2013 - 02:12

Цитата

<if test="intval($record['record_topicid'])">

Жесть. Как вы думаете что вернет if( intval( '1" SQL' ) ) - true или false?

Я уже десять раз писал, не используйте запросы к бд в if test="". Для этого есть спец теги <php></php>.
Запрос составлен неверно. Правильно он будет примерно таким

<php>
$_data = $this->DB->buildAndFetch( array(
	'select' => 'p.topic_id',
	'from'   => array('posts' => 'p'), 
	'where'  => 'p.topic_id='.$record['record_topicid'].' AND rc.type="pid"',
	'add_join' => array( 
		array(
			'select' => 'rc.rep_points',
			'from'   => array('reputation_cache' => 'rc'), 
			'where'  => 'rc.type_id=p.pid',
		)
	)
) );
</php>


а ниже в шаблоне

<if test="$_data['topic_id']">
    Мега репа: {$_data['rep_points']}
</if>

0

#14 Пользователь не на сайте   Cheshir ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Specialist
  • Сообщений: 217
  • Регистрация: 02-Февраль 12
  • Репутация: 21
  • IPB version:3.2.x
 

Отправлено 22 Январь 2013 - 09:10

Почему в if нельзя использовать запросы к бд?! оО с выводом названия форума работает же =)
0

#15 Пользователь не на сайте   Ritsuka ответил: »

 
 
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 908
  • Регистрация: 08-Июнь 09
  • Репутация: 531
  • IPB version:3.4.x
 

Отправлено 22 Январь 2013 - 11:33

Цитата

Почему в if нельзя использовать запросы к бд?!

Программирование для битардов.

<php>$a = func($c)</php> ===> <?php $a = func($c); ?>

<if test="$a = func($c)"></if> ===> <php if($a = func($c)) { ?><?php } ?>


Если вам нужно выполнить "$a = func($c);", зачем вам лишняя операция if и пара десятков лишних конструкций в итоговом коде шаблона? Ресурсов сервера больно до*уя?
0

Сообщить об этой теме:


  • 2 Страниц +
  • 1
  • 2


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна