我正在尝试在我的数据库中插入记录,而我正在使用此代码:
<?php
$con = mysql_connect('localhost','root','')
or die(mysql_error());
mysql_select_db ("my_db");
$patient_array = array();
$query = "SELECT * FROM accounts";
$result = mysql_query($query);
while($row = mysql_fetch_array($result))
{
$patient_array[$row['account_id']] = array("lastname" => $row['lastname'],
"firstname" => $row['firstname']);
}
foreach($time_table as $tid => $t){
echo array_rand($patient_array, 1);
echo $tid."====".$t["from"]." - " . $t["to"]."<br />";
$sql = "INSERT INTO appointment (appt_id, appt_date, appt_time, appt_doctor,
patient_id, appt_time_end) VALUES ('', '".$appt_date."', '".$t["from"]."',
'".$doc."', '".$tid."', '".$t["to"]."')";
mysql_query($sql);
}
?>
这个正确插入但是对于“patient_id”我想存储随机ID。 $ tid给我随机输出但是当我检查数据库时,它不一样;它以降序显示ID。我尝试使用Order by Rand(),但我无法弄清楚如何让它工作。任何的想法?或者我错过了什么?
谢谢!
编辑:我从另一个表中获取了patient_id,这是要传递到约会表的帐户表。我能够选择随机患者ID,但如何以随机顺序将其插入另一个表格。
答案 0 :(得分:0)
你可以添加一个名为'time'的额外列,例如你把UNIX时间放在一起,这样当你按'time'排序时,你会按照你在表中编写它们的顺序得到随机id。 我建议你添加时间对于将它存储在某个地方非常有用!
如果你想要它们不是按随机顺序但是按照精确的顺序,我实际上并不明白你为什么要使用随机id!
答案 1 :(得分:0)
答案 2 :(得分:0)
我会创建一个名为id的数据库字段,其中包含 AUTO_INCREMENT属性
您可以使用以下命令添加列
alter table appointment add (id INT NOT NULL AUTO_INCREMENT);
答案 3 :(得分:0)
感谢您的所有回复,但我已经找到了答案。这是我的代码修改:
while($row = mysql_fetch_array($result))
{
//I changed this...
//$patient_array[$row['patient_id']] = array("lastname" => $row['lastname'], "firstname" => $row['firstname']);
//to this:
$patient_array[] = $row['patient_id'];
}
foreach($time_table as $tid => $t){
/*
removed this, since it's just an output to check what's happening inside
the 'rand'
echo array_rand($patient_array, 1);
echo $tid."====".$t["from"]." - " . $t["to"]."<br />";
*/
//added these...
$rand = array_rand($patient_array); //randomize patient id
$patient_id = $patient_array[$rand];
print_r($patient_id); //displays randomized ids
//and now was able to INSERT RANDOM patient ids
$sql = "INSERT INTO appointment (appt_id, appt_date, appt_time, appt_doctor, patient_id, appt_time_end) VALUES ('', '".$appt_date."', '".$t["from"]."', '".$doc."', '".$patient_id."', '".$t["to"]."')";
mysql_query($sql);
}