Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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 使用SQL查询的Ajax忽略提交表单中的空白字段_Php_Jquery_Sql_Ajax - Fatal编程技术网

Php 使用SQL查询的Ajax忽略提交表单中的空白字段

Php 使用SQL查询的Ajax忽略提交表单中的空白字段,php,jquery,sql,ajax,Php,Jquery,Sql,Ajax,我想使用AJAX将表单中的数据发送到我的php页面,该页面将查询数据库并返回html表,以便用请求的数据刷新主页 所有这些都将“实时”完成:当您完成表单中的字段时,所有数据都将刷新。因此,我将有一个AJAX请求和一个新的SQL请求,并将返回新的数据 问题:如何在php文件中忽略我的请求中的空白字段? 我的SQL请求代码(我知道如何执行AJAX+返回HTML): 带有输入字段的HTML: <div class="container"> <div class="ro

我想使用AJAX将表单中的数据发送到我的php页面,该页面将查询数据库并返回html表,以便用请求的数据刷新主页

所有这些都将“实时”完成:当您完成表单中的字段时,所有数据都将刷新。因此,我将有一个AJAX请求和一个新的SQL请求,并将返回新的数据

问题:如何在php文件中忽略我的请求中的空白字段?

我的SQL请求代码(我知道如何执行AJAX+返回HTML):

带有输入字段的HTML:

<div class="container">
        <div class="row text-center">
    <div class="col-md-3 form-group">
                <label>Ville de chargement</label>
                <input type="text" class="form-control collectes-ville text-center" name="rechercheVilleChargement" placeholder="Chargement" id="rechercheVilleChargement">
                <label>Ville de livraison</label>
                <input type="text" class="form-control collectes-ville text-center" name="rechercheVilleLivraison" placeholder="Livraison" id ="rechercheVilleLivraison">
    </div>
            <div class="col-md-1 form-group">
            </div>
            <div class="col-md-1 form-group">
                <label>Chargement mini</label>
                <input type="text" id="debutChargementMini" class="form-control collectes-date-chargement-min text-center" name="debutChargementMini" placeholder="Date début" value="">
                <label><-></label>
                <input type="text" id="finChargementMini" class="form-control collectes-date-chargement-min text-center" name="finChargementMini" placeholder="Date fin" value=""> 
            </div>
            <div class="col-md-1 form-group">
                <label>Chargement réel</label>
                <input type="text" id="debutChargementReel" class="form-control collectes-date-chargement-min text-center" name="debutChargementReel" placeholder="Date début" value="">
                <label><-></label>
                <input type="text" id="finChargementReel" class="form-control collectes-date-chargement-min text-center" name="finChargementReel" placeholder="Date fin" value=""> 
            </div>
            <div class="col-md-1 form-group">
                <label>Livraison maxi</label>
                <input type="text" id="debutLivraisonMax" class="form-control collectes-date-chargement-min text-center" name="debutLivraisonMax" placeholder="Date début" value="">
                <label><-></label>
                <input type="text" id="finLivraisonMax" class="form-control collectes-date-chargement-min text-center" name="finLivraisonMax" placeholder="Date fin" value=""> 
            </div>
            <div class="col-md-1 form-group">
                <label>Livraison réelle</label>
                <input type="text" id="debutLivraisonReelle" class="form-control collectes-date-chargement-min text-center" name="debutLivraisonReelle" placeholder="Date début" value="">
                <label><-></label>
                <input type="text" id="finLivraisonReelle" class="form-control collectes-date-chargement-min text-center" name="finLivraisonReelle" placeholder="Date fin" value=""> 
            </div>
            <div class="col-md-1 form-group">
            </div>
            <div class="col-md-1 form-group">
                <label>N° de commande</label>
                <input type="text" class="form-control collectes-ville text-center" id="numeroCommande" name="numeroCommande" placeholder="N° Commande">
                <label>Numéro d'OT</label>
                <input type="text" class="form-control collectes-ville text-center" id="numeroOT" name="numeroOT" placeholder="Numero OT">
    </div>
            <div class="col-md-2 form-group">
                <label>Statut</label>
                <input type="text" class="form-control collectes-ville text-center" id="statut" name="statut" placeholder="Statut">
                <label>Transporteur</label>
                <input type="text" class="form-control collectes-ville text-center" id="transporteur" name="transporteur" placeholder="Transporteur">
    </div>
        </div>
</div>

我是一个初学者,如果你认为我将要做的是一个坏主意,我愿意接受所有想法。

有点老套的回答,但你可能会发现它很有帮助,我的想法是: 只需检查js中的空值,如果其中一个是空的,则将其替换为任何字符(%mysql中)的符号,然后将查询中的all=:替换为“like”


