0

私はかなり新しいですが、以下のjqueryでjquery実行する方法があるかどうか疑問に思っていました.mysql

私の場合、投稿されているものがデータベースにあるかどうかをチェックしcart.phpqueryいます。そうでない場合、アイテムは追加されません。

jquery以下の場所にある私のview.phpページではhidden div、非表示のdivworksをクリックすると、追加したものが表示されます。add button

<button type="submit" name="submit" class="show_hide" id="button" name="submit">Add</button>

Jクエリ

$(document).ready(function(){
    $('#selected').hide();
    $('#button').click(function(){
        var pid = $('#pid').val();
        var length = $('#length option:selected').text();
        var Category = $('#Category').val();
        var cat = $('#Category option:selected').text();
        var Qty = $('#Qty').val();
        var qty = parseInt($('#Qty').val());
        var price =  parseFloat($('#pricetag').text().replace(/^\D/, ''), 10) * qty;
        price = '\u00A3' + price.toFixed(2);
        var category = $('#Category').val();
        if (!/^[1-9]\d?$/.test(Qty)){
            alert('Quantity should not be below 1 or null');
            return false; // don't continue
        }
        else {
        $('#sprice').text(price);
        $('#scategory').text(cat);
        $('#slength').text(length);
        $('#selected').slideDown();
        }
        $.ajax({
            url: '../cart.php',
            type: 'POST',
            data: { pid:pid, 
            length:length, 
            Qty:Qty, 
            Category:Category },
            success: function(data)
            {
             location.reload();  
            }
        });
    });
  });

非表示の div

<div id="selected">
    <table class="tableclass">
            <tr>
                <td>Price:</td>
                <td id='sprice'></td>
            </tr>
            <tr>
                <td>Category:</td>
                <td id='scategory'></td>
            </tr>
            <tr>
                <td>Length:</td>
                <td id='slength'></td>
            </tr>
        </table>
    </div>

編集 済みクエリコードを追加するには

cart.phpページにはこれがありますquery

