Сегодня мы рассмотрим с Вами один момент, связанный с активной ссылкой при количестве записей в базе данных. Например, у нас есть таблица в которой хранятся записи. В зависимости от того, есть ли данные в таблице, мы формируем ссылку с количеством записей в базе данных. Допустим, в таблице news у нас имеются две записи, то соответственно мы отображаем их количество, при этом ссылка становится активной, если же ноль записей в таблице, то у нас просто отображается ноль.
Создаем базу данных active_link и в ней создаем две таблицы news и articles. В таблице news и articles будут по два поля: id - идентификатор и title - название.
В таблице news будут две записи, в таблице articles записей не будет, чтобы можно было увидеть результат работы скрипта.
CREATE TABLE IF NOT EXISTS `news` ( `id` int(2) NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ; -- -- Дамп данных таблицы `news` -- INSERT INTO `news` (`id`, `title`) VALUES (1, 'Машины'), (2, 'Компьютеры');
CREATE TABLE IF NOT EXISTS `articles` ( `id` int(1) NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Для начала подключаемся к базе данных active_link. Привилегии: "root", "".
/* Подключаемся к базе данных */ $db = mysql_connect("localhost", "root", ""); mysql_select_db("active_link", $db); /* Устанавливаем кодировку */ mysql_set_charset("UTF8", $db); mysql_query("SET NAMES 'UTF8'"); if(!$db) echo mysql_error();
Теперь делаем запросы на количество записей в таблицах news и articles.
/* Создаем запрос на количество записей в таблице news */ $news = mysql_query("SELECT COUNT(*) FROM news"); @$news_count = mysql_fetch_array($news); /* Создаем запрос на количество записей в таблице articles */ $articles = mysql_query("SELECT COUNT(*) FROM articles"); @$articles_count = mysql_fetch_array($articles);
Выводим активные ссылки, если количество записей больше ноля, если нет, то выводим просто ноль.
/* Вывод ссылки новостей из таблицы news */ echo"<div><label>Новостей: </label>"; /* Если в таблице news записей больше ноля, то выводим активную ссылку */ if($news_count[0]>0) { echo"<a href='news.php'>$news_count[0]</a>"; } /* Если меньше ноля, то выводим просто ноль */ else { echo"$news_count[0]"; } echo"</div>"; /* Вывод ссылки новостей из таблицы articles */ echo"<div><label>Статей: </label>"; /* Если в таблице articles записей больше ноля, то выводим активную ссылку */ if($articles_count[0]>0) { echo"<a href='article.php'>$articles_count[0]</a>"; } /* Если меньше ноля, то выводим просто ноль */ else { echo"$articles_count[0]"; } echo"</div>";
Подключаемся к базе данных и выводим все записи с таблицы news.
/* Делаем запрос на выборку всех полей с таблицы news */ $news = mysql_query("SELECT * FROM news"); @$res = mysql_fetch_array($news); do { echo "$res[id] | $res[title]<br>"; } while(@$res = mysql_fetch_array($news));
label { font-weight: bold; }
Благодарю за внимание!