【问题标题】:Joining 2 variables to form a new variable连接 2 个变量以形成一个新变量
【发布时间】:2014-10-03 08:05:56
【问题描述】:

首先,我使用的是 jQuery、PHP、SQL、HTML 和 CSS。

我有一个包含 4 名成员的派对列表。当我访问我的派对详细信息页面时,我希望它使用列表视图显示 4 名成员的详细信息。

当我打开派对详细信息页面时,我向我的 PHP 发送了一个 $.post 请求,以从我的数据库中检索成员详细信息。

然后我将它们存储在 PHP 中的一个数组中并回显响应:

$row = mysqli_fetch_array($result);
$mem1 = $row["mem1"];
$mem2 = $row["mem2"];
$mem3 = $row["mem3"];
$mem4 = $row["mem4"];

$result2 = json_encode(array(
    "mem1" => $mem1, 
    "mem2" => $mem2, 
    "mem3" => $mem3, 
    "mem4" => $mem4
)); 

echo $result2;

接下来,当我回到我的 .js 文件尝试追加结果时,我只能通过调用一个成员数据来做到这一点。但我想调用其中的 4 个,所以我使用了 while 循环:

$.post("retrieveDetails.php", 
{
    teamID:teamID, // data to pass into php                     
},

function(response)
{
    console.log(response.mem1 + " " + response.mem2 + " " + response.mem3 + " " + response.mem4);

    var x = 1;
    while(x <= 4){

        // part i'm stuck at
        member = response.mem + x; 

        // if member column is not empty
        if(member != ""){ 
            $("#listview").append('<li> <img src="images/displaypic.jpg"> <h2>'+ member + '</h2> </li>').listview("refresh");
            console.log("current addee is " + member);
        }   
        x++;                                
    }                               
}, 'json'

);

member = response.mem + x; 我做错了

我的最终结果需要是member = response.mem1,在下一个循环之后它会变成member = response.mem2等等.. 但是当我通过console.log 输出它时,它返回“NaN”。

有人可以就解决方案提出建议吗?谢谢。

【问题讨论】:

    标签: javascript php jquery mysql sql


    【解决方案1】:

    你可以这样做:

    member = response["mem" + x];
    

    在 JavaScript 中,您可以使用带文字的点表示法 (obj.foo) 或带括号的字符串表示法 (obj["foo"])。在后一种情况下,字符串可以是任何表达式的结果。

    但我可能会将数据作为数组而不是作为对象发回:

    $row = mysqli_fetch_array($result);
    $mem1 = $row["mem1"];
    $mem2 = $row["mem2"];
    $mem3 = $row["mem3"];
    $mem4 = $row["mem4"];
    
    $result2 = json_encode(array($mem1,$mem2,$mem3,$mem4));
    echo $result2;
    

    然后您可以将其索引为response[x],其中x03

    【讨论】:

      【解决方案2】:

      替换

      member = response.mem + x;
      

      member = response['mem' + x];
      

      您的最终代码应如下所示,

      $.post("retrieveDetails.php", {
          teamID: teamID, // data to pass into php                     
        }, // data to pass into php
      
        function(response) {
          console.log(response.mem1 + " " + response.mem2 + " " + response.mem3 + " " + response.mem4);
      
          var x = 1, member = null;//note that, i declared member
          while (x <= 4) {
            member = response['mem' + x];
            if (member != "") { // if member column is not empty
              $("#listview").append('<li> <img src="images/displaypic.jpg"> <h2>' + member + '</h2> </li>').listview("refresh");
              console.log("current addee is " + member);
            }
            x++;
          }
        }, 'json'
      );
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-23
        • 1970-01-01
        • 2017-02-15
        • 1970-01-01
        相关资源
        最近更新 更多