在不显示的情况下检索id

时间:2013-11-11 09:49:24

标签: php mysql

我正在显示<select>列表,我想检索id列而不在列表中显示它:

public function view_expenses($username) {
    $query = $this->db->prepare("SELECT * FROM `expenses` WHERE `username`= ?");
    $query->bindValue(1, $username);
    $i = 0; 
    $selectedId = 0;

    try{
        $query->execute();
        foreach ($query as $row) {
            $month = $row['date'];
            $i++;
            echo "<option>".$i.") Amount: ".$row['amount']."$, Type: ".$row['type'].", Month: ".$month."</option>";
            $selectedId = $row['id'];
        }
    $this->queryResult = $query->fetch();
    $this->selectedId = $selectedId;

    } catch(PDOException $e){
        die($e->getMessage());
    }
}   

我有$selectedId来检索ID,但我不知道如何从我的其他页面获取它。 我用它来显示选择选项:

        <?php   
            $users->view_expenses($username);
        ?>      

我在我的其他php文件中包含user.php文件以检索所有这些函数结果。我如何从外部上诉它以获取selectedId而不在任何地方显示它并将其用于以后的功能?

3 个答案:

答案 0 :(得分:1)

value元素上设置<option>属性。它将覆盖元素的文本节点子节点,以确定将提交给服务器的数据(但不是用于确定将在下拉菜单UI中呈现的内容)。

答案 1 :(得分:1)

echo "<option value=".$row['id'].">".$i.") Amount: ".$row['amount']."$, Type: ".$row['type'].", Month: ".$month."</option>";

答案 2 :(得分:0)

echo "<option value='".$i."'> Amount: ".$row['amount']."$, Type: ".$row['type'].", Month: ".$month."</option>";