Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Jquery与数据库进行验证_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Php 使用Jquery与数据库进行验证

Php 使用Jquery与数据库进行验证,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我对jquery相当陌生,但我想知道它们是否是一种使用下面的jquery运行mysql的方法 在我的cart.php中,我有一个查询,检查数据库中是否有发布的内容,如果没有,则不会添加该项目 在my view.php页面中,下面的jquery和隐藏div位于其中。当你点击添加按钮时,隐藏的div会显示你添加的内容 <button type="submit" name="submit" class="show_hide" id="button" name="submit">Add<

我对
jquery
相当陌生,但我想知道它们是否是一种使用下面的jquery运行
mysql
的方法

在我的
cart.php
中,我有一个
查询
,检查数据库中是否有发布的内容,如果没有,则不会添加该项目

在my view.php页面中,下面的
jquery
隐藏div
位于其中。当你点击
添加按钮时,隐藏的div会显示你添加的内容

<button type="submit" name="submit" class="show_hide" id="button" name="submit">Add</button>
隐藏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>
我用它来检查数据库中是否存在发布的内容。这与我希望在jquery中运行的查询大致相同,以检查
var
是否存在,如果不存在,
url:./cart.php
不应运行

更新以显示my 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();
}
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(“从类别ct、分项产品ip、产品pd中选择*)
其中ct.CatID=?和ip.ItemID=?以及pd.Sef=?
");
$statement->execute(数组($Category,$length,$pid));
如果(!$statement->fetch()){
退出();
}
$i=0;
//如果未设置购物车会话变量或购物车数组为空
如果(!isset($_会话[“cart_数组])|计数($_会话[“cart_数组])<1){
//如果购物车为空或未设置,则运行
$\会话[“购物车数组”]=数组(0=>数组(“项目id=>$pid,“长度”=>$length,“类别”=>$Category,“数量”=>$qty));
}否则{
//如果购物车中至少有一个项目,则运行
foreach($_会话[“购物车数组”]作为$array\u key=>$each\u项){
如果($each_item['item_id']=$pid&&$each_item['length']=$length&&$each_item['Category']=$Category){
$\u会话[“购物车数组”][$array\u key]['quantity']+=$quantity;
$wasFound=true;
} 
} 
如果($wasFound==false){
数组推送($\会话[“购物车数组”],数组(“项目id=>$pid,“长度”=>$length,“类别”=>$Category,“数量”=>$qty));
}
}
标头('Location:'.fetchinline($bpages)。$currentFile);
退出();
}
我的问题 在购物车页面中,我有一个查询,它检查用户是否检查了发布的内容。我想对上面的jquery执行同样的操作,如果用户
拥有
我想停止,我想停止显示
隐藏的div


我希望我已经解释给你听了。谢谢您抽出时间。

我不确定是否完全理解您的问题。是:

  • 按“添加”按钮
  • 检查产品是否存在的AJAX请求
  • 如果是,则显示隐藏的div
  • 按“添加”按钮
  • 用更多信息显示隐藏字段
  • 将产品添加到购物车
  • 无论如何,在上述两种情况下,您都可以对服务器执行AJAX请求,并检查产品是否存在。如果您查看$.ajax success函数,那么“数据”实际上是来自服务器的响应,您可以包含任何需要的内容,并使用javascript/jquery处理数据。

    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();
    }
    
    if(isset($\u POST['pid'])和&isset($\u POST['length'])和&isset($\u POST['Qty'])和&isset($\u POST['Category']))
    {
    $pid=$_POST['pid'];
    $length=$_POST['length'];
    $qty=$_POST['qty'];
    $Category=$_POST['Category'];
    $wasFound=false;
    dbconnect();
    $statement=$conn->prepare(“从类别ct、分项产品ip、产品pd中选择*)
    其中ct.CatID=?和ip.ItemID=?以及pd.Sef=?
    ");
    $statement->execute(数组($Category,$length,$pid));
    $result=array();
    如果(!$statement->fetch())
    {
    $result['response']='ready_in_database';
    echo jsone_编码($result);
    模具();
    }
    $i=0;
    //如果未设置购物车会话变量或购物车数组为空
    如果(!isset($_会话[“购物车阵列”])| |计数($_会话[“购物车阵列”])<1)
    {
    //如果购物车为空或未设置,则运行
    $\会话[“购物车数组”]=数组(0=>数组(“项目id=>$pid,“长度”=>$length,“类别”=>$Category,“数量”=>$qty));
    }
    其他的
    {
    //如果购物车中至少有一个项目,则运行
    foreach($\会话[“购物车数组”]作为$array\u key=>$each\u项)
    {
    如果($each_item['item_id']=$pid&&$each_item['length']=$length&&$each_item['Category']=$Category)
    {
    $\u会话[“购物车数组”][$array\u key]['quantity']+=$quantity;
    $wasFound=true;
    }
    }
    如果($wasFound==false)
    {
    数组推送($\会话[“购物车数组”],数组(“项目id=>$pid,“长度”=>$length,“类别”=>$Category,“数量”=>$qty));
    }
    }
    标头('Location:'.fetchinline($bpages)。$currentFile);
    退出();
    }
    
    第一个。另外,我已经在我的查询中使用了
    url
    。正如你可以看到的那样,添加商品购物车,但是在我运行
    url
    之前,我想运行另一个
    url
    检查,如果检查有效,那么jquery的其余部分将运行,如果无效,jquery的其余部分将不运行。我将删除位置。reload()在AJAX内部,处理来自服务器的响应,如果响应允许我显示div,那么您可以执行$(“#selected”).slideDown();我喜欢一次使用一个请求,这样可以使它更简单,并且不会不必要地重载服务器。
    location.reload()
    重新加载页面以显示购物车中的商品数量。您是在购物车还是在产品页面中
        $(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');
                }
            });
        });
      });
    
    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();
    }