Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.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/87.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循环创建div时动态创建div_Php_Jquery - Fatal编程技术网

在php循环创建div时动态创建div

在php循环创建div时动态创建div,php,jquery,Php,Jquery,我是jquery新手,遇到问题需要帮助 我有一个sql查询,它检索ID并将它们放入数组中。我有一个循环,用php为数组中的每个id创建一个div。很好 另一方面,我有一个javascript函数,它对相同的数组执行相同的操作,并在使用上述函数创建的div中创建div,所有这些都在jquery中 第一个显示id为的用户的图片。 javascript一个用id显示用户的名称 问题是jquery函数只创建了一个div,其中包含在php循环中创建的第一个div中的所有名称 我希望两者同时被创建。我尽了我

我是jquery新手,遇到问题需要帮助

我有一个sql查询,它检索ID并将它们放入数组中。我有一个循环,用php为数组中的每个id创建一个div。很好

另一方面,我有一个javascript函数,它对相同的数组执行相同的操作,并在使用上述函数创建的div中创建div,所有这些都在jquery中

第一个显示id为的用户的图片。 javascript一个用id显示用户的名称

问题是jquery函数只创建了一个div,其中包含在php循环中创建的第一个div中的所有名称

我希望两者同时被创建。我尽了我所知的一切,但都没有得到

请帮忙

代码如下:

$receivers是包含ID的数组。 $totalreceivers是ID的计数

function showfbnames() {

var receivers = <? echo $receivers; ?>;

var count = <? echo $totalreceivers; ?>;

for (var i = 0; i < count; i++) {

var temparray = ["<?php echo join("\", \"", $receivers); ?>"];

FB.api(
        {
            method: 'fql.query',
            query: 'SELECT name FROM user WHERE uid='+temparray[i] 
        },
        function(resp) {
            $.each(resp, function(k,v) {

            $("#divfather").append("<div class='tit' id ='fbname'>"+(v.name)+"</div>");
            //$("#fbname").html(v.name);

             })
        }
    );
    }
 }
创建div的php循环:

<?for ($i = 0; $i < $totalreceivers; $i++) {?>
                <script>showfbnames()</script>
            <tr><td>
<div style="width:100%; height:150px;overflow:auto;border-top:1px solid #c89cc1;border-bottom:1px solid #c89cc1;" id="divfather">
<? echo "<img src='https://graph.facebook.com/$receivers[$i]/picture' width='40' style='float:left'/>";?>


                    </div>
                </td>
            </tr>
            <? }    ?>

循环创建了多个id为divfather的div

这不会产生你想要的结果。您需要每个div具有不同的id

id=div父

另外,将id传递给showfbnames函数:

显示姓名

以便您可以在jquery代码中使用它:

函数showfbnamespassedi{

然后是$divfather+passedi.append


注意:为了安全起见,我建议您移动显示在div之后。您不必这样做,但这太危险了。

我收回我以前的答案;请选择此答案作为可接受的解决方案

我相信这就是你想要实现的目标:

<? for ($i = 0; $i < $totalreceivers; $i++) { ?>
    <tr><td>
        <div style="width:100%; height:150px;overflow:auto;border-top:1px solid #c89cc1;border-bottom:1px solid #c89cc1;" id="divfather<? echo $i; ?>">
    <? echo "<img src='https://graph.facebook.com/$receivers[$i]/picture' width='40' style='float:left'/>"; ?>
        </div>
    </td></tr>
<? } ?>

<script type="text/javascript">

var count = <? echo $totalreceivers; ?>;

var temparray = ["<?php echo join("\", \"", $receivers); ?>"];

for (var i = 0; i < count; i++) {

    FB.api(
        {
            method: 'fql.query',
            query: 'SELECT name FROM user WHERE uid='+temparray[i] 
        },
        function(resp) {
            $.each(resp, function(k,v) {

            $("#divfather"+i).append("<div class='tit' id ='fbname"+i+"'>"+(v.name)+"</div>");
            //$("#fbname").html(v.name);

             })
        }
    );
}
</script>

你好,朗,首先谢谢你的回复。我尝试了你写的代码。但它不起作用!!现在它在显示函数名称之前什么都没有显示!!!!!!!!