[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Здравствуйте!!!
Страницы: 1, 2
Antoha510
Здравствуйте, господа форумчане!!! Наверно такая тема уже есть, но я её тут не нашёл.
Проблема у меня такая. создал динамическую страницу состоящую из 4-х блоков, нужно что бы при нажатии ссылки в левом блоке, менялся только центральный блок. неохота нагружать сайт большим количеством страниц :-) я начинающий программист по php, так что не обессудте. Заранее, благодарю!!!
vagrand
Смотрите в сторону AJAX

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Antoha510
Нет, спасибо. я в 2005 году делал через php. очень понравилось. диплом сдавал, но на этом моя практика и закончилась. решил восстановить воспоминания. вот только не помню уже ни чего. столько времени прошло.
Игорь_Vasinsky
Antoha510
щас, через 5-10 мин выложу.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Antoha510
ОК, спасибо user posted image
Игорь_Vasinsky
index.php

<?php
header("Content-Type: text/html;charset=utf-8");
?>
<html>
<
head>
<
script type="text/javascript">
function ajaxcl (route) {
var xmlhttp;
if ( window.XMLHttpRequest ) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject ( "Microsoft.XMLHTTP" );
}
xmlhttp.onreadystatechange = function () {
if ( xmlhttp.readyState == 4 ) {
document.getElementById("content").innerHTML=xmlhttp.responseText;

}
}

xmlhttp.open ( "GET", "ajx.php?route="+route+"&rand="+Math.random(), true );
xmlhttp.send ();
return false;
}
</script>
<
style type="text/css">
div{
border: 1px solid black;
}
#right{
width: 23%;
display: inline-block;
float: right;
}
#left{
width: 23%;
display: inline-block;
float: left;
}
#content{
width: 50%;
display: inline-block;
padding: 20px;
margin: 7px;
}
</style>
</
head>
<
body onload="ajaxcl('index')">
<
div id="left">
left block<br />
<
a onclick="ajaxcl('index')" href="#">Главная</a><br />
<
a onclick="ajaxcl('about')" href="#">О Нас</a><br />
<
a onclick="ajaxcl('contacts')" href="#">Контакты</a><br />
</
div>
<
div id="content"></div>
<
div id="right">right block</div>
</
body>
</
html>


ajx.php

<?php
header("Content-Type: text/html;charset=utf-8");

$route = isset($_GET['route']) ? $_GET['route'] : 'index';

$indexContent = 'Текст страницы INDEX';
$aboutContent = 'Текст страницы ABOUT';
$contactsContent = 'Текст страницы CONTACTS';

switch($route){
case 'index' :
$content = $indexContent;
break;
case 'about' :
$content = $aboutContent;
break;
case 'contacts' :
$content = $contactsContent;
break;
default :
$content = $indexContent;
break;
}

echo $content;
?>


ну в идеале данные контента страниц подтягиваются из БД - я тебе простейший пример показал.

SEO не дружелюбный вариант, хотя можно и параллельно из метатегами и титлом страницы управлять.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.