好的,所以我试图让ajax发送到我的php文件,查找mysql字段,如果它存在,回显'clientsuccess‘,否则回显’客户端已经存在‘,但在成功函数中,它返回这两个值,尽管它们在php if语句中。我很可能错过了一些非常简单的东西,但任何帮助都是非常感谢的。
PHP:
<?php
session_start();
$clientArray = $_POST['clientArray'];
$clientArray = explode(',', $clientArray);
$count = 0;
foreach($clientArray as $clientField)
{
trim($clientField);
if(empty($clientField)) {
$clientField = '-';
}
}
$con = mysql_connect("localhost",$_SESSION['MysqlUser'],$_SESSION['MysqlPass']);
if (!$con)
{
die('Could not connect with '.$_SESSION['MysqlUser'].mysql_error());
}
mysql_select_db("smeinsti_SPW_Inventory", $con);
$checkclient = mysql_query("SELECT ClientName FROM Clients WHERE ClientName = '".$clientArray[0]."'", $con);
if(mysql_num_rows($checkclient)==0)
{
$sql="INSERT INTO Clients (`ClientName`, `PhoneNumber`, `Email`, `Address`, `OrderDate`)
VALUES
('$clientArray[0]', '$clientArray[1]', '$clientArray[2]', '$clientArray[3]', CURDATE())";
$clientArray[0] = $_SESSION['ClientName'];
echo "clientsuccess";
} else {
echo 'Client already exists';
}
?>JS:
function NextPage()
{
var ClientData = [];
$('form#order-form.create input[type=text]').each(function() {
ClientData += $(this).val() + ',';
})
alert(ClientData);
var parameters = {
clientArray: ClientData
};
$.ajax({
type: "POST",
async:false,
url: "write_client.php",
data: parameters,
success: function(result){
var res=result;
if(res = 'clientsuccess') {
window.location = 'admin.php?id=7';
} else {
alert('Client already exists');
}
}
});
}发布于 2013-04-12 15:15:16
您的条件等号不正确!放入'==‘
if(res == 'clientsuccess') { //Double Equal to
window.location = 'admin.php?id=7';
} else {
alert('Client already exists');
}发布于 2013-04-12 15:16:11
mysql_num_rows返回选定的行数,而不是某一行的字段。使用mysql_fetch_row提取查询中选择的行:
您还可以使用mysql_result来获取一行并获取某个字段:
$client exist = mysql_result($checkclient,0,0);这将获取第一行(从零开始)并返回第一个字段(从零开始)。
https://stackoverflow.com/questions/15965159
复制相似问题