知道使用PHP和mySQL选择了哪个<li>项目</li>

时间:2012-03-20 08:28:59

标签: php mysql

我有2个问题。一个是如果此代码中有任何错误。

我想问的第二个问题是你怎么知道选择了哪个<li>项目。现在,代码在mySQL中搜索与城市,语言和级别匹配的所有行,并在列表项中返回结果。

我想要它,以便当用户点击任何列表项时,它将进入另一个页面,通过查询所选列表项来显示更详细的描述。

我有一个猜测,这是第2步,我也抓住每一行的ID(主键)并以某种方式保存在列表中而不是回显..我是否需要将<a>包裹起来<form action="XX.php" method="get">

<?php
        //1. Define variables
        $find_language = $_GET['find_language'];
        $find_level = $_GET['find_level'];
        $find_city = $_GET['find_city'];

        //2. Perform database query
        $results = mysql_query("
            SELECT name, city, language, level, language_learn, learn_level FROM user 
            WHERE city='{$find_city}' && language='{$find_language}' && level='{$find_level}'", $connection) 
            or die("Database query failed: ". mysql_error());

        //3. Use returned data
        while ($row = mysql_fetch_array($results)){
            echo "<li>";
            echo "<a href=\"#result_detail\" data-transition=\"flow\">";
            echo "<h3>".$row["name"]."</h3>";
            echo "<p>Lives in ".$row["city"]."</p>";
            echo "<p>Knows ".$row["level"]." ".$row["language"]."</p>";
            echo "<p>Wants to learn ".$row["learn_level"]." ".$row["language_learn"]."</p>";
            echo "</a>";
            echo "</li>";}
    ?>

1 个答案:

答案 0 :(得分:0)

  1. 您的代码看起来不错。它不起作用吗?

  2. 一种方法是通过SQL查询获取ID,然后将ID添加到链接中的href。然后你可以通过另一页上的查询字符串获取它,根据用户点击的li - 元素显示正确的帖子:

    echo "<a href=\"details.php?id=". $row["id"] ."\" data-transition=\"flow\">";
    
  3. 不确定你的意思是“以某种方式保留存储在列表中而不是回显” - 如果没有回显,就不可能在列表中存储任何内容,因为它不会被发送到客户。您当然可以将id存储在li元素的data-attribute中,该属性不会显示给用户。然而,它将通过源代码可见!不知道为什么那应该是个问题呢?