Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Меню И подгрузка контента из mysql (https://javascript.ru/forum/dom-window/48666-menyu-i-podgruzka-kontenta-iz-mysql.html)

Rorbi 11.07.2014 18:05

Меню И подгрузка контента из mysql
 
Здравствуйте. Подскажите пожалуйста.
Есть автоматически генерируемое меню из бд (то есть на сайте форма добавления пункта меню, и сразу вывод его в блок меню):
<?
if (isset($_POST["name"])) {
    $sql = $mysqli->query("INSERT INTO `servise` (`name`, `description`,`link`) 
                        VALUES ('".$_POST['name']."','".$_POST['description']."','".$_POST['link']."')");
   if ($sql) {
       echo "<p>Сервис добавлен</p>";
    } else {
        echo "<p>Произошла ошибка</p>";
    }
}

?>
Это форма добавления его в базу:

<?
$sql = $mysqli->query('SELECT `id` , `name` FROM `servise`');
while ($name = $id = $sql->fetch_assoc()) {
	(isset($_GET['name, id']) && $_GET['name'] == $name['name'] && $_GET['id'] == $id['id']);
	print '<a class="left_a" href="/info/?id='.$id['id'].'">'.$name['name'].'</a>';
};
?>


И вывод добавленных пунктов в виде ссылок, где "name" задает имя ссылки, и id которое задает href ссылки. То есть на выходе получаем:

<a class="left_a" href="/info/?id=7">Сервис 2</a>
<a class="left_a" href="/info/?id=8">Сервис 3</a>
<a class="left_a" href="/info/?id=9">Сервис 4</a>
<a class="left_a" href="/info/?id=10">Сервис 5</a>


И вот сам вопрос: При клике на ссылку у меня в адресной строке пишется http://www.site.ru/info/?id=7
Как надо в общем, но как мне сделать что бы при клике на эту ссылку у меня подгружался контент с БД, то есть по значению id в адресной строке он показывал мне нужный контент из БД, соответствующий id из таблицы "servise"?

skrudjmakdak 13.07.2014 21:12

про аякс технологии известно вам?

Rorbi 14.07.2014 08:47

Цитата:

Сообщение от skrudjmakdak (Сообщение 320948)
про аякс технологии известно вам?

Да в общих чертах, я не могу понять как повесить именно событие подгрузи определенного контенте из БД при клике на ссылку, проще говоря как проверить url и по id в нем вывести соответствующий контент из таблицы

skrudjmakdak 14.07.2014 09:18

а про библиотеку jquery вы слышали, просто с ней будет вам удобней писать. я вам накидаю небольшой алгоритм, а там разбирайтесь, что не понятно спрашивайте, хотя в интернете много подобной информации есть, т.к. это основы основ веба. описание будет в коде:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<title>example</title>
		<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
	</head>
	<body>
		<a href="/info/?id=1">Ссылка 1</a><br>
		<a href="/info/?id=2">Ссылка 2</a><br>
		<a href="/info/?id=3">Ссылка 3</a><br>
		<a href="/info/?id=4">Ссылка 4</a><br>
		
	<script type="text/javascript">
		//для начала нам надо найти все тэги a, и навешиваем событие при клике по данному тэгу
		$('a').click(function ()
			{
			//выведим в консоль "меня кликнули", для того чтобы проверить, что клик отрабатывает
			console.log('меня кликнули');
			
			//найдем значение ссылки и тут же найдем id 
			var href = $(this).attr('href'),
				id = href.split('=')[1];
			
			//делаем ajax запрос
			$.ajax(
				{
				type: "get",//метод get
				url: "send.php", //url по которой делаем запрос
				data://список параметров. у меня только id
					{
					id: id
					}
				}).done(function (msg)
				{
				//при успехе выведем то, что прислал сервер
				console.log(msg);
				}).fail(function ()
				{
				//при ошибке, выведем в консоль ошибку
				console.log("ошибка");
				});
			
			//возвращаем false - для того, чтобы по клику мы не перешли по ссылке
			return false;
			});
	</script>
	</body>
</html>


а это сам php куда идет запрос:
<?php
echo "сервер получил id = " . $_GET['id'];

Rorbi 14.07.2014 10:47

Цитата:

Сообщение от skrudjmakdak (Сообщение 320984)
а про библиотеку jquery вы слышали, просто с ней будет вам удобней писать. я вам накидаю небольшой алгоритм, а там разбирайтесь, что не понятно спрашивайте, хотя в интернете много подобной информации есть, т.к. это основы основ веба. описание будет в коде:

Спасибо буду пробовать

bes 14.07.2014 23:15

Цитата:

Сообщение от skrudjmakdak
//url по которой делаем запрос

как ты его :D
напросился запрос



skrudjmakdak 15.07.2014 10:45

что то я не понял к чему все это. если вы про окончание слова: "которой", то возможно была одна мысль, и пришла другая, а окончание забыл поменять. я уверен, если порыться то можно найти и у вас ошибки ;)

bes 15.07.2014 12:38

Цитата:

Сообщение от skrudjmakdak
что то я не понял к чему все это. если вы про окончание слова: "которой", то возможно была одна мысль, и пришла другая, а окончание забыл поменять. я уверен, если порыться то можно найти и у вас ошибки

ни к чему особенному, просто заставило задуматься на основе чего url может быть в женском роде
если только data - ˈdeɪtə - она моя :D


Часовой пояс GMT +3, время: 10:18.