2 въпроса за AJAX

nogravity

Registered
Здравейте туристи,

Искам да попитам за 2 въпроса, които мисля, че са свързани с AJAX (може и да е Javascript само - не съм много запознат).

Та първия ми въпрос е примерно имам дадена textarea или input и имам bbcode към тях. Как мога да направя така че когато селектирам даден текст и натисна на някой от bbcode-вете, текста (който е селектиран) да се огражда със съответния bbcode?

И втория ми въпрос е (това вече съм сигурен че ще трябва AJAX) имам таблица, от която извличам последно име на даден потребител. И въпроса ми е как да изкарам това име без да се рефрешва страницата?

Нарочно пукам темата в този раздел защото мисля че и двете неща са само javascript/ajax код :)
 
nogravity каза:
Никой ли няма идея как ще стане поне едното от двете? :?

Не е лесно за обяснение много, а готов код нямам под ръка.
Подсети ме довечера ако никой ен ти помогне ще ти напиша и обясня.
Моля те виж за второто да дадеш повече информация както точно искаш.
 
admin каза:
nogravity каза:
Никой ли няма идея как ще стане поне едното от двете? :?

Не е лесно за обяснение много, а готов код нямам под ръка.
Подсети ме довечера ако никой ен ти помогне ще ти напиша и обясня.
Моля те виж за второто да дадеш повече информация както точно искаш.

Добре ще те подсетя.

А иначе за втория въпрос взимам от дадена таблица последен потребител постнал някакъв коментар и го изкарвам с променлива в php. И искам когато се промени тази променлива за отделната новина, без рефреш да се смени и името на новия постнал. Гледах доста уроци, мъчих се да го направя сам, но нещо не се получава...
 
Е.
И за жалост пак не разбрах нищо.
Искаш да кажеш, че ако някой постне нова новина да излиза без рефреш.
Имай предвид, че тези номера за "без рефреш" много товарят сървъра.
Постоянно се пускат едни заявки към базата данни за да провери дали има новина или не.
ajax чатовете ползват такива скриптове и чата изглежда все едно не е web
обаче това не може да се подържа за голям брой потребители.

Един наскоро го изгониха от споделения хостинг, защиото си беше сложил такъв чат във форума (май така беше).

Та въпроса ми е пак да се опиташ да ми обясниш.
Имаш в страницата потребител и новина. Тазис траница каква е ? Начална?
И там илизат последните новини? И ти искаш като някой напише нова и тя да се появи пред останалите (без рефреш).

Ако съм разбрал правилно де.
 
admin каза:
Е.
И за жалост пак не разбрах нищо.
Искаш да кажеш, че ако някой постне нова новина да излиза без рефреш.
Имай предвид, че тези номера за "без рефреш" много товарят сървъра.
Постоянно се пускат едни заявки към базата данни за да провери дали има новина или не.
ajax чатовете ползват такива скриптове и чата изглежда все едно не е web
обаче това не може да се подържа за голям брой потребители.

Един наскоро го изгониха от споделения хостинг, защиото си беше сложил такъв чат във форума (май така беше).

Та въпроса ми е пак да се опиташ да ми обясниш.
Имаш в страницата потребител и новина. Тазис траница каква е ? Начална?
И там илизат последните новини? И ти искаш като някой напише нова и тя да се появи пред останалите (без рефреш).

Ако съм разбрал правилно де.

Ами да имам 2 потребителя примерно proba и nogravity. Имам таблица с новини и коментари към тях. И примерно, в 1 новина proba пише коментар и в началната страница излиза срещу новината, че има 1 коментар и последния, който е написал коментара е proba. После nogravity пише коментар и срещу новината изписва 2 коментара и nogravity е последния писал. И искам тези имена при нов коментар да се сменят, без рефреш на страницата (с AJAX).

Знам че се пращат доста заявки и ще товари сървъра, но мисля че може да се ограничи борят им :)
 
admin каза:
Виж засега това:

http://web-tourist.net/forum/viewtopic.php?t=78933

Ок админе, разбрах как става ajax кода, но на мен нещо не ми изкарва последния потребител. Стои си едно и също, а всъщност праща заявки...
 
devent каза:
Прихващаш отговора, който ти дава скрипта и го вкарваш в div :)

Да това го оправих с изкарването сега проблема е че изкарва само на 1 така а на мен ми трябва на няколко, защото сега на всички новини изкарва последния писал в някоя от новините... Как ще стане?
 
devent каза:
Аз лично не те разбрах :)

Ами имам 5 новини с id-та от 1 до 5 и примерно имам двама потребителя - nogravity и proba. Потребителя nogravity пише коментар в новина с id 3, да кажем, и на всичките 5 новини излиза, че последният коментар е негов, а трябва да излезе само на тази новина (id=3). И така да е и с останалите. Това е
 
Ми слагаш в заявката WHERE username = '$session->username' или там както ти е. Това вече е в php кода. Ако не можеш да се оправиш го дай тук, както и сесиините ти променливи.
 
Ето кода с който изкарвам последен потребител:

Код:
$query = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 1") or die(mysql_error());
while ($sql = mysql_fetch_object($query)) {
        $username = $sql -> username;
        $id = $sql -> id;
        $our = mysql_query("SELECT count(id) as comments_total FROM comments WHERE article = '$id'") or die(mysql_error());
	while ($row = mysql_fetch_array($our)){
		if ($row['comments_total'] == 0) {
			$lastuser = $username;
		}
		else {
			$db = mysql_query("SELECT * FROM comments WHERE article = '$id' ORDER BY id DESC LIMIT 1");
			while ($r = mysql_fetch_array($db)){
				$lastuser = $r['username'];
			}
		}
		echo '<a href="../profile?user='.$lastuser.'">'.$lastuser.'</a>';
        }
}

Като на index.php го изкарвам така с AJAX:

Код:
echo '<span id="lastuser">';
include "lastuser.php";
echo '</span>';
 
Код:
include "conf.php";
$query = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 1") or die(mysql_error());
while ($sql = mysql_fetch_object($query)) {
$username = $sql -> username;
$id = $sql -> id;
$our = mysql_query("SELECT count(id) as comments_total FROM comments WHERE article = '$id' AND username='$username'") or die(mysql_error());
         while ($row = mysql_fetch_array($our)){
               if ($row['comments_total'] == 0) {
                  $lastuser = $username;
               }
               else {
                  $db = mysql_query("SELECT * FROM comments WHERE article = '$id' AND username='$username' ORDER BY id DESC LIMIT 1");
                  while ($r = mysql_fetch_array($db)){
                     $lastuser = $r['username'];
                  }
               }
               echo '<a href="../profile?user='.$lastuser.'">'.$lastuser.'</a>';
}
}
 
Ммм сега просто ми смени потребителя с другия. Както казах горе имам потребители proba и nogravity и до сега на всички излизаше proba, сега на всички излиза nogravity
 

Back
Горе