好吧,我有一个魔术牌网站,如果您单击主页上的一组,我会尝试从特定组中取出所有牌。 www.dotmagiccards(dot)me第一页上的代码是:

    <?php

require("mysqlconnect.php");

$query = "SELECT COUNT(*) AS `Rows`, `set`,id FROM `magic_cards_copy`  GROUP BY `set` ORDER BY `set`";

$result = mysql_query($query) or die(mysql_error());

// Print out result
while($row = mysql_fetch_array($result)){
    $setlink = $row[1];
    $setlink = str_replace(" ", "", $setlink);
    $setlink = strtolower($setlink);
    $setlink = preg_replace("/[^a-z0-9]./","",$setlink);
    $setlink .= "-c-$row[2]";
    $setlink .= ".html";

    $navigation .= "< href=\"$setlink\">$row[1]</a> <small><i>($row[0])</i></small>";
}

require("template.php");

?>


并且页面上的代码是:

    <?

require("mysqlconnect.php");

$cat=$_GET['cat'];

echo "Category: $cat<br>";

$query = "SELECT * FROM `magic_cards_copy` WHERE id = $cat ";

$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($result);
echo "Set: $row[1]<br>";

?>


代码将如何从每组卡中取出卡?任何帮助都会很棒。这对我来说更像是一个练习网站。

最佳答案

我将创建一个具有两列的表。第一列是set-id(所有集合的唯一标识符),将为快速查找建立索引。第二列是卡的ID。您可以将此表用于包含所有唯一卡的表上的JOIN

顺便说一句,清理所有输入

$cat=$_GET['cat'];


对SQL注入攻击开放。您还应该将其转换为整数。

10-01 19:59
查看更多