Строка запроса в URL и условиях

Пожалуйста, помогите мне со следующим списком. Я не знаю, где я делаю ошибку.

Мой стол:

year | distributor | item | nameautor
1994 | Nike | Book | John
1994 | Nike | Book | Peter
1994 | Nike | DVD | Jessie
1994 | Nike | DVD | Marc
1995 | O2 | Book | Heck
1995 | O2 | Book | Lars
etc.

Полный список ссылок появится на странице index.php

Пример:

1994 Nike
1995 O2

После щелчка по ссылке (1994 Nike) появится:

1994 Nike Book
1994 Nike DVD

И последний шаг, когда вы нажимаете на — Nike Book 1994:

1994 Nike Book John
1994 Nike Book Peter

У меня есть следующие коды, и я не знаю, как связать их вместе.

1. шаг

<?php
$query="(SELECT DISTINCT year, distributor FROM table)";
$back=mysql_query($query, $conn) or die(mysql_error());
while (list($year,$distributor) = mysql_fetch_row($back)){
echo ("<a href=\"index.php?$year&$distributor\"><b></b>$year - $distributor</a></br>");
}
?>

2. шаг

<?php
if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
$year = $_SERVER['QUERY_STRING'];
$distributor = $_SERVER['QUERY_STRING'];
$namechoose = str_replace(array('%20', '&'), ' ' , $_SERVER['QUERY_STRING']);
$query="(select distinct year, distributor, item FROM table WHERE CONCAT(year, ' ', distributor)='$namechoose')";
$back=mysql_query($query, $conn) or die(mysql_error());
echo ("<h3><center>you choose --- $namechoose ---</center></h3>");
while (list($year,$distributor,$item) = mysql_fetch_row($back)){
echo ("<a href=\"index.php?$year&$distributor&$item\"><b></b>$year - $distributor - $item</a></br>");
}
}
?>

Последний шаг

<?php
if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
$year = $_SERVER['QUERY_STRING'];
$distributor = $_SERVER['QUERY_STRING'];
$item = $_SERVER['QUERY_STRING'];
$detailedtable = str_replace(array('%20', '&'), ' ' , $_SERVER['QUERY_STRING']);
$query="(select distinct year, distributor, item, nameautor FROM table WHERE CONCAT(year, ' ', distributor, ' ', item)='$detailedtable')";
$back=mysql_query($query, $conn) or die(mysql_error());
echo TABLE LISTING;
}
?>

Я пробовал эту структуру, но она не работает, как я хочу.

<?php
if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {
if (!isset($_GET['item'])) {
$year = $_SERVER['QUERY_STRING'];
$distributor = $_SERVER['QUERY_STRING'];
$namechoose = str_replace(array('%20', '&'), ' ' , $_SERVER['QUERY_STRING']);
$query="(select distinct year, distributor, item FROM table WHERE CONCAT(year, ' ', distributor)='$namechoose')";
$back=mysql_query($query, $conn) or die(mysql_error());
echo ("<h3><center>you choose --- $namechoose ---</center></h3>");
while (list($year,$distributor,$item) = mysql_fetch_row($back)){
echo ("<a href=\"index.php?$year&$distributor&$item\"><b></b>$year - $distributor - $item</a></br>");
}
} else {
$year = $_SERVER['QUERY_STRING'];
$distributor = $_SERVER['QUERY_STRING'];
$item = $_SERVER['QUERY_STRING'];
$detailedtable = str_replace(array('%20', '&'), ' ' , $_SERVER['QUERY_STRING']);
$query="(select distinct year, distributor, item, nameautor FROM table WHERE CONCAT(year, ' ', distributor, ' ', item)='$detailedtable')";
$back=mysql_query($query, $conn) or die(mysql_error());
echo TABLE LISTING;
}
}
else {
$query="(SELECT DISTINCT year, distributor FROM table)";
$back=mysql_query($query, $conn) or die(mysql_error());
while (list($year,$distributor) = mysql_fetch_row($back)){
echo ("<a href=\"index.php?$year&$distributor\"><b></b>$year - $distributor</a></br>");
}
}
?>

Это плохая структура?

Спасибо за ваши Коментарии.

-1

Решение

Спасибо за помощь.

Я изменил код используя

echo ("<a href=\"index.php?year=$year&distributor=$distributor&item=$item\"><b></b>$year - $distributor - $item</a></br>");

И теперь все работает как надо.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]