Урок 13. Получение данных из таблицы
Прислано AMD на Сентябрь 30 2011 04:46:19


Первым делом снова создадим таблицу gmenu. Если она есть то удалите ее





CREATE TABLE IF NOT EXISTS `gmenu` (

`id` smallint(3) NOT NULL auto_increment,

`name` text NOT NULL,

`mod` varchar(20) NOT NULL default '',

`por` smallint(6) NOT NULL default '0',

`lr` varchar(1) NOT NULL default 'l',

`php` int(1) NOT NULL default '0',

PRIMARY KEY (`id`),

KEY `por` (`por`)

) ENGINE=MyISAM DEFAULT CHARSET=cp1251 ;






Структура таблицы немного поменялась.

Добавились поля:

lr - расположение блока на странице. Справа или слева.

php -указывает скриту как рассматривать текст в пункте. как текст или как код
PHP.

Остальные поля описаны в предыдущем уроке.



INSERT INTO `gmenu` (`id`, `name`, `mod`, `por`, `lr`,
`php`) VALUES

(6, 'Статистика', '', 3, 'r', 0),

(4, 'Навигация', '', 1, 'l', 0),

(7, '<!-- begin of Top100 code -->\r\n<script id="top100Counter"
type="text/javascript"
src="http://counter.rambler.ru/top100.jcn?1053016"></script><noscript><img
src="http://counter.rambler.ru/top100.cnt?1053016" alt="" width="1" height="1"
border="0"></noscript>\r\n<!-- end of Top100 code -->\r\n<!-- begin of Top100
logo -->\r\n<a href="http://top100.rambler.ru/top100/"><img
src="http://top100-images.rambler.ru/top100/banner-88x31-rambler-blue3.gif"
alt="Rambler''s Top100" width="88" height="31" border="0" /></a>\r\n<!-- end of
Top100 logo -->\r\n', '', 4, 'r', 0),

(8, '<center><embed src=blocks/clock/clock.swf width=130 height=130
type=application/x-shockwave-flash></center>', '', 0, 'r', 0),

(9,
'<script>URL=''http://img.gismeteo.Ru/flash/100x100.swf?colorSet=default&noC=5&city0=27612&city1=72254&city2=26063&city3=34519&city4=33345'';w=''100'';h=''100'';value=''colorSet=default&noC=5&city0=27612&city1=72254&city2=26063&city3=34519&city4=33345'';lang=''ru'';</script><script
src=''http://informer.gismeteo.Ru/flash/fcode.js''></script>', '', 6, 'r', 0),

(11, '<form action=?set=users&mc=enter method=POST><center><font
color=blue><font size=1>Имя:</font>\r\n</font>\r\n<br><input type=text
name=login>\r\n<br><font color=blue><font
size=1>Пароль:</font>\r\n</font>\r\n<br><input type=password
name=pass><br>\r\n<br><input type=submit value="Вход"><br>\r\n<a
href=?modul=reg><font size=2>Регистрация</font>\r\n</a></form></center><hr>',
'', 0, 'l', 0),

(1, 'echo "\r\n<table border=1 cellpadding=0 cellspacing=0
width=100%>\r\n<tr><td><font size=1>Ваш IP</font></td><td align=right><font
size=1><b>$ip</b></font></td></tr>\r\n</table><br>\r\n<table border=0
cellpadding=0 cellspacing=0 width=100%>\r\n<tr><td colspan=2 align=center><font
size=1><b>Сегодня :</b></font></td></tr>\r\n<tr><td><font size=1>Хитов :
</font></td><td align=right><font size=1>$hits</font></td></tr>\r\n<tr><td><font
size=1>Хостов : </font></td><td align=right><font
size=1>$hosts</font></td></tr>\r\n<tr><td><font size=1><b>Онлайн :
</b></font></td><td align=right><font
size=1><b>$online</b></font></td></tr>\r\n</table>\r\n<table border=0
cellpadding=0 cellspacing=0 width=100%>\r\n<tr><td colspan=2 align=center><font
size=1><b>Всего :</b></font></td></tr>\r\n<tr><td><font size=1>Хитов :
</font></td><td align=right><font
size=1>$gen_hits</font></td></tr>\r\n<tr><td><font size=1>Хостов :
</font></td><td align=right><font size=1>$gen_hosts</font></td></tr>\r\n<tr><td
colspan=2 align=left><font
size=1>$gen_online</font></td></tr>\r\n</table>";\r\n', '', 5, 'r', 1);









Если обратили внимание то пункты меню у нас и текстовые и графические.

Благодаря этому мы можем совершенно спокойно в качестве пункта меню вставлять
код HTML и рисунки.

В данном случае мы вставили код счетчика рамблера и форму для авторизации на
сайте.

Так же в одном пункте у нас используется код ПХП. Как его выполнить в скрипте
будет объяснено ниже.









Итак теперь пытаемся получить эти данные из базы и вывести их на экран.



Работающий срипт.

http://www.allmustdie.citadelchaos.ru/uroki/14/14.php





Рассмотрим код скрипта



<?

$sql_host = "";

$sql_user = "";

$sql_pass = "";

$sql_db = "";





$link = mysql_connect($sql_host, $sql_user, $sql_pass)or die("Связи нет\n");

mysql_select_db($sql_db)or die("Нету связи никакой - лучше связи ....\n");





$query="SELECT * FROM gmenu ORDER BY por ASC ";

$result=mysql_query($query);

while ($row = mysql_fetch_array($result))

{

$id = $row[id];

$name = $row[name];

$mod = $row[mod];

$por = $row[por];

$php = $row[php];

if($php==1)

echo "<hr><h5>",eval($name),"</h5>";

else

echo "<hr><h5>$name</h5>";





}



?>








$sql_host = "";

$sql_user = "";

$sql_pass = "";

$sql_db = "";





$link = mysql_connect($sql_host, $sql_user, $sql_pass)or die("Связи нет\n");

mysql_select_db($sql_db)or die("Нету связи никакой - лучше связи ....\n");



Рассматривали на предыдущем уроке.



$query="SELECT * FROM gmenu ORDER BY por ASC ";

$result=mysql_query($query);



Выполняем запрос для выборки из базы данных.



SELECT * FROM gmenu - выбираем все записи по всем колонкам таблицы gmenu

ORDER BY por ASC полученные данные сортируются по полю por повозрастанию. (Вы
помните, что мы поле por создавали именно для сортировки?)





$result=mysql_query($query); выполняем запрос и полученные результат загружаем в
$result









while ($row = mysql_fetch_array($result)) - загружаем полученные записи в массив
и потом в цикле проходим по всем записям

{

//присваивает на каждом круге цикла значения полей каждой записи переменным

$id = $row[id];

$name = $row[name];

$mod = $row[mod];

$por = $row[por];

$php = $row[php];



//поверяем значение переменной $php. если она 1 то текст введенный в базу
рассматриваем как код PHP. для его выполнения используется функция eval

если нет, то тектс - обычный текст

if($php==1)

echo "<hr><h5>",eval($name),"</h5>";

else

echo "<hr><h5>$name</h5>";





}





Мы выводим на экран только заголовки. Если же хотите вывести все поля то их
можно указать их через ззапятую.



echo $id,$name,$mod,$por,$php;



правда они тогда сольются в одну строку потому лучше их чем то разделить



echo $id,"***",$name,"***",$mod,"***",$por,"***",$php,"<br>";







Наследующем уроке научимся делать подменю и привязывать их главному меню +
разработаем модульную схему портала, а именно каким образом привязать модули
скриптов к пунктам меню.

Так же начнем разрабатывать движек сата - дизайн+размещение в нем меню,
заголовка, подписи внизу сата и вывод работы скриптов в нужном месте экрана.



Короче посмотрите на мой сайт, именно как он работает и поймете.


+++