Php 带有动态链接的动态页面

Php 带有动态链接的动态页面,php,mysql,Php,Mysql,嗨,我有个分类问题要问 我的数据库中有“Photoname”作为mySQL表中的一列的图像 数据库: Photoname 苹果 熊 猫 橙色的 因此,在我的catalog.php中,我将显示数据库中的所有图像。然后,我有一个导航栏(div),允许观众过滤图像。所以用户可以通过A | B | C.|查看Z | 我的问题是关于URL和approarch的。我将创建imagesort.php,它将以通用方式处理所有mySQL(这样我就不必浪费时间创建a-Z) imagesort.php是否应该类似于i

嗨,我有个分类问题要问

我的数据库中有“Photoname”作为mySQL表中的一列的图像

数据库:

Photoname
苹果


橙色的

因此,在我的catalog.php中,我将显示数据库中的所有图像。然后,我有一个导航栏(div),允许观众过滤图像。所以用户可以通过A | B | C.|查看Z |

我的问题是关于URL和approarch的。我将创建imagesort.php,它将以通用方式处理所有mySQL(这样我就不必浪费时间创建a-Z)

imagesort.php是否应该类似于
imagesort.php?sort=A
?那么在imagesort.php中,如何获得值
A
?例如:
选择照片名称,照片名称所在图像的日期,如“a%”

如果上述方法正确,我如何将这个变量
A
解析到catalog.php中的链接? 以下是我到目前为止在我的catalog.php中所做的工作:

<ul>
<li><a href="imagesort.php?sort=A">A</a></li>
<li><a href="imagesort.php?sort=B">B</a></li>
<li><a href="imagesort.php?sort=C">C</a></li>
...
</ul>
  • ...

我真的要为26个参赛作品做这个吗?或者有更简单的方法吗?

如果链接的格式是这样的,那么它们将以$\u GET super global结尾:

$sort = $_GET['sort'];
对于第二个问题,您可以轻松地使用php中的循环遍历字母表中的字母,以生成所需的分页内容:

$link_base = 'imagesort.php';
$pagination_content = '<ul>';
for($i=65; $i<=90; $i++)
{
    $pagination_content .= '<li><a href="'.$link_base.'?sort='.chr($i);.'">'.chr($i).'</a></li>';
}
$link_base='imagesort.php';
$pagination_content='
    ';
    对于($i=65;$i您需要从$\u get数组中获取
    sort
    的值。请确保在SQL查询中使用输入之前

    $match = "";
    
    if(isset($_GET['sort']))
    {
      // Escape the string to guard against SQL injection
      $match = mysql_real_escape_string($_GET['sort']);
    }
    
    $query = "select photoname, date from image where photoname LIKE '$match%'";
    
    此代码的作用是处理
    排序的任何值,包括空字符串。如果要将有效字符串限制为单个大写字母字符,则必须单独进行检查,如下所示:

    if(strlen($match) != 1 || ctype_upper($match) == false)
    {
      $match = "";
      // Maybe some other error condition
    }
    

    你可以用这样的东西

    <ul>
    <?php for($i=65;$i<90;$i++) { ?>
    <li><a href="imagesort.php?sort=&#<php echo $i;?>;">&#<php echo $i;?>;</a></li>
    <?php } ?>
    </ul>
    

    我将添加一个检查,以确保
    sort
    参数是从'a'到'z'的字母之一=只是为了确保带有like的查询不会走得太远(例如%a%)