然后,查询将返回非空字段的所有结果,但如果某些字段为空,它将接受这些字段的任何值。您没有指定,但我假设所有字段都不是空的

那么ajax和表单在哪里?//是的,但是……如果字段为空???”—那么,使用三元运算符?或者用
强制它们!empty()
?好的,如果我强制使用!empty(),用户有权让此字段为空。假设他只是想通过villeChargement搜索,而不是其他任何东西,那么我怎么能提出请求呢?如果你想让他们选择将其保留为空,那么再次。。。使用三元运算符。在JS或PHP中(这并不重要,因为数据是从一个向另一个发送的),如果字段为空,我应该使用三元运算符给出一个值,如果字段为满,则使用另一个值。好的,但是,在SQL请求中,我将如何使用并仅使用填充的字段发出请求?我应该做一个条件线的集合吗?你是对的。所有字段都不是空的,因为每个字段上的javascript事件都在更改中。所以,必须将一个字段从空改为某物才能触发事件。这是我在那篇文章中得到的最好的解决方案。非常感谢。但是,我将使用上面给出的链接解决方案。我只是不知道您可以使用“WHERE 1”进行sql查询,这意味着mysql的“一切都是真的”。再次感谢。
<div class="container">
        <div class="row text-center">
    <div class="col-md-3 form-group">
                <label>Ville de chargement</label>
                <input type="text" class="form-control collectes-ville text-center" name="rechercheVilleChargement" placeholder="Chargement" id="rechercheVilleChargement">
                <label>Ville de livraison</label>
                <input type="text" class="form-control collectes-ville text-center" name="rechercheVilleLivraison" placeholder="Livraison" id ="rechercheVilleLivraison">
    </div>
            <div class="col-md-1 form-group">
            </div>
            <div class="col-md-1 form-group">
                <label>Chargement mini</label>
                <input type="text" id="debutChargementMini" class="form-control collectes-date-chargement-min text-center" name="debutChargementMini" placeholder="Date début" value="">
                <label><-></label>
                <input type="text" id="finChargementMini" class="form-control collectes-date-chargement-min text-center" name="finChargementMini" placeholder="Date fin" value=""> 
            </div>
            <div class="col-md-1 form-group">
                <label>Chargement réel</label>
                <input type="text" id="debutChargementReel" class="form-control collectes-date-chargement-min text-center" name="debutChargementReel" placeholder="Date début" value="">
                <label><-></label>
                <input type="text" id="finChargementReel" class="form-control collectes-date-chargement-min text-center" name="finChargementReel" placeholder="Date fin" value=""> 
            </div>
            <div class="col-md-1 form-group">
                <label>Livraison maxi</label>
                <input type="text" id="debutLivraisonMax" class="form-control collectes-date-chargement-min text-center" name="debutLivraisonMax" placeholder="Date début" value="">
                <label><-></label>
                <input type="text" id="finLivraisonMax" class="form-control collectes-date-chargement-min text-center" name="finLivraisonMax" placeholder="Date fin" value=""> 
            </div>
            <div class="col-md-1 form-group">
                <label>Livraison réelle</label>
                <input type="text" id="debutLivraisonReelle" class="form-control collectes-date-chargement-min text-center" name="debutLivraisonReelle" placeholder="Date début" value="">
                <label><-></label>
                <input type="text" id="finLivraisonReelle" class="form-control collectes-date-chargement-min text-center" name="finLivraisonReelle" placeholder="Date fin" value=""> 
            </div>
            <div class="col-md-1 form-group">
            </div>
            <div class="col-md-1 form-group">
                <label>N° de commande</label>
                <input type="text" class="form-control collectes-ville text-center" id="numeroCommande" name="numeroCommande" placeholder="N° Commande">
                <label>Numéro d'OT</label>
                <input type="text" class="form-control collectes-ville text-center" id="numeroOT" name="numeroOT" placeholder="Numero OT">
    </div>
            <div class="col-md-2 form-group">
                <label>Statut</label>
                <input type="text" class="form-control collectes-ville text-center" id="statut" name="statut" placeholder="Statut">
                <label>Transporteur</label>
                <input type="text" class="form-control collectes-ville text-center" id="transporteur" name="transporteur" placeholder="Transporteur">
    </div>
        </div>
</div>
$(document).ready(function() {
  $('#sort').change(function(){
      var valeur = $('#sort option:selected').text();
      $.ajax({
        url: 'MODEL/ajaxSearchThirds.php',
        type: 'post',
        dataType: 'json',
        data: data, //All the fields data
        success: function(data) {
                   $('tbody').html(data.table);
        }
      });
  })