2011-07-06 71 views
0

我还有一个关于数据随机化的问题!MySQL/PHP:将随机数据从html复选框插入到MySQL中通过PHP

$gender=''; 
if(isset($_GET['gender'])) { 
$gender=$_GET['gender']; 
} 
$status_array = $_GET['status']; 
foreach ($status_array as $one_status) { 
$statussource .= $one_status.", "; 
$status = substr($statussource, 0, -2); 
} 
$age_array = $_GET['age']; 
foreach ($age_array as $one_age) { 
$agesource .= $one_age.", "; 
$age = substr($agesource, 0, -2); 
} 
$incidentid=''; 
if(isset($_GET['incidentid'])) { 
$incidentid=$_GET['incidentid']; 
} 

mysql_connect ("$host", "$username", "$password") or die ("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

$sql="INSERT INTO $tbl_name (given_name, family_name, gender, status, age, incidentid) 
select First10.$gender, Last10.family_name, 
(SELECT $gender from gender) AS Gender, 
(SELECT * FROM status where status = '$status') AS Status, 
(SELECT * FROM age where age = '$age') AS Age, 
(SELECT $incidentid from incidentid) AS Incident_ID 
from (select fn.$gender, @fns := @fns + 1 as Sequence 
from (select $gender from fnames where $gender IS NOT NULL order by rand() limit 100) fn, 
(select @fns := 0) vars) First10 
JOIN 
(select ln.family_name, @lns := @lns + 1 as Sequence 
from (select family_name from lastnames order by rand() limit 100) ln, 
(select @lns := 0) vars) Last10 
ON First10.Sequence = Last10.Sequence"; 
$result=mysql_query($sql); 
if($result){ 
echo "Generated Successfully"; 
echo "<BR>"; 
echo "<a href='randomdata.php'>Back to main page</a>"; 
} 

else { 
echo "ERROR"; 
} 
mysql_free_result($result); 
// close connection 
mysql_close(); 

?> 

我在这里的定位是,我的目标是为了测试目的而生成随机的状态和年龄值的随机名称。该复选框是正确的格式:

<p> 
Status: <BR> 
<INPUT TYPE=CHECKBOX name="status[]" value="ali">Alive and Well<BR> 
<INPUT TYPE=CHECKBOX name="status[]" value="inj">Injured<BR> 
<INPUT TYPE=CHECKBOX name="status[]" value="dec">Deceased<BR> 
<INPUT TYPE=CHECKBOX name="status[]" value="unk">Unknown<BR> 
<INPUT TYPE=CHECKBOX name="status[]" value="fnd">Found<BR> 
<INPUT TYPE=CHECKBOX name="status[]" value="mis">Missing<BR> 
</p> 

<p> 
Age: <BR> 
<INPUT TYPE=CHECKBOX name="age[]" value="0-17">Youth (0-17)<BR> 
<INPUT TYPE=CHECKBOX name="age[]" value="18+">Adult (18+)<BR> 
<INPUT TYPE=CHECKBOX name="age[]" value="NULL">Unknown<BR> 

但是,我只能似乎只有1值从组复选框选中接受的状况和年龄的响应。我希望能够选择多个复选框并以随机格式接收这些值。请指教。

如果您需要我的问题的任何澄清,请问。

回答

0

据我所知,所有这些值是相互排斥的。如果是这种情况,也许使用单选按钮会更合适。

+0

我原本有一个单选按钮,但这会限制一代人的身份/年龄。我想知道是否可以用随机数组/状态生成测试数据。 – Michael