Php url和条件中的查询字符串

Php url和条件中的查询字符串,php,url,linked-list,query-string,Php,Url,Linked List,Query String,请帮我列出以下清单。我不知道我在哪里犯了错误 我的桌子: 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页面上

请帮我列出以下清单。我不知道我在哪里犯了错误

我的桌子:

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
最后一步是点击-1994 Nike Book:

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>");
    }
?>
<?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;
}
?>

2。步骤

<?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>");
    }
?>
<?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;
}
?>
谢谢您的帮助

我已经使用

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

现在它已经正常工作了。

“这是一个糟糕的结构吗?”-也许是,也许不是,但您使用的api是。。。。或者这就是问题的真正含义?您的URL应该是
,然后通过
$\u GET
访问它们。年份在
$\u GET['year']
。此处使用的
codeigniter
在哪里?