Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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 JSON Echo切换复选框和单选按钮状态_Php_Html_Mysql_Ajax_Json - Fatal编程技术网

Php JSON Echo切换复选框和单选按钮状态

Php JSON Echo切换复选框和单选按钮状态,php,html,mysql,ajax,json,Php,Html,Mysql,Ajax,Json,我希望你能帮助我,我正在尝试从MySQL数据库检索数据,并更新复选框、单选按钮和文本区域。目前,我似乎只能更新输入字段 在主页上有一个表,它使用PHP启动,并使用while循环从MySQL填充数据。其中一列是一个表单,其中包含隐藏字段,这些字段包含SQL返回的每行数据的主键,还有一个按钮 选择该按钮时,将进行以下Ajax调用,以将数据加载到表单中 我无法理解下面的帖子,我不想选择一个按钮来更改单选按钮或复选框 $(function() { $(".mlsload").click(function

我希望你能帮助我,我正在尝试从MySQL数据库检索数据,并更新复选框、单选按钮和文本区域。目前,我似乎只能更新输入字段

在主页上有一个表,它使用PHP启动,并使用while循环从MySQL填充数据。其中一列是一个表单,其中包含隐藏字段,这些字段包含SQL返回的每行数据的主键,还有一个按钮

选择该按钮时,将进行以下Ajax调用,以将数据加载到表单中

我无法理解下面的帖子,我不想选择一个按钮来更改单选按钮或复选框

$(function() {
$(".mlsload").click(function() {
var id = ($(this).val());
var mlsid = $("#mlsidbutton"+id).val();
var odrid = $("#odridbutton"+id).val();
var dataString = 'drop_3='+ mlsid + '&drop_2=' + odrid;

$.ajax({
type: "POST",
async: false,
url: "../EPRS/functions/reportsdatamls.php",
dataType: 'json',
data: dataString,
success: function( data ) {
       for(var dataString in data) {        
                   $("input#"+dataString).val( data[dataString] );
                       }

                }
});



<?php
$mlsid = $_POST['drop_3']; // Reads the value of drop 3 form the project reports section - this identifies the milestone to load

//mysql_connect("localhost", "root", "") or
  //die("Could not connect: " . mysql_error());
//mysql_select_db("miranda_prj_report");
include('../mysqlconn/db.php');
// loads data from my SQL table to enter into an array. The array is then used to populate field dataon http forms
$query  = "SELECT * FROM `miranda_prj_report`.`prj_mls_milestones` where mls_id = $mlsid";
$result = mysql_query($query,$sql_con);
$row = mysql_fetch_array($result, MYSQL_ASSOC);

// Inserts all values from the view into the following veriables
$mlsid = $row['mls_id'];
$odrid = $row['odr_id'];
$mlsterms = $row['mls_Milestone_Terms'];
$mlsvalue = $row['mls_Milestone_Value'];
$mlspercentage = $row['mls_Milestone_Percentage'];
$mlsbaselinedate = $row['mls_Baseline_Date'];
$mlsexpecteddate = $row['mls_Expected_Date'];
$mlsstatus = $row['mls_Milestone_Status'];
$mlsrisk = $row['mls_Milestone_Risk'];
$mlsnotes = $row['mls_Milestone_Notes'];
$AcceptanceTrigger = $row['mls_Acceptance_Trigger'];
$MLSBillable = $row['mls_Billable'];


// Creates an Array and update the Fields representing these values on the project reports page under the orders tab
$mlsarr = array(
'MilestoneDescription'=> $mlsterms,
'MilestoneRiskDB' => $mlsrisk,
'MilestoneStatus' => $mlsstatus,
'MilestoneBaselineDate' => $mlsbaselinedate,
'MilestoneExpectedDate' => $mlsexpecteddate,
'MilestoneNotes' => $mlsnotes,
'MilestoneID'=> $mlsid,
'MilestonePercentage'=> $mlspercentage,
'MilestoneValue'=> $mlsvalue,
'AcceptanceTrigger'=> $AcceptanceTrigger,
'MLSBillable' => $Billable == "1",
);

echo json_encode( $mlsarr );
mysql_close();
?>
$(函数(){
$(“.mlsload”)。单击(函数(){
var id=($(this.val());
var mlsid=$(“#mlsidbutton”+id).val();
var odrid=$(“#odridbutton”+id).val();
var dataString='drop_3='+mlsid+'&drop_2='+odrid;
$.ajax({
类型:“POST”,
async:false,
url:“../EPRS/functions/reportsdatamls.php”,
数据类型:“json”,
数据:dataString,
成功:功能(数据){
对于(数据中的var数据字符串){
$(“输入#“+dataString).val(数据[dataString]);
}
}
});
JSON回显数据:

{“MilestoneDescription”:“装运货物时支付50% 货物,“MilestoneRiskDB”:“绿色”,“MilestoneStatus”:“完整”,“MilestoneBaselineDate”:“2014-09-12”,“MilestoneExpectedDate”:“2014-09-12”,“MilestoneNotes”:“12日装运” 9月,“MilestoneID”:“1599”,“MilestonePercentage”:“102945.00”,“MilestoneValue”:“51472.50”,“AcceptanceTrigger”:“MLSBillable”:true}

上面可以看到MLSBillable设置为true

在HTML表单中,有许多字段可以很好地填充,但只有当字段是类型输入时才可以。我需要切换复选框和单选按钮,但无法确定如何填充

<label for="MLSBillable">Billable Milestone </label><input type="checkbox" name="MLSBillable" ID="MLSBillable"/>

<label for="MilestoneRisk">Update Milestone Risk</label> 
<input type="radio" name="MilestoneRisk" value="Red" id="MilestoneRisk_0" /><label for="MilestoneRisk">Red</label>
<input type="radio" name="MilestoneRisk" value="Amber" id="MilestoneRisk_1" /><label for="MilestoneRisk">Amber</label>
<input type="radio" name="MilestoneRisk" value="Green" id="MilestoneRisk_2" /><label for="MilestoneRisk">Green</label>
计费里程碑
更新里程碑风险
红色
琥珀色
绿色
最后,任何关于如何更新textarea的示例都会有所帮助


非常感谢您的支持。

您的问题非常广泛,没有包含太多错误信息。请明确哪些部分出错,并尽可能精简代码。如果问题是在解析JSON时出现的,请忽略整个服务器端部分。毕竟,JSON甚至可以是静态内容,并且仍然应该是静态的JavaScript也可以处理相同的错误。另外,包括您得到的任何错误(请参见控制台窗口)并描述实际和期望的行为。注意:
mysql\u*
函数已过时且不推荐使用。您不应该使用它们。谢谢GolezTrol,我已经完成了一半的工作,要更改为mysqli,没有控制台错误,服务器端很好,返回了JSON数据。当我回显JSON数据时,我可以加载所有相关数据(10个字段)我正在努力切换id为“MLSBillable”的HTML表单上的复选框。$Billable=$row['mls_Billable'];$mlsarr=array('MLSBillable'=>$Billable=='1',);echo json_encode($mlsarr);Billable Milestone当我在Ajax调用的成功函数中时,我试图解析json数据。仍然没有运气添加以下$(“:input[name=”“+dataString+“]”)。attr(“checked”,jsonOBJ[dataString]);也在Ajax调用的成功函数中尝试了$(“:input[name=”+dataString+“]”)。proc(“checked”,jsonOBJ[dataString]”);我终于找到了解决办法。