连续获取第一个值“点击”并传递给控制器

时间:2015-02-06 18:54:39

标签: javascript php html mysql phalcon

我正在研究PHP Phalcon。

我有一张桌子的视图。该表具有动态行数。我想点击一行并获取第一列中的值。这是我的html表:

<?php
        $counter = count($prescriptions);
        $i = 0;
        if ($counter == 0 )
        { echo "You have no earlier prescriptions." ;}
        else {
        ?>

<Table class="inbox_table" cellspacing="0" style="width: 998px">
    <tr>
        <td class="inbox_table_cell inbox_table_heading">ID</td>
        <td class="inbox_table_cell inbox_table_heading">Doctor ID</td>
        <td class="inbox_table_cell inbox_table_heading">Patient Name</td>
        <td class="inbox_table_cell inbox_table_heading">Ailment</td>
        <td class="inbox_table_cell inbox_table_heading">Date</td>
    </tr>

    <?php
            While ($i < $counter)
            {
            ?>
    <tr onclick="">
        <td class="inbox_table_cell" id="ID"><?php echo $prescriptions[$i]->ID;  ?></td>
        <td class="inbox_table_cell" id="Doc_ID"><?php echo $prescriptions[$i]->Doctor_ID;  ?></td>
        <td class="inbox_table_cell" id="P_Name"><?php echo $patient_name;  ?></td>
        <td class="inbox_table_cell" id="Ailment"><?php echo $prescriptions[$i]->Ailment; ?></td>
        <td class="inbox_table_cell" id="Date"><?php echo $prescriptions[$i]->Date_;  ?></td>
    </tr>
    <?php
            $i++;
            }
            }
            ?>
</Table

>

以下是相关的操作方法:

public function PrescriptionTableAction(){
    //Select the earlier prescriptions of the online patient.

    $current_PID = $this->session->current_patient_ID;

    $get_prescriptions = "Select Doctor_ID,Patient_ID,Ailment,ID,Date_ from Prescriptions where Patient_ID = '$current_PID'";
    $this->view->prescriptions = $this->modelsManager->executeQuery($get_prescriptions);

    $this->view->patient_name = $this->session->current_patient->Full_Name;
}

我想做什么:

在抽象中,当我点击表格中的一行时,它会打开一份完整处方的视图,其中包含药物名称和每种药物的说明,写处方的医生姓名等等。

更具体地说,当我点击一行时,我想从&#34; ID&#34;获取该行的值。柱。 (它对应于处方表数据库中的主键)。我想将此值传递给同一控制器中的另一个操作方法,其中处方的详细信息可以从数据库中获取,然后显示在相应的视图中。

我在本网站上已经阅读过类似的问题和解决方案,但几乎所有解决方案都提供了#34;警报&#34;。我想将值传递给控制器​​,我该怎么做?

1 个答案:

答案 0 :(得分:1)

我以我想要的方式解决了问题;使用简单的javascript。

这是我的脚本功能:

function func(e){
var id = e.target.parentNode.firstElementChild.innerText;
            window.location.href = "ActionMethod?id=" + id;
 }

在视图中我做了这个编辑:

 <tr onclick="func(event)">
...
</tr>

这解决了我的问题!