2013-03-09 89 views
0
if(isset($_POST['submit'])) { 
    $doc = new Doc_Schedule(); 
    $doc->doctor = $_POST['doctor']; 
    $doc->department = $_POST['dpt']; 
    $doc->sheduledate = $_POST['date']; 
    $doc->scheduletime = $_POST['time']; 
    if($doc->create()) { 
     $message = "Doctors Information Saved Successfully"; 
    } else { 
     $message = join("<br/>",$doc->errors); 
    } 
} 

<select name="doctor" id="Deptmentselectbox" class="AllSelectBoxes"> 
    <option value="">Select Doctor</option> 
<?php 
    $sql = "SELECT `fullname`,`depid`,`docid` FROM `doctors` ORDER BY fullname ASC"; 
    $result = $database->query($sql) or die('cannot connect to the database'); 
    while($row = mysql_fetch_array($result)) { 
     echo"<option value= ".$row['docid'].">".$row['fullname']."</option>"; 
    } 
?> 
</select> 

发送两个ID我有一个选择框,它会告诉我在一个表中的医生。当我点击某个医生时,我想将doctors.dociddoctors.deptid(department id)发送给一个班级进行进一步处理。通过选择框

我很难找到一个解决方案,其他丹创建一个新的部门ID选择框。

+0

迄今提出的所有解决方案应该为你工作 – 2013-03-09 20:59:49

+0

请考虑接受一个答案(点击左侧刻度),如果它实际上回答了你的问题 – michi 2013-04-14 12:50:12

回答

0

与该期权价值的分隔符结合这两个值:

echo"<option value= \"{$row['docid']}|{$row['depid']}\">{$row['fullname']}</option>"; 

和分隔值提交后:或者

list($docid,$depid)=explode('|',$_POST['doctor']); 

,如果你只使用docid,你会得到depid从你的数据库。

而且,顺便说一句,停止使用mysql_*,因为它被弃用,移动到mysqli_*PDO

0

我会用一些分隔符这样的编码值:

echo"<option value= ".$row['docid'].";".$row['deptid'].">".$row['fullname']."</option>"; 

然后你只是调用函数内发生爆炸:

list($docid, $deptid) = explode($_POST['doctor'], ";"); 
0

我的建议是使用PHP来连接,然后分开值。

<select name="doctor" id="Deptmentselectbox" class="AllSelectBoxes"> 
<option value="<?php echo "$doc['doctor']^$doc['department']"; ?> ">Select Doctor</option> 

然后,当处理:

$doc = explode("^", $_POST['doctor']); 
$doctor = $doc['0']; 
$department = $doc['1']; 

类似的东西将通过一个帖子对象发送多个值。

0

你可以有一个逗号分隔值:

echo "<option value=".$doc['docid'].",".$doc['depid']; ?>">".$row['fullname']."</option>" 

,可以在服务器上解析为

ID = explode($_POST['doctor'], ","); 

或者你可以使用HTML5数据属性。

echo "<option value=".$doc['docid']." data-DepId=".$doc['depid'].">".$row['fullname']."</option>" 
+0

HTML5数据属性不会工作,除非你使用AJAX来发送数据。 – 2013-03-09 20:45:43