Извеждане на последният отговор?

streleca_stz

Registered
Здравейте! Аз по принцип знам как да изведа последния отговор, но на мен ми трябва и общия сбор на всички отговори.. И искам да знам има ли някакъв начин хем да покажа последния отговор и да има лимит 1, хем да взема общия брой отговори? То може и с 1 заявка да го направя, но не ми се иска да взимам всички съобщения от отговорите, защото само ще товаря сървъра..

Та.. това е.. искам да знам може ли да се направи такава заявка и ако да - как? .. ако не значи ще трябва с 2.. или просто да извеждам всички отговори и да показвам само последния..
 
С mysql_num_rows си броиш отговорите.
И с друга заявка извеждаш примерно този с последно id. Това си го слагаш в WHERE клауча задаваш DESC и LIMIT 1.
Нищо сложно.
 
tedo96 каза:
С mysql_num_rows си броиш отговорите.
И с друга заявка извеждаш примерно този с последно id. Това си го слагаш в WHERE клауча задаваш DESC и LIMIT 1.
Нищо сложно.

Разбира се, това го знам.. Аз питам дали това примерно може да се направи с една заявка или трябва по начина по който знам :)
 
streleca_stz каза:
tedo96 каза:
С mysql_num_rows си броиш отговорите.
И с друга заявка извеждаш примерно този с последно id. Това си го слагаш в WHERE клауча задаваш DESC и LIMIT 1.
Нищо сложно.

Разбира се, това го знам.. Аз питам дали това примерно може да се направи с една заявка или трябва по начина по който знам :)

Ако искаш да слееш това с отговора с обща таблица на резултатите в едно ползвай SQL INNER JOIN
 
mitko456 каза:
streleca_stz каза:
tedo96 каза:
С mysql_num_rows си броиш отговорите.
И с друга заявка извеждаш примерно този с последно id. Това си го слагаш в WHERE клауча задаваш DESC и LIMIT 1.
Нищо сложно.

Разбира се, това го знам.. Аз питам дали това примерно може да се направи с една заявка или трябва по начина по който знам :)

Ако искаш да слееш това с отговора с обща таблица на резултатите в едно ползвай SQL INNER JOIN
Няма как да стане с JOIN. :)
 
Стига сте му казвали, че няма начин. Има начин, дай заявката където взимаш отговорите. Нито трябва да си "бутне" базата нито пък някой от JOIN-овете ще му трябва.
 
Ето я заявката
PHP:
$rs = mysql_query('SELECT post_id,user_id,post FROM mcf_posts WHERE topic_id = '$topic['topic_id']) or die (mysql_error());
$last_post = mysql_fetch_assoc($rs);
Заявката се намира в цикъл, за да може да взима id-то на топика..
 
PHP:
db_init();
$rs = mysql_query('SELECT views,topic_title,topic_id FROM mcf_topics WHERE cat_id='.$cat_id.' ORDER BY date_added DESC');
			if(mysql_num_rows($rs)!=0)
			{
				while($topic = mysql_fetch_assoc($rs))
				{
					$q = mysql_query('SELECT post_id,user_id,post FROM mcf_posts WHERE topic_id = '.$topic['topic_id']) or die (mysql_error());
					$last_post = mysql_fetch_assoc($q);
				echo'<div class="category_title">'.$cats['general_cat_title'].' ›› '.$cats['cat_title'].'</div>';echo "\n";
				echo'<div class="view_forum">
						<div class="left" style="border-right: 1px solid #CCC; padding: 4px;">
							<img src="i/1.png" width="40px" alt="" />
						</div>
							<div class="left" style="padding: 4px;">
								<p style="font-size: 15px; padding-top: 11px;"><a href="viewTopic.php?id='.$topic['topic_id'].'">'.$topic['topic_title'].'</a></p>
							</div>
						<div class="right" style="padding: 4px; width: 300px;">
							<p style="text-align: right;"><b>Отговори:</b> 0 | <b>Прегледана:</b> '.$topic['views'].' <sup>пъти</sup><br />
							<b>Последен Отговор:</b> streleca_stz</p>
						</div>
						<div style="clear: both;"></div>
					</div>';echo "\n\n";
				}
			}
			else
			{
				echo '<center><div class="error" style="text-align: left;">Все още няма добавени теми в този форум!</div></center>';
			}
 
$rs = mysql_query('SELECT views,topic_title,topic_id as tid, (SELECT COUNT(*) FROM mcf_posts WHERE mcf_posts.topic_id=mcf_topics.tid) as topicViews mcf_topics WHERE cat_id='.$cat_id.' ORDER BY date_added DESC');

и вече тук

while($topic = mysql_fetch_assoc($rs))

$topic["topicViews"] ще са ти броя на прегледите.
 
$rs = mysql_query('SELECT views,topic_title,topic_id as tid, (SELECT COUNT(*) FROM mcf_posts WHERE mcf_posts.topic_id=mcf_topics.tid) as topicViews mcf_topics WHERE cat_id='.$cat_id.' ORDER BY date_added DESC') or die (mysql_error());

и дай грешката я видя?
 
$rs = mysql_query('SELECT views,topic_title,topic_id as tid, (SELECT COUNT(*) FROM mcf_posts WHERE mcf_posts.topic_id=mcf_topics.tid) as topicViews FROM mcf_topics WHERE cat_id='.$cat_id.' ORDER BY date_added DESC') or die (mysql_error());
 

Back
Горе