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/JQUERY:1个查询,N个JSON字符串,多选择循环_Php_Jquery_Json - Fatal编程技术网

PHP/JQUERY:1个查询,N个JSON字符串,多选择循环

PHP/JQUERY:1个查询,N个JSON字符串,多选择循环,php,jquery,json,Php,Jquery,Json,大家早上好。我有一个执行jquery.post的页面,返回到PHP页面,在该页面中对MySQL数据库执行查询,结果以JSON格式返回。根据查询输出,可能返回多个JSON字符串。JSON输出的一个“字段”(AppParentHcyRSYear)应该用于选择multiselect中的所有返回值,但我无法让它工作 让我展示一些JSON输出,以及我到目前为止所做的尝试(为了达到这样的目的而缩短) 多选(PHP): addapp\u processajax.php if(isset($_POST['QNU

大家早上好。我有一个执行jquery.post的页面,返回到PHP页面,在该页面中对MySQL数据库执行查询,结果以JSON格式返回。根据查询输出,可能返回多个JSON字符串。JSON输出的一个“字段”(AppParentHcyRSYear)应该用于选择multiselect中的所有返回值,但我无法让它工作

让我展示一些JSON输出,以及我到目前为止所做的尝试(为了达到这样的目的而缩短)

多选(PHP):

addapp\u processajax.php

if(isset($_POST['QNUM'])) {
    $qnum = $_POST['QNUM'];

    if ($qnum == 1) {
        $getretquery = "SELECT a.parentID, concat(a.parentFName, ' ', a.parentLName) as ParentName, a.parentDOB, a.parentPriPhone from tblParents a";
    } elseif ($qnum == 2) {
        $getretquery = "SELECT a.parentID, concat(a.parentFName, ' ', a.parentLName) as ParentName, b.childID, concat(b.childFName, ' ', b.childLName) as ChildName, a.parentDOB, b.childDOB, a.parentPriPhone from tblParents a, tblChildren b where a.parentID = b.childParentID";
    } elseif ($qnum == 3) {
        $getretquery = "SELECT a.childID, concat(a.childFName, ' ', a.childLName) as ChildName, a.childDOB from tblChildren a";
    }
    $getretqueryresults = $mysqli->query($getretquery);
    while ($row1 = $getretqueryresults->fetch_object()) {
        $rows1[] = $row1;
    }

    $ret1 = json_encode($rows1);
    print json_encode($rows1);
}
结束编辑

JSON输出示例:

[{"appID":"2","appParentFName":"Anita","appParentLName":"Smith","appParentGender":"1","appParentDOB":"1976-04-21","appParentAddr1":"123 Main St","appParentAddr2":"","appParentCity":"Anytown","appParentZip":"12345","appParentPriPhone":"813-555-1212","appParentPriPhoneType":"2","appParentAltPhone":"","appParentAltPhoneType":"0","appParentTextable":"1","appParentEmail":"asmith@mymail.com","appParentPriLang":"34","appparentaltlangsLangID":"130","appParentHispYN":"1","appParentHispNationality":"18","appParentRace":"2","appParentHLEC":"7","appParentLastGradeComp":"12","appParentPriSecEducStatus":"1","appParentCollegeEnrolled":"0","appParentHigherEducTrainingStatus":"0","appParentRelToChild":"1","appParentLivesWith":"2","appParentMaritalStatus":"1","appParentSpouseName":"Bob","appParentNumChildrenEnrolled":"2","appparenthcacyrsYear":"1","appparenthcaclangsLang":"3","appParentOccupation":"1","appParentEmploymentStatus":"2"},
 {"appID":"2","appParentFName":"Anita","appParentLName":"Smith","appParentGender":"1","appParentDOB":"1976-04-21","appParentAddr1":"123 Main St","appParentAddr2":"","appParentCity":"Anytown","appParentZip":"12345","appParentPriPhone":"813-555-1212","appParentPriPhoneType":"2","appParentAltPhone":"","appParentAltPhoneType":"0","appParentTextable":"1","appParentEmail":"asmith@mymail.com","appParentPriLang":"34","appparentaltlangsLangID":"130","appParentHispYN":"1","appParentHispNationality":"18","appParentRace":"2","appParentHLEC":"7","appParentLastGradeComp":"12","appParentPriSecEducStatus":"1","appParentCollegeEnrolled":"0","appParentHigherEducTrainingStatus":"0","appParentRelToChild":"1","appParentLivesWith":"2","appParentMaritalStatus":"1","appParentSpouseName":"Bob","appParentNumChildrenEnrolled":"2","appparenthcacyrsYear":"3","appparenthcaclangsLang":"3","appParentOccupation":"1","appParentEmploymentStatus":"2"}]
代码失败#1:

var-oPHCACYrs=new-Array();

对于(i=0;i使用
$。每个
用于集合上的循环。选中

<select name="appParentHCACYrs[]" id="ParentHCACYrs" multiple="multiple" size="3">
    <option value="1">Year 1</option>
    <option value="2">Year 2</option>
    <option value="3">Year 3</option>
</select>

谢谢!我没有像上面那样做,但是“$.each”的提醒让我朝着正确的方向前进,这正是我所需要的!)
if(isset($_POST['QNUM'])) {
    $qnum = $_POST['QNUM'];

    if ($qnum == 1) {
        $getretquery = "SELECT a.parentID, concat(a.parentFName, ' ', a.parentLName) as ParentName, a.parentDOB, a.parentPriPhone from tblParents a";
    } elseif ($qnum == 2) {
        $getretquery = "SELECT a.parentID, concat(a.parentFName, ' ', a.parentLName) as ParentName, b.childID, concat(b.childFName, ' ', b.childLName) as ChildName, a.parentDOB, b.childDOB, a.parentPriPhone from tblParents a, tblChildren b where a.parentID = b.childParentID";
    } elseif ($qnum == 3) {
        $getretquery = "SELECT a.childID, concat(a.childFName, ' ', a.childLName) as ChildName, a.childDOB from tblChildren a";
    }
    $getretqueryresults = $mysqli->query($getretquery);
    while ($row1 = $getretqueryresults->fetch_object()) {
        $rows1[] = $row1;
    }

    $ret1 = json_encode($rows1);
    print json_encode($rows1);
}
[{"appID":"2","appParentFName":"Anita","appParentLName":"Smith","appParentGender":"1","appParentDOB":"1976-04-21","appParentAddr1":"123 Main St","appParentAddr2":"","appParentCity":"Anytown","appParentZip":"12345","appParentPriPhone":"813-555-1212","appParentPriPhoneType":"2","appParentAltPhone":"","appParentAltPhoneType":"0","appParentTextable":"1","appParentEmail":"asmith@mymail.com","appParentPriLang":"34","appparentaltlangsLangID":"130","appParentHispYN":"1","appParentHispNationality":"18","appParentRace":"2","appParentHLEC":"7","appParentLastGradeComp":"12","appParentPriSecEducStatus":"1","appParentCollegeEnrolled":"0","appParentHigherEducTrainingStatus":"0","appParentRelToChild":"1","appParentLivesWith":"2","appParentMaritalStatus":"1","appParentSpouseName":"Bob","appParentNumChildrenEnrolled":"2","appparenthcacyrsYear":"1","appparenthcaclangsLang":"3","appParentOccupation":"1","appParentEmploymentStatus":"2"},
 {"appID":"2","appParentFName":"Anita","appParentLName":"Smith","appParentGender":"1","appParentDOB":"1976-04-21","appParentAddr1":"123 Main St","appParentAddr2":"","appParentCity":"Anytown","appParentZip":"12345","appParentPriPhone":"813-555-1212","appParentPriPhoneType":"2","appParentAltPhone":"","appParentAltPhoneType":"0","appParentTextable":"1","appParentEmail":"asmith@mymail.com","appParentPriLang":"34","appparentaltlangsLangID":"130","appParentHispYN":"1","appParentHispNationality":"18","appParentRace":"2","appParentHLEC":"7","appParentLastGradeComp":"12","appParentPriSecEducStatus":"1","appParentCollegeEnrolled":"0","appParentHigherEducTrainingStatus":"0","appParentRelToChild":"1","appParentLivesWith":"2","appParentMaritalStatus":"1","appParentSpouseName":"Bob","appParentNumChildrenEnrolled":"2","appparenthcacyrsYear":"3","appparenthcaclangsLang":"3","appParentOccupation":"1","appParentEmploymentStatus":"2"}]
var oPHCACYrs = new Array();
for (i = 0; i <= obj3.length; i++) {
    if (!(typeof obj3[i].appparenthcacyrsYear === 'undefined')) {
        oPHCACYrs.push(obj3[i].appparenthcacyrsYear);
    }
}
    ...
$('#ParentHCACYrs').val(vals);
var oPHCACYrs = new Array();
for (b = 0; b <= obj3.length; b++) {
    if (!(typeof obj3[b].appparenthcacyrsYear === 'undefined')) {
        oPHCACYrs[oPHCACYrs.length] = obj3[b].appparenthcacyrsYear;
    }
}
...
for (e = 0; e <= oPHCACYrs.length; e++) {
    $("#ParentHCACYrs option[value='" + oPHCACYrs[e] + "']").attr("selected", 1);
    $("#ParentHCACYrs").multiselect("refresh");
}
<select name="appParentHCACYrs[]" id="ParentHCACYrs" multiple="multiple" size="3">
    <option value="1">Year 1</option>
    <option value="2">Year 2</option>
    <option value="3">Year 3</option>
</select>
    var jsonArray = [{"appID": "2", "appParentFName": "Anita", "appParentLName": "Smith", "appParentGender": "1", "appParentDOB": "1976-04-21", "appParentAddr1": "123 Main St", "appParentAddr2": "", "appParentCity": "Anytown", "appParentZip": "12345", "appParentPriPhone": "813-555-1212", "appParentPriPhoneType": "2", "appParentAltPhone": "", "appParentAltPhoneType": "0", "appParentTextable": "1", "appParentEmail": "asmith@mymail.com", "appParentPriLang": "34", "appparentaltlangsLangID": "130", "appParentHispYN": "1", "appParentHispNationality": "18", "appParentRace": "2", "appParentHLEC": "7", "appParentLastGradeComp": "12", "appParentPriSecEducStatus": "1", "appParentCollegeEnrolled": "0", "appParentHigherEducTrainingStatus": "0", "appParentRelToChild": "1", "appParentLivesWith": "2", "appParentMaritalStatus": "1", "appParentSpouseName": "Bob", "appParentNumChildrenEnrolled": "2", "appparenthcacyrsYear": "1", "appparenthcaclangsLang": "3", "appParentOccupation": "1", "appParentEmploymentStatus": "2"},
        {"appID": "2", "appParentFName": "Anita", "appParentLName": "Smith", "appParentGender": "1", "appParentDOB": "1976-04-21", "appParentAddr1": "123 Main St", "appParentAddr2": "", "appParentCity": "Anytown", "appParentZip": "12345", "appParentPriPhone": "813-555-1212", "appParentPriPhoneType": "2", "appParentAltPhone": "", "appParentAltPhoneType": "0", "appParentTextable": "1", "appParentEmail": "asmith@mymail.com", "appParentPriLang": "34", "appparentaltlangsLangID": "130", "appParentHispYN": "1", "appParentHispNationality": "18", "appParentRace": "2", "appParentHLEC": "7", "appParentLastGradeComp": "12", "appParentPriSecEducStatus": "1", "appParentCollegeEnrolled": "0", "appParentHigherEducTrainingStatus": "0", "appParentRelToChild": "1", "appParentLivesWith": "2", "appParentMaritalStatus": "1", "appParentSpouseName": "Bob", "appParentNumChildrenEnrolled": "2", "appparenthcacyrsYear": "3", "appparenthcaclangsLang": "3", "appParentOccupation": "1", "appParentEmploymentStatus": "2"}];
    $.each(jsonArray, function(idx, obj) {
        $("#ParentHCACYrs option[value='" + obj.appparenthcacyrsYear + "']").attr("selected", 1);
    });