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
Post a Comment