我现在有一个问题就是将变量发送到表我有3个名为prereg的表,asdoc,asdocp,我正在为患者分配一个医生,其中患者表是prereg而另外两个表是医生表,问题是:prereg表中的$ fname发送到2表,即asdoc,asdocp和。
我想要做的是$ fname的值仅发送到1个表,当医生的名字重复为5时,mstat / pstat表名称将满。
$fnamechk = @mysql_query("SELECT * FROM prereg WHERE fname = '$fname'");
if(mysql_num_rows($fnamechk) == 0) {
$query = "INSERT into prereg (fname, lname, mname)
VALUES ('$fname','$lname','$mname')";
$result = mysql_query($query) or trigger_error(mysql_error().". Query: ".$query);
echo "<strong>";
echo "<script>alert('Successfully added to in patient');document.location='patient.php'</script>";
echo '</script>';
// DOOOOOOOOOOOOOOCTORSSSSS --------------------
//MEDICAL DOCTOR
$fnamechkkk = @mysql_query("SELECT * FROM asdoc WHERE docname = '$docname'");
if(mysql_num_rows($fnamechkkk) == 4) {
mysql_query("UPDATE asdoc SET mstat='Full' Where docname='$docname' AND mstat='available'");
}else
$fnamechkk = @mysql_query("SELECT * FROM asdoc WHERE docname = '$docname'");
if(mysql_num_rows($fnamechkk) <= 5) {
$query = "INSERT into asdoc (docname, afname)
VALUES ('$docname','$fname')";
$result = mysql_query($query) or trigger_error(mysql_error().". Query: ".$query);
}
// MEDICAL DOCTOR END--------
//PEDRIATIC DOCTOR
$fnamechkkk = @mysql_query("SELECT * FROM asdocp WHERE pdoc = '$pdoc'");
if(mysql_num_rows($fnamechkkk) == 4) {
mysql_query("UPDATE asdocp SET pstat='Full' Where pdoc='$pdoc' AND pstat='available'");
}else
$fnamechkk = @mysql_query("SELECT * FROM asdocp WHERE pdoc = '$pdoc'");
if(mysql_num_rows($fnamechkk) <= 5) {
$query = "INSERT into asdocp (pdoc, pfname)
VALUES ('$pdoc','$fname')";
$result = mysql_query($query) or trigger_error(mysql_error().". Query: ".$query);
}
// PEDRIATIC DOCTOR END--------
答案 0 :(得分:0)
您的代码逻辑不能完成您在问题中所说的内容。它应该是:
if (num_rows < 5) {
insert new row
} elseif (num_rows == 5) {
set status to full
}
所以PHP应该是:
$fnamechkkk = mysql_query("SELECT COUNT(*) AS count FROM asdoc WHERE docname = '$docname'");
$row = mysql_fetch_assoc($fnamechkkk);
if ($row['count'] < 5) {
$query = "INSERT into asdoc (docname, afname) VALUES ('$docname','$fname')";
$result = mysql_query($query) or trigger_error(mysql_error().". Query: ".$query);
} elseif ($row['count'] == 5) {
$query = "UPDATE asdoc SET mstat='Full' Where docname='$docname' AND mstat='available'";
$result = mysql_query($query) or trigger_error(mysql_error().". Query: ".$query);
}
每次想要计算时,您都不需要重复SELECT
查询。如果您关心的只是匹配数量,那么执行SELECT COUNT(*)
查询而不是SELECT *
后跟mysql_num_rows()
通常会更好。