Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.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 如何使用$。每个函数接收两位数而不是一位数_Php_Mysql_Jquery - Fatal编程技术网

Php 如何使用$。每个函数接收两位数而不是一位数

Php 如何使用$。每个函数接收两位数而不是一位数,php,mysql,jquery,Php,Mysql,Jquery,我已经解决了从mysql接收数据的问题,它们将以(23,34,65,67…等)的形式出现,但出现了一个新问题,使用$。each()函数,我只接收单位数,如2,3,3,4,而不是23,34…等,如何使用$。each()函数在双位数上切片数据 $("#add").click(function() { $.ajax({ type: "POST", url: "ajax.php", data: "buttons="+ tab_of_button,

我已经解决了从mysql接收数据的问题,它们将以(23,34,65,67…等)的形式出现,但出现了一个新问题,使用$。each()函数,我只接收单位数,如2,3,3,4,而不是23,34…等,如何使用$。each()函数在双位数上切片数据

$("#add").click(function()
{
    $.ajax({
        type: "POST",
        url: "ajax.php",
        data: "buttons="+ tab_of_button,
        success: function(){
            $('div.success').fadeIn();

            $.get("sendback.php",function(data)
            {

                 $.each(data, function(index, value)
                 {
                     alert(value);

                 });
            });
        }
    });
    return false;
}
sendback.php

<?php

$ask = mysql_query("SELECT numbers FROM buttons");
if(!$ask)
{
    die('Incorrect ask'.mysql_error());
}
else{
    while ($row = mysql_fetch_assoc($ask)) 
    {

        $tab[] = $row['number'];
        foreach($tab as $buttons)
        {
            echo $buttons;

        }

    }
    mysql_free_result($ask);

}
?>

html

<html>
<body>
.
.
.
<ul id="_button">
<li id="01" >01</li>
<li id="02" >02</li>
<li id="03" >03</li>
<li id="04" >04</li>
<li id="05" >05</li>
<li id="06" >06</li>
.
.
.
<li id="40" >40</li>
</ul>
</body>
</html>

.
.
.
  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • . . .
  • 40

看起来您没有使用从ajax调用返回的数据,因为参数名在引号中。您可以尝试更改此选项:

$('#_button').children().each(function() {
    $(this).find('data').css("background","grey");
    $(this).find('data').attr("disabled",true); 
});
为此:

$('#_button').children().each(function() {
    $(this).find(data).css("background","grey");
    $(this).find(data).attr("disabled",true); 
});

看起来您没有使用从ajax调用返回的数据,因为参数名在引号中。您可以尝试更改此选项:

$('#_button').children().each(function() {
    $(this).find('data').css("background","grey");
    $(this).find('data').attr("disabled",true); 
});
为此:

$('#_button').children().each(function() {
    $(this).find(data).css("background","grey");
    $(this).find(data).attr("disabled",true); 
});

您应该修复php文件的输出。如果这给了您一个字符串(数字),那么您在客户机上唯一能做的就是单独解析每个字符,或者将字符串作为一个整体进行解析

这将为您提供一个json数组,因此您可以获取客户端上的每个元素

$tab = array();
while ($row = mysql_fetch_assoc($ask)) 
{

    $tab[] = $row['number'];
}
echo json_encode($tab);

您应该修复php文件的输出。如果这给了您一个字符串(数字),那么您在客户机上唯一能做的就是单独解析每个字符,或者将字符串作为一个整体进行解析

这将为您提供一个json数组,因此您可以获取客户端上的每个元素

$tab = array();
while ($row = mysql_fetch_assoc($ask)) 
{

    $tab[] = $row['number'];
}
echo json_encode($tab);

接收数据的东西是字符串,所以,使用parseInt将数据更改为数字,在我使用$each函数但只获得数组的第一个索引后,更改的代码如下,可能我做错了什么

$.post('sendback.php', function(data) 
                    {

                  var arr;
                  var number;

                  arr = jQuery.parseJSON(data);
                  $.each(arr, function(key, value) 
                 {

                     number = parseInt(value);
                     $("#_button li").eq((number)-1).css("background","grey");


                  });
                });

接收数据的东西是字符串,所以,使用parseInt将数据更改为数字,在我使用$each函数但只获得数组的第一个索引后,更改的代码如下,可能我做错了什么

$.post('sendback.php', function(data) 
                    {

                  var arr;
                  var number;

                  arr = jQuery.parseJSON(data);
                  $.each(arr, function(key, value) 
                 {

                     number = parseInt(value);
                     $("#_button li").eq((number)-1).css("background","grey");


                  });
                });

对于现在的工作,我收到的数据是[“23”,“34”,“等等],但现在必须对这些数据进行切片,我使用$.getJSON函数获取数据,并使用splite函数对循环中的数组进行切片$每个函数,使用alert我应该按顺序获取数字,但函数不显示任何内容,有什么解决方案吗?为什么需要对数据进行切片?您可以简单地使用
$。每个(数据、函数(ix、值){alert(value)})
循环数据中的项目。我使用此切片数据禁用具有指定ID(数据中的数字)的按钮。
$(“###u按钮li”).eq((值)-1.css(“背景”、“灰色”)$(“###u按钮li”).eq((值)-1.attr(“禁用”,true)$(“##u按钮li”).eq((值)-1.unbind()
您只需使用
$.each()
即可实现这一点。只需使用您的代码,而不是我之前评论中的警告。这将起作用(),除非您有一个从php函数返回的更复杂的结构。我认为接收数据是字符串,所以,使用parseInt将数据更改为数字,在我使用$each函数但只获得数组的第一个索引后,更改的代码在上面,可能我做错了什么?就目前的工作而言,我接收的数据为[“23”,“34”,等等),但现在必须切片此数据,我使用$.getJSON函数获取数据,并使用splite函数切片循环中的数组$每个函数,通过使用alert,我应该按顺序获取数字,但函数不显示任何内容,有什么解决方案吗?为什么需要切片数据?您可以简单地使用
$。每个(数据、函数(ix、值){alert(value)})
循环数据中的项目。我使用此切片数据禁用具有指定ID(数据中的数字)的按钮。
$(“###u按钮li”).eq((值)-1.css(“背景”、“灰色”)$(“###u按钮li”).eq((值)-1.attr(“禁用”,true)$(“##u按钮li”).eq((值)-1.unbind()
您只需使用
$.each()
即可实现这一点。只需使用您的代码,而不是我之前评论中的警告。这将起作用(),除非您有一个从php函数返回的更复杂的结构。我认为接收数据是字符串,所以,使用parseInt将数据更改为数字,在我使用$each函数但只获取数组的第一个索引后,更改的代码在上面,可能我做错了什么?