[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Правильный url для пункта навигации и его подстран
winner_ua
Здравствуйте уважаемые форумчане!
Помогите, пожалуйста, реализовать правильный url.

Из базы данных из таблицы menu выводятся страницы, которые связаны с основным меню, а из таблицы products выводятся страницы, которые связаны с вертикальным подменю. Просьба помочь реализвать правильный url адрес, который бы позволял шагать по вертикальному меню, но постоянно оставался на одном и том же пункте для горизонтального меню. Ниже привожу свой пример:

Сейчас, когда я кликаю по First product у меня выделяется в главном меню кнопка Как купить, кликая на Second product выделяется в главном меню кнопка Товары, кликая на Third product выделяется кнопка Помощь главного меню и т.д. Похоже id, которое выводится для таблицы products пересекается с id таблицы menu.

user posted image

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

Как новичку мой ход мыслей наталкивает меня на добавления к url дополнение после знака амперсанд, типа www.mywebsite.ru/products.php?id=2&... , но я незнаю как правильно реализуется данное троеточие после амперсанда и какой нужно добавить код для данной задачи. Возможно я ошибаюсь в правильности выбора пути, если так, подскажите плиз как лучше.

Заранее благодарен!



Спустя 1 час, 14 минут, 5 секунд (18.11.2009 - 14:02) Gabriel написал(а):
эммм а ты какие запросы делал? может покажеш?

Спустя 23 минуты, 24 секунды (18.11.2009 - 14:25) winner_ua написал(а):
<?php
include("blocks/bd.php");
$id = isset($_GET['id']) ? $_GET['id'] : null;
$result = mysql_query("SELECT * FROM products WHERE id='$id'",$db);
$myrow = mysql_fetch_array($result);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta
name="description" content="<?php echo $myrow['meta_d']; ?>" />
<meta
name="keywords" content="<?php echo $myrow['meta_k']; ?>" />
<link
href="style.css" rel="stylesheet" type="text/css">
<title><?php
echo $myrow['title']; ?></title>
<body>
<table
class="main_border" align="center" width="921" cellpadding="0" cellspacing="0" border="0">
<!-- header -->
<?php include("blocks/header.php"); ?>

<!-- menu -->
<?php include("blocks/menu.php");?>

<!-- flash presentation -->
<tr>
<td>
<img
src="images/background.jpg" width="921" height="271" alt="" />
</td>
</tr>

<!-- content -->
<tr>
<td>
<table
width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>

<!-- left column -->
<td width="209" class="producers">
<div
class="menuProducers"> <span class="nameProducers">Производители</span>

<?php


$productresult = mysql_query ("SELECT id, thumbnail, title, meta_d, meta_k, productname, text FROM products LIMIT 0,6", $db);
$productrow = mysql_fetch_array ($productresult);

do {
printf ("<p class='imageproduct' align='center'><a href='view_products.php?id=%s'><img src='%s'></a></p>", $productrow["id"], $productrow["thumbnail"]);
}
while ($productrow = mysql_fetch_array ($productresult));

?>

</div>

<div
class="menuProducers"><span class="nameProducers"><a href="accessories.php">Аксессуары</a></span></div>

<div
class="menuProducers"> <span class="nameProducers">Товары</span>
<table
width="209" border="0" cellspacing="0" cellpadding="10">
<tr>
<td>
<?php


$productresult = mysql_query ("SELECT id, thumbnail, title, meta_d, meta_k, productname, text FROM products LIMIT 6,10", $db);
$productrow = mysql_fetch_array ($productresult);

do {
printf ("<p class='selectproduct'><a href='view_products.php?id=%s'>%s</a></p>", $productrow["id"], $productrow["productname"]);
}
while ($productrow = mysql_fetch_array ($productresult));

?>

</td>
</tr>
</table>
</div>
</td>

<!-- rigth column -->
<td class="main_content">
<div
class="description_title"><h1><?php echo $myrow['productname']; ?></h1></div>

<?php
echo $myrow['text']; ?>
</td>

</tr>
</table>
</td>
</tr>

<!-- footer -->
<?php include("blocks/footer.php"); ?>
</table>
</body>
</html>

Спустя 18 минут, 1 секунда (18.11.2009 - 14:43) Gabriel написал(а):
во первых
$result = mysql_query("SELECT * FROM products WHERE id='" . intval( $id ) . "'",$db);

во вторых do while и printf в топку.
в третьих mysql_fetch_array заменить на mysql_fetch_assoc
и последнее что заметил попробуй переименовать в таблице продуктов поле id в product_id

Спустя 36 минут, 25 секунд (18.11.2009 - 15:20) winner_ua написал(а):
Спасибо, Gabriel, за совет, сейчас попробую.
А не подскажете, чем лучше заменить цикл do while и printf, оператором if else и echo ? unsure.gif

Спустя 5 минут, 34 секунды (18.11.2009 - 15:25) Gabriel написал(а):
winner_ua
printf на ечо do while на while.
тоесть вот так
<?php
$productresult = mysql_query ("SELECT id, thumbnail, title, meta_d, meta_k, productname, text FROM products LIMIT 0,6", $db);
while ($productrow = mysql_fetch_assoc ($productresult)){
echo'<p class="imageproduct" align="center">
<a href="view_products.php?id='
. intval( $productrow["id"] ) . '"><img src="' . $productrow["thumbnail"] . '"></a></p>';
}

Спустя 1 час, 41 минута, 19 секунд (18.11.2009 - 17:07) winner_ua написал(а):
Спасибо, Gabriel! сделал как Вы сказали, также заменил в таблице продуктов поле id на product_id, но пока проблема не решилась. Не могли бы еще раз глянуть, please, на код и сказать, что еще можно сделать?

<?php
include("blocks/bd.php");
$id = isset($_GET['id']) ? $_GET['id'] : null;
$result = mysql_query("SELECT * FROM products WHERE product_id='" . intval( $id ) . "'",$db);
$myrow = mysql_fetch_assoc($result);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta
name="description" content="<?php echo $myrow['meta_d']; ?>" />
<meta
name="keywords" content="<?php echo $myrow['meta_k']; ?>" />
<link
href="style.css" rel="stylesheet" type="text/css">
<title><?php
echo $myrow['title']; ?></title>
<body>
<table
class="main_border" align="center" width="921" cellpadding="0" cellspacing="0" border="0">
<!-- header -->
<?php include("blocks/header.php"); ?>

<!-- menu -->
<?php include("blocks/menu.php");?>

<!-- flash presentation -->
<tr>
<td>
<img
src="images/background.jpg" width="921" height="271" alt="" />
</td>
</tr>

<!-- content -->
<tr>
<td>
<table
width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>

<!-- left column -->
<td width="209" class="producers">
<div
class="menuProducers"> <span class="nameProducers">Производители</span>

<?php


$productresult = mysql_query ("SELECT product_id, thumbnail, title, meta_d, meta_k, productname, text FROM products LIMIT 0,6", $db);
while ($productrow = mysql_fetch_assoc ($productresult)){
echo'<p class="imageproduct" align="center"><a href="view_products.php?id=' . intval( $productrow["product_id"] ) . '"><img src="' . $productrow["thumbnail"] . '"></a></p>';
}

?>

</div>

<div
class="menuProducers"><span class="nameProducers"><a href="accessories.php">Аксессуары</a></span></div>

<div
class="menuProducers"> <span class="nameProducers">Товары</span>
<table
width="209" border="0" cellspacing="0" cellpadding="10">
<tr>
<td>
<?php


$productresult = mysql_query ("SELECT product_id, thumbnail, title, meta_d, meta_k, productname, text FROM products LIMIT 6,10", $db);
while ($productrow = mysql_fetch_assoc ($productresult)){
echo'<p class="selectproduct"><a href="view_products.php?id=' . intval( $productrow["product_id"] ) .'">' . $productrow["productname"] . '</a></p>';
}
?>

</td>
</tr>
</table>
</div>
</td>

<!-- rigth column -->
<td class="main_content">
<div
class="description_title"><h1><?php echo $myrow['productname']; ?></h1></div>

<?php
echo $myrow['text']; ?>
</td>

</tr>
</table>
</td>
</tr>

<!-- footer -->
<?php include("blocks/footer.php"); ?>
</table>
</body>
</html>


P.S. Отдельное спасибо за корректировку "кривого" кода! Читаю, записываю и мотаю на ус.

Спустя 1 день, 7 часов, 43 минуты, 3 секунды (20.11.2009 - 00:50) winner_ua написал(а):
Может кто знает, можно ли условие или цикл написать, чтоб пока выводится id с таблицы products, то выводить id=2 из таблицы меню базы данных? *PLEASE HELP*

Спустя 1 день, 21 час, 29 минут, 52 секунды (21.11.2009 - 22:20) winner_ua написал(а):
Подскажите, пожалуйста, вопрос решил частично, но не могу вывести данные из таблицы products, вот что придумал:


$productresult = mysql_query ("SELECT product_id, thumbnail, title, meta_d, meta_k, productname, text FROM products LIMIT 6,10", $db);
while ($productrow = mysql_fetch_assoc ($productresult)){
echo'<p class="selectproduct"><a href="products.php?id=2&view_products=' . intval( $productrow["product_id"] ) .'">' . $productrow["productname"] . '</a></p>';
}


Получается в строке в строке
echo'<p class="selectproduct"><a href="products.php?id=2
меню позволяет постоянно держать выделенным второй пункт меню, но не выводится информация на странице из базы данных по выбранному продукту, url выглядит http://mywebsite.ru/products.php?id=2&view_products=10 , но инфы нет. Наверное нужно присвоить view_products что-то, что будет позволять выводить из базы информацию, но незнаю как это делается. Может кто-нибудь подсказать?

Спасибо!
Быстрый ответ:

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