好的,所以我在网上找到了很多教程,并逐步完成了每一个教程.我的问题是我知道javascript / jQuery比我知道的PHP好得多,我无法弄清楚如何调试那部分出了什么问题.基本上我有一堆按钮和一个按钮,当按下按钮时,它确定表单中的默认值.
jQuery Side
$(document).ready(function(){ // CSPC and ADDUPDATE TOGGLE ARE DEFINED GLOBALLY $('ul#parts').on('click','button',function(){ ADDUPDATETOGGLE = "ADD"; CSPC = $(this).attr("data-cspc"); var form = $('div.sidebar form'),sr = 0; form.find("#cspc").val(CSPC); $.ajax({ type: "GET",url: "getRate.PHP",data: "pid=A5843",dataType: "json",success: function(data){ sr = data; } }); form.find("#strokeRate").val(sr); showForm(); }); });
@H_502_10@PHP端
PHP $host = "localhost"; $user = "username"; $pass = "password"; $databaseName = "movedb"; $tableName = "part parameters"; $con = MysqL_connect($host,$user,$pass); $dbs = MysqL_select_db($databaseName,$con); //get the parameter from URL $pid=$_GET["pid"]; if (empty($pid)){ echo "1"; //default rate } else{ $db=MysqL_pconnect("localhost");//connect to local database MysqL_select_db("movedb",$db);//select the database you want to use if (!$db){ echo ("error connecting to database"); } else{ //connection successful $sql = "SELECT 'Processing Rate (ppm)' FROM 'part parameters' WHERE 'Part Number' LIKE '" . $pid . "'";//sql string command $result=MysqL_query($sql);//execute sql string command //result contains rows $rows = MysqL_fetch_row($result) echo json_encode($rows["Processing Rate (ppm)"]); } } ?>
@H_502_10@任何想法为什么sr没有设置?
我离开基地了吗?
我也会无耻地注意到我不知道$user和$pass应该设置为什么.我无法在任何地方找到解释
提前致谢!
编辑:我按照下面的大部分指示,现在我跑了
http://localhost/getRate.PHP?pid=A5843
@H_502_10@它说“没有选择数据库”.此外,我现在无法访问我们原来的MS Access文件(我的一个团队成员拥有它)但是一旦我得到它,我将把所有标题组成一个单词标题.这是我们在网络编程/数据库管理方面的第一份工作,所以我们不断学习.
最佳答案
$user和$pass应设置为您的MysqL用户的用户名和密码.
我会用这样的东西:
JS
success: function(data){ if(data.status === 1){ sr = data.rows; }else{ // db query Failed,use data.message to get error message } }
@H_502_10@PHP:
PHP $host = "localhost"; $user = "username"; $pass = "password"; $databaseName = "movedb"; $tableName = "part parameters"; $con = MysqL_pconnect($host,$pass); $dbs = MysqL_select_db($databaseName,$con); //get the parameter from URL $pid = $_GET["pid"]; if(empty($pid)){ echo json_encode(array('status' => 0,'message' => 'PID invalid.')); } else{ if (!$dbs){ echo json_encode(array('status' => 0,'message' => 'Couldn\'t connect to the db')); } else{ //connection successful $sql = "SELECT `Processing Rate (ppm)` FROM `part parameters` WHERE `Part Number` LIKE `" . MysqLi_real_escape_string($pid) . "`"; //sql string command $result = MysqL_query($sql) or die(MysqL_error());//execute sql string command if(MysqL_num_rows($result) > 0){ $rows = MysqL_fetch_row($result); echo json_encode(array('status' => 1,'rows' => $rows["Processing Rate (ppm)"]); }else{ echo json_encode(array('status' => 0,'message' => 'Couldn\'t find processing rate for the give PID.')); } } } ?>
@H_502_10@正如另一位用户所说,你应该尝试重命名没有空格的数据库字段,因此part parameters => part_parameters,Part Number =>零件号.
如果你仍然遇到麻烦(只要它不是生产服务器)把它放在你的PHP文件的顶部:
error_reporting(E_ALL); ini_set('display_errors','1');
@H_502_10@