$statement = $conn->prepare("SELECT * FROM Category ct, Itemised ip, Product pd
                         WHERE ct.CatID = ? AND ip.Length = ? AND pd.pid = ?
                         ");
     $statement->execute(array($Category, $length, $pid));
     if (!$statement->fetch()) {
         exit();
     }

投稿されたコンテンツがデータベースに存在することを確認するために使用します。これは多かれ少なかれ同じクエリで、jquery で実行してvar存在するかどうかを確認し、そうでない場合は実行しないでurl:./cart.phpください。

私のcart.phpコードを表示するように更新

if(isset($_POST['pid']) && isset($_POST['length']) && isset($_POST['Qty']) && isset($_POST['Category'])){   
    $pid = $_POST['pid'];
    $length = $_POST['length'];
    $qty = $_POST['Qty'];
    $Category = $_POST['Category'];;
    $wasFound = false;

     dbconnect();
     $statement = $conn->prepare("SELECT * FROM Category ct, Itemised_Product ip, Product pd
                         WHERE ct.CatID = ? AND ip.ItemID = ? AND pd.Sef = ?
                         ");
     $statement->execute(array($Category, $length, $pid));
     if (!$statement->fetch()) {
         exit();
     }

     $i = 0;
    // If the cart session variable is not set or cart array is empty
    if (!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1) { 
        // RUN IF THE CART IS EMPTY OR NOT SET
        $_SESSION["cart_array"] = array(0 => array("item_id" => $pid, "length" => $length, "Category" => $Category, "quantity" => $qty));
    } else {
        // RUN IF THE CART HAS AT LEAST ONE ITEM IN IT
        foreach ($_SESSION["cart_array"]as $array_key=>$each_item) { 
              if ($each_item['item_id'] == $pid  && $each_item['length'] == $length && $each_item['Category'] == $Category) {
                      $_SESSION["cart_array"][$array_key]['quantity']+=$qty;
                      $wasFound = true;

                  } 
              } 
           if ($wasFound == false) {
               array_push($_SESSION["cart_array"], array("item_id" => $pid, "length" => $length, "Category" => $Category, "quantity" => $qty));

           }
    }
    header('Location: '.fetchinline($bpages).$currentFile);
    exit();
}

私の質問 カートページには、投稿されたコンテンツがユーザーによってチェックされていないことを確認するクエリがあります。上記のjqueryで同じことをしたいのhaveですが、停止したいユーザーが表示されないようにしたいのですhidden div

ご理解いただけるように説明できたことを願っています。お時間をいただきありがとうございます。

4

2 に答える 2

0

JS

    $(document).ready(function(){
    $('#selected').hide();
    $('#button').click(function(){
        var pid = $('#pid').val();
        var length = $('#length option:selected').text();
        var Category = $('#Category').val();
        var cat = $('#Category option:selected').text();
        var Qty = $('#Qty').val();
        var qty = parseInt($('#Qty').val());
        var price =  parseFloat($('#pricetag').text().replace(/^\D/, ''), 10) * qty;
        price = '\u00A3' + price.toFixed(2);
        var category = $('#Category').val();
        if (!/^[1-9]\d?$/.test(Qty)){
            alert('Quantity should not be below 1 or null');
            return false; // don't continue
        }
        else {
        $('#sprice').text(price);
        $('#scategory').text(cat);
        $('#slength').text(length);
        $('#selected').slideDown();
        }
        $.ajax({
            url: '../cart.php',
            type: 'POST',
            data: { pid:pid, 
            length:length, 
            Qty:Qty, 
            Category:Category },
            dataType:json,
            success: function(data)
            {
                if(data.response=='failed')
                {
                    alert('error');
                }
                else if(data.response=='success')
                {
                    alert('success');
                    //location.reload();  
                }
                else if(data.response == 'already_in_database') 
                {
                    alert('Already exists in database');
                }   
            },
            error: function()
            {
                alert('error');
            }
        });
    });
  });

Cart.php

if (isset($_POST['pid']) && isset($_POST['length']) && isset($_POST['Qty']) && isset($_POST['Category']))
{
    $pid = $_POST['pid'];
    $length = $_POST['length'];
    $qty = $_POST['Qty'];
    $Category = $_POST['Category'];
    $wasFound = false;

    dbconnect();
    $statement = $conn->prepare("SELECT * FROM Category ct, Itemised_Product ip, Product pd
                         WHERE ct.CatID = ? AND ip.ItemID = ? AND pd.Sef = ?
                         ");
    $statement->execute(array($Category, $length, $pid));
    $result=array();
    if (!$statement->fetch())
    {
        $result['response'] = 'already_in_database';
        echo jsone_encode($result);
        die();
    }

    $i = 0;
    // If the cart session variable is not set or cart array is empty
    if (!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1)
    {
        // RUN IF THE CART IS EMPTY OR NOT SET
        $_SESSION["cart_array"] = array(0 => array("item_id" => $pid, "length" => $length, "Category" => $Category, "quantity" => $qty));
    }
    else
    {
        // RUN IF THE CART HAS AT LEAST ONE ITEM IN IT
        foreach ($_SESSION["cart_array"]as $array_key => $each_item)
        {
            if ($each_item['item_id'] == $pid && $each_item['length'] == $length && $each_item['Category'] == $Category)
            {
                $_SESSION["cart_array"][$array_key]['quantity']+=$qty;
                $wasFound = true;
            }
        }
        if ($wasFound == false)
        {
            array_push($_SESSION["cart_array"], array("item_id" => $pid, "length" => $length, "Category" => $Category, "quantity" => $qty));
        }
    }
    header('Location: ' . fetchinline($bpages) . $currentFile);
    exit();
}
于 2013-08-09T15:49:26.490 に答える