0

我需要运行这个 sql 查询,它给了我一个 Id 和日期列表,我想单击每个结果并将 Id 值带到我在上面写的这个查询的下一个表单中,但我在 debager 中看到隐藏的 ID 得到他的价值但没有传递到下一个表格我认为我对submit(). 我应该把他放在哪里?

function ShowAllCarts($user_email) {

    $connB = new ProductDAO();
    $connB->Connect();
    $pro_query = "SELECT * FROM Cart WHERE `Email`='$user_email';";
    $db_result = $connB->ExecSQL($pro_query);

    $html_result = '<div data-role="content"> <ul data-role="listview" data-theme="b"> ';
    $html_result .= '<form action="PreviouscartProduct.php" method="POST"/>';

    while($row_array = $db_result->fetch_array(MYSQLI_ASSOC))
    {
        $Id= $row_array['Id'];
        $Date= $row_array['Date'];

        //$html_result //
        $html_result .="<li><a href='PreviouscartProduct.php'>Cart number: $Id from Date: $Date><input type='hidden' name='Id' value'<?=$Id?>'</input></a></li>'";
        $html_result .= '<a onclick="this.form.submit();" </a>;
    }

        $html_result .= '</form>';  
        $html_result .= ' </ul> </div>';

    $connB->Disconnect();
    return $html_result;
}

//display all carts
$func_result = ShowAllCarts($Email);
4

2 回答 2

1

您需要使用一个checkbox元素:

$html_result .="<li>"
              ."<checkbox name='cartItem[$Id]' value='$Date'>"
              . "Cart number: $Id from Date: $Date"
              . "</li>'"
              ;

然后,在PreviouscartProduct.php中,您将遍历 cartItem:

$cartItems = $_POST[ 'cartItem' ];
foreach( $cartItems as $id => $date ) {
 ... do something ...
}

如果您只想拿一件物品,为什么不使用这个:

$html_result .="<li>"
              . "<a href='PreviouscartProduct.php?cartID=$Id&date=$Date'>"
              . "Cart number: $Id from Date: $Date"
              . "</a>"
              . "</li>'"
              ;
于 2012-09-03T21:45:06.153 回答
0

这里有一堆 HTML 语法错误,检查验证器中的输出

首先,在 this.form.submit(); 之后打开标签不会关闭,它应该是

$html_result .= '<a onclick="this.form.submit();">Anchor Text Here</a>';

编辑:锚元素需要引用表单。给表单元素一个名称属性并使用类似的东西

onclick="document.nameattributehere.submit();return false"

在链接上。

结束编辑。

此外,在上面的行中,当您获得输入的 value 属性时,您已经在使用 PHP 解析器,因此不需要

<?= and ?>

最后,在同一个标​​签中,您不需要关闭输入标签

</input>

只需关闭开始标签

/>

这只是一瞥,为其他错误运行验证器,我相信问题会更清楚。

于 2012-09-03T21:44:31.300 回答