0

このSQLクエリを実行する必要があります。これにより、各結果をクリックしてID値を取得し、上記のクエリを記述した次のフォームにIDと日付のリストが表示されますが、デバッガーで非表示の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 ...
}

アイテムを 1 つだけ取りたい場合は、次のようにしてください。

$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>';

編集 : アンカー要素はフォームを参照する必要があります。フォーム要素に name 属性を与え、次のようなものを使用します

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

リンクで。

編集を終了します。

また、上記の行では、入力の value 属性に到達するときに既に PHP パーサーを使用しているため、

<?= and ?>

最後に、同じタグでは、終了入力タグは必要ありません

</input>

開始タグを閉じるだけです

/>

それは一見しただけで、他のエラーに対してバリデーターを実行すると、問題がより明確になると確信しています。

于 2012-09-03T21:44:31.300 に答える