【发布时间】:2013-05-29 06:33:52
【问题描述】:
我正在尝试在我的数据库中插入记录并且我正在使用此代码:
<?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);
}
?>
这个是正确插入的,但对于“患者 ID”,我想存储随机 ID。 $tid 给了我随机输出,但是当我检查数据库时,它不一样;它按降序显示ID。我尝试使用 Order by Rand() 但我不知道如何使它工作。任何想法?还是我错过了什么?
谢谢!
编辑:我从另一个表中获取了 patient_id,该表是要传递到约会表的帐户表。我能够选择随机的患者 ID,但如何将其插入到另一个表中,也以随机顺序。
【问题讨论】:
-
PatientID的值从何而来?随机生成的ID有没有范围? -
按 rand() 排序是不好的解决方案。检查此electrictoolbox.com/msyql-alternative-order-by-rand
$time_table分配在哪里我找不到它? -
您真的需要 PatientID 是随机的吗?可能您已经为患者提供了一些主键表,这在 99.999999% 的情况下是您想要的。那些处于 0.00001% 的人已经知道如何处理他们的情况。