【发布时间】:2017-10-12 01:59:08
【问题描述】:
请帮助我完成以下清单。我不知道我在哪里犯了错误。
我的桌子:
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>");
}
?>
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>");
}
}
?>
是不是结构不好?
感谢您的 cmets。
【问题讨论】:
-
“它是一个坏结构吗?” - 也许也许不是,但你使用的 api 是。
-
... 或者这就是问题所在?您的 URL 应该是
<a href=\"index.php?year=$year&distrubtor=$distributor\">,然后您可以通过$_GET访问它们。年份在$_GET['year']。 -
这里使用的
codeigniter在哪里?
标签: php url linked-list query-string