2017-10-12 47 views
-1

請幫助我以下列表。我不知道我在哪裏犯了一個錯誤。在網址和條件查詢字符串

我的表:

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年耐克)點擊

,它會出現:

1994 Nike Book 
1994 Nike DVD 

當你點擊最後一個步驟是 - 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

*「這是一個糟糕的結構?」* - 也許或可能不是,但你使用的api是。 –

+0

...或者這真的是什麼問題呢?您的網址應該是,然後您可以通過$ _GET'訪問它們。今年是$ _GET ['year']'。 – chris85

+0

這裏使用'codeigniter'的地方在哪裏? – Bira

回答

0

謝謝你的幫助。

我已經修改了使用

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

的代碼和現在的作品,因爲它應該。

相關問題