|
|
|
| Имееться скрипт меню на пхп
<?php
$links = array( 'главная' => 'index.php',
'Позиция1' => 'book.php?rubrica=1',
'Позиция1' => 'book.php?rubrica=2',
Позиция1'=> 'book.php?rubrica=3',
Позиция1'=> 'book.php?rubrica=4',
Позиция1'=> 'book.php?rubrica=5',
Позиция1'=> 'book.php?rubrica=6',
);
?>
echo "<table border=0 cellSpacing=0 cellPadding=0 color='#FFCC99' width='254'><tr>";
foreach($links as $name => $url){
if (strpos($_SERVER['PHP_SELF'], $url) == true){
echo "<tr><td bgcolor='#cccccc' width='254' height='25' ><div class='9'>".$name."</tr></td>";
} else {
echo "<tr><td bgcolor='#ffffff' width='254' height='25' ><a href=".$url." target=_self><div class='8'>".$name."</div></a></tr></td>";
}
}
echo "</table>";
?>
|
В случае нахождения на конкретной странице скрипт показывает на какой собственно ты находишься, вопрос как сделать, чтобы против позиций показывало количество объявлений
<?
include "configuration.php";
$result = mysql_query("SELECT * FROM books WHERE rubrica = 2");
$num_results = mysql_num_rows($result);
$books = mysql_num_rows($result);
echo "<a href=\"book.php?rubrica=2\" ><div class='8'>Cåêðåòàð³ (".$num_results.")</A>";?>
|
как его вставить в код меню? | |
|
|
|
|
|
|
|
для: ronin
(12.09.2006 в 15:18)
| | Для формирования массива $link следует использовать следующий код
<?php
include "configuration.php";
$query = "SELECT rubrica, name, COUNT(*) AS total FROM books
GROUP BY rubrica ORDER BY rubrica"
$result = mysql_query($query);
if($result) exit("Ошибка: ".mysql_error());
if(mysql_num_rows($result) > 0)
{
while($books = mysql_fetch_array($result))
{
$link[$books['name']]['link'] = 'book.php?rubrica='.$books['rubrica'];
$link[$books['name']]['total'] = $books['total'];
}
}
?>
|
Массив $link теперь двумерный, но содержит как ссылки, так и количество позиций.
PS Лучше приводить структуру таблиц в таких случаях. | |
|
|
|
|
|
|
|
для: cheops
(12.09.2006 в 18:27)
| | CREATE TABLE `books` (
`id` int(10) unsigned NOT NULL auto_increment,
`name` text,
`rubrica` int(10) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM ;
<?php
include "configuration.php";
$query = ("SELECT id, name, COUNT(*) AS total FROM books
WHERE rubrica= '".$_GET['rubrica']."' ORDER BY id DESC ") ;
$result = mysql_query($query);
if($result) exit("Îøèáêà: ".mysql_error());
if(mysql_num_rows($result) > 0)
{
while($books = mysql_fetch_array($result))
{
$link[$books['name']]['link'] = 'book.php?rubrica='.$books['rubrica'];
$link[$books['namet']]['total'] = $books['total'];
}
}
?>
|
Такой скрипт выводит ,но нет меню
'book.php?rubrica=1 Руководители, 'book.php?rubrica=2 Секретари и т.п. нужно чтобы это меню было постоянно и если посетитель на странице Секретари, то гиперссылка Секретари не работала и как то изменялась | |
|
|
|
|
|
|
|
для: ronin
(13.09.2006 в 12:08)
| | Помогите | |
|
|
|
|
|
|
|
для: ronin
(13.09.2006 в 12:08)
| | Не очень понятно, что требуется... вы как сейчас меню формируете? | |
|
|
|
|
|
|
|
для: cheops
(14.09.2006 в 13:42)
| | В том то и дело, что у меня нет меню(Меню состоит из рубрик: Руководители, Секретари и т.п. с количеством объявлений ). Мне хотелось бы, чтобы меню присутстствовало на страницах вывода, и к примеру , если открыта страница "секретари", то в меню строчка "секретари" перестает быть гипрессылкой. имеется меню
<?php
$links = array( 'главная' => 'index.php',
'Позиция1' => 'name1.php',
'Позиция1' => 'name2.php',
Позиция1'=> 'name3.php',
Позиция1'=> 'name4.php',
Позиция1'=> 'name5.php',
Позиция1'=> 'name6.php'
);
?>
echo "<table border=0 cellSpacing=0 cellPadding=0 color='#FFCC99' width='254'><tr>";
foreach($links as $name => $url){
if (strpos($_SERVER['PHP_SELF'], $url) == true){
echo "<tr><td bgcolor='#cccccc' width='254' height='25' ><div class='9'>".$name."</tr></td>";
} else {
echo "<tr><td bgcolor='#ffffff' width='254' height='25' ><a href=".$url." target=_self><div class='8'>".$name."</div></a></tr></td>";
}
}
echo "</table>";
?>
|
но я не знаю как сделать вывод одного файла, к примеру book.php с разными показателями
book.php?isbn=1 book.php?isbn=2 и если ОТКРЫТО book.php?isbn=1 то в меню, которое присутствует на каждой book.php?isbn=n гиперссылка на book.php?isbn=1 - не работала (phpself) | |
|
|
|
|
|
|
|
для: ronin
(14.09.2006 в 14:30)
| | Вместо $_SERVER['PHP_SELF'] используйте $_SERVER['REQUEST_URI'].
http://www.softtime.ru/info/articlephp.php?id_article=69 | |
|
|
|
|
|
|
|
для: cheops
(14.09.2006 в 20:25)
| | Меню работает. Спасибо! Но как при этом проводить подсчет объявлений? Помогите, а то я уже все варианты пробую - замахался. | |
|
|
|
|
|
|
|
для: ronin
(15.09.2006 в 12:02)
| | Скрипт у вас должен выглядеть сейчас примерно так
<?php
include "configuration.php";
$query = ("SELECT id, name, COUNT(*) AS total FROM books
WHERE rubrica= '".$_GET['rubrica']."' ORDER BY id DESC ") ;
$result = mysql_query($query);
if($result) exit("Îøèáêà: ".mysql_error());
if(mysql_num_rows($result) > 0)
{
while($books = mysql_fetch_array($result))
{
$link[$books['name']]['link'] = 'book.php?rubrica='.$books['rubrica'];
$link[$books['name']]['total'] = $books['total'];
}
}
echo "<table border=0 cellSpacing=0 cellPadding=0 color='#FFCC99' width='254'><tr>";
foreach($link as $name => $url){
if (strpos($_SERVER['REQUEST_URI'], $url['link']) == true){
echo "<tr><td bgcolor='#cccccc' width='254' height='25' ><div class='9'>".$name."(".$url['total'].")</tr></td>";
} else {
echo "<tr><td bgcolor='#ffffff' width='254' height='25' ><a href=".$url['link']." target=_self><div class='8'>".$name."(".$url['total'].")</div></a></tr></td>";
}
}
echo "</table>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(15.09.2006 в 12:10)
| | У меня выдает ошибки:
Warning: Cannot use a scalar value as an array in
$link[$books['name']]['link'] = 'book.php?rubrica='.$books['rubrica'];
|
Warning: Invalid argument supplied for foreach() in | |
|
|
|
|
|
|
|
для: ronin
(15.09.2006 в 15:58)
| | Перед циклом добавьте строку
<?php
$link = array();
?>
|
У вас переменная $link больше нигде не используется? | |
|
|
|
|
|
|
|
для: cheops
(15.09.2006 в 21:30)
| | не используется $link наверное тут где то ошибка:
<?php
include "configuration.php";
$query = ("SELECT id, name, rubrica, COUNT(*) AS total FROM books
WHERE rubrica= '".$_GET['rubrica']."' GROUP BY id DESC ") ;
$result = mysql_query($query);
if(!$result) exit("Îøèáêà: ".mysql_error()); // ведь, привильно перед $result должен стоять"!"
if(mysql_num_rows($result) > 0)
{
while($books = mysql_fetch_array($result))
{
$link[$books['name']]['link'] = 'book.php?rubrica='.$books['rubrica'];
$link[$books['name']]['total'] = $books['total'];
}
}
echo "<table border=0 cellSpacing=0 cellPadding=0 color='#FFCC99' width='254'><tr>";
foreach($link as $name => $url){
if (strpos($_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'], $url['link']) == true){
echo "<tr><td bgcolor='#cccccc' width='254' height='25' ><div class='9'>".$name."(".$url['total'].")</tr></td>";
} else {
echo "<tr><td bgcolor='#ffffff' width='254' height='25' ><a href=".$url['link']." target=_self><div class='8'>".$name."(".$url['total'].")</div></a></tr></td>";
}
}
echo "</table>";
$links = array( 'главная' => 'index.php',
'Позиция1' => 'book.php?rubrica=1',
'Позиция2' => 'book.php?rubrica=2',
Позиция3'=> 'book.php?rubrica=3',
Позиция4'=> 'book.php?rubrica=4',
Позиция5'=> 'book.php?rubrica=5'
);
?>
А так, выдает
Warning: Invalid argument supplied for foreach() in
foreach($link as $name => $url){
|
| |
|
|
|
|
|
|
|
для: ronin
(18.09.2006 в 11:03)
| | Замените блок
<?
foreach($link as $name => $url)
{
if (strpos($_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'], $url['link']) == true)
{
echo "<tr><td bgcolor='#cccccc' width='254' height='25' ><div class='9'>".$name."(".$url['total'].")</tr></td>";
} else {
echo "<tr><td bgcolor='#ffffff' width='254' height='25' ><a href=".$url['link']." target=_self><div class='8'>".$name."(".$url['total'].")</div></a></tr></td>";
}
}
?>
|
на
<?
if(!empty($link))
foreach($link as $name => $url)
{
if (strpos($_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'], $url['link']) == true)
{
echo "<tr><td bgcolor='#cccccc' width='254' height='25' ><div class='9'>".$name."(".$url['total'].")</tr></td>";
} else {
echo "<tr><td bgcolor='#ffffff' width='254' height='25' ><a href=".$url['link']." target=_self><div class='8'>".$name."(".$url['total'].")</div></a></tr></td>";
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(18.09.2006 в 11:05)
| | Warning: Cannot use a scalar value as an array in
Warning: Invalid argument supplied for foreach() in | |
|
|
|
|
|
|
|
для: ronin
(18.09.2006 в 11:26)
| | Помогите! Help! Hilfe! Допоможить! | |
|
|
|