javascript - Bring from a PHP file data sent by $.ajax using Json -


as need bring separate data php file, , create html piece injected jquery, i've choosen json.

i send php main file (between script tags) this:

$.ajax({datatype: "json", url:'course_generator.php', data:{co_subj_co:editedcourseid}}).done(function(newcourse){     var newcoursestructure = '<div class="tablerow dynamicrow noheight injectedrow" data-ismultisubjectvalue="'+ismultisubjectvalue+'" data-subjectsnum="'+subjectsnum+'" data-id="'+courseid+'" id="'+courseid+'" data-abbrev="'+newcourseabbrev+'" data-coursetypeid="'+newcoursetypeid+'" title="'+newcoursename+'"><div class="contentcolumn40"><span class="tablecontenttext">'+newcoursename+' ('+newcoursetypename+')</span></div><div class="contentcolumn40">'+subjectlist+'</div><div class="contentcolumn10"><div class="tableiconlink"><a href="#"><div class="editicon" data-id="'+courseid+'" title="editar '+newcoursename+'"></div></a></div></div><div class="contentcolumn10"><div class="tableiconlink"><a href="#"><div data-id="'+courseid+'" class="discontinueicon" title="discontinuar '+newcoursename+'"></div></a></div></div></div>';} 

this sends editedcourseid value. , what's inside course_generator.php is:

$courseid = $_post['co_subj_co'];  $select_co = mysql_query("select * course_conf join course_type on co_fk_ct_id=ct_id join co_rel_subj on co_subj_co='$courseid' join subject_conf on su_id=co_subj_subj co_id='$courseid'"); $result_co = mysql_fetch_array($select_co);  $newcourseid = $result_co['co_id']; $newcoursename = $result_co['co_name']; $newcourseabbrev = $result_co['co_abbrev']; $newcoursetypeid = $result_co['co_fk_ct_id']; $newcoursetypename = $result_co['ct_name']; $ismultisubjectvalue = $result_co['co_multisubject'];  $newcoursevalues = '{"newcourseid":'.$newcourseid.',"newcoursename":'.$newcoursename.',"newcourseabbrev":'.$newcourseabbrev.',"newcoursetypeid":'.$newcoursetypeid.',"newcoursetypename":'.$newcoursetypename.',"ismultisubjectvalue":'.$ismultisubjectvalue.'}'; 

i afraid im not receiving $courseid = $_post['co_subj_co'];, , neither $newcoursevalues being received on main php file newcoursestructure not generating anything. please identify several errors sure i'm making? thank you.


update:

after changing php main file to:

$.ajax({type : 'post', datatype: "json", url:'config/forms/course_conf/course_generator.php', data:{co_subj_co:editedcourseid}}).done(function(newcourse){ var courseid = newcourse.newcourseid; var newcoursename = newcourse.newcoursename; var ismultisubjectvalue = newcourse.ismultisubjectvalue; var subjectsnum = newcourse.subjectsnum; var newcourseabbrev = newcourse.newcourseabbrev; var newcoursetypeid = newcourse.newcoursetypeid; var newcoursetypename = newcourse.newcoursetypename; var newcoursestructure = '<div class="tablerow dynamicrow noheight injectedrow" data-ismultisubjectvalue="'+ismultisubjectvalue+'" data-subjectsnum="'+subjectsnum+'" data-id="'+courseid+'" id="'+courseid+'" data-abbrev="'+newcourseabbrev+'" data-coursetypeid="'+newcoursetypeid+'" title="'+newcoursename+'"><div class="contentcolumn40"><span class="tablecontenttext">'+newcoursename+' ('+newcoursetypename+')</span></div><div class="contentcolumn40">'+subjectlist+'</div><div class="contentcolumn10"><div class="tableiconlink"><a href="#"><div class="editicon" data-id="'+courseid+'" title="editar '+newcoursename+'"></div></a></div></div><div class="contentcolumn10"><div class="tableiconlink"><a href="#"><div data-id="'+courseid+'" class="discontinueicon" title="discontinuar '+newcoursename+'"></div></a></div></div></div>';} 

and course_generator.php file to:

$courseid = intval($_post['co_subj_co']); $subjectlist = ""; $data ="";  $select_co = mysql_query("select * course_conf join course_type on co_fk_ct_id=ct_id join co_rel_subj on co_subj_co='$courseid' join subject_conf on su_id=co_subj_subj co_id='$courseid'"); $result_co = mysql_fetch_array($select_co);  $outarr['newcourseid'] = $result_co['co_id']; $outarr['newcoursename'] = $result_co['co_name']; $outarr['newcourseabbrev'] = $result_co['co_abbrev']; $outarr['newcoursetypeid'] = $result_co['co_fk_ct_id']; $outarr['newcoursetypename'] = $result_co['ct_name']; $outarr['ismultisubjectvalue'] = $result_co['co_multisubject'];  $subjectsnum=mysql_num_rows(mysql_query("select * co_rel_subj co_subj_co = '$courseid'"));  $outarr['subjectsnum'] = $subjectsnum; echo json_encode($outarr); 

instead of showing html piece structured, $newcoursestructure results:

{"newcourseid":"243","newcoursename":"a","newcourseabbrev":"ae","newcoursetypeid":"1","newcoursetypename":"m\u00e1ster","ismultisubjectvalue":"1","subjectlist":" edici\u00f3n y acabado de imagen digital<\/div> ","subjectsnum":1} 

i have annotated 2 things in code:

$.ajax({     type : 'post',      datatype: "json",      url:'config/forms/course_conf/course_generator.php',     data:{         co_subj_co:editedcourseid     }})     .done(function(newcourse){         var courseid = newcourse.newcourseid;         var newcoursename = newcourse.newcoursename;         var ismultisubjectvalue = newcourse.ismultisubjectvalue;         var subjectsnum = newcourse.subjectsnum;         var newcourseabbrev = newcourse.newcourseabbrev;         var newcoursetypeid = newcourse.newcoursetypeid;         var newcoursetypename = newcourse.newcoursetypename;         var newcoursestructure = '<div class="tablerow dynamicrow noheight injectedrow"'         + ' data-ismultisubjectvalue="' + ismultisubjectvalue + '"'         + ' data-subjectsnum="' + subjectsnum + '"'         + ' data-id="' + courseid + '"'         + ' id="' + courseid + '"'         + ' data-abbrev="' + newcourseabbrev + '"'         + ' data-coursetypeid="' + newcoursetypeid + '"'         + ' title="' + newcoursename + '">'         + '<div class="contentcolumn40"><span class="tablecontenttext">'         + newcoursename + ' (' + newcoursetypename + ')</span></div>'         // subjectlist defined?         + '<div class="contentcolumn40">' + subjectlist          + '</div>'         + '<div class="contentcolumn10"><div class="tableiconlink">'         + '<a href="#"><div class="editicon" data-id="' + courseid + '"'         + ' title="editar ' + newcoursename + '"></div>'         + '</a></div></div><div class="contentcolumn10"><div class="tableiconlink">'         + '<a href="#"><div data-id="'+courseid+'" class="discontinueicon" '         + 'title="discontinuar '+newcoursename+'"></div></a></div></div></div>';     /*      * html generated, never put in dom      */     $('#idoutputwrapper').empty().html(newcoursestructure); } 

when use subjectlist json response, please notice comes closing </div> tag reason, maybe should change that, too.

btw: code formatting horrible, sorry so. can compress js before uploading server, while working on it, needs readable. edited fit better in codeblock here.


Comments

Popular posts from this blog

python 3.x - Mapping specific letters onto a list of words -

javascript - jquery or ashx not working -

inno setup - TLabel or TNewStaticText - change .Font.Style on Focus like Cursor changes with .Cursor -