试图在mysql中插入while循环(php)中的数据

时间:2014-06-12 14:34:47

标签: php mysql

我做了一个项目,允许一个dokter为病人添加治疗。我的项目中添加了一些基础治疗方法。

当dokter想要为患者添加1种特定治疗时,他可以获得基本治疗并添加一些额外的文本或更改日期(例如:患者可以在第4天而不是第5天回家)。

问题是,当我想保存那个循环时,我的最后一个条目将被保存。注意我不希望更新基本处理,但保存在另一个表中

atm我正在关注代码的那一刻:这显示了docter可以编辑的基本处理

<?php 
    echo '<form action="" method="post">';  

    while ($topic = $resul -> fetch_assoc())
    {

        $datumNew = strtotime($datum);
        $stopdate_extra=$datumNew+$topic['Dag']*84600;
        $stopdate_Nu=date("l", $stopdate_extra);
        $stopdate_Nu1=date("d", $stopdate_extra);
        $stopdate_Nu1a=date("M", $stopdate_extra);
        $stopdate_Nu2=date("Y", $stopdate_extra);
        $stopdate_db=date("Y-m-d",$stopdate_extra);

        echo "<div class='tijdlineElement'>";                   
        echo "<div class='tijdlineP2Element' ><input type='text' name='bescValue' value='" .$topic['Uur'].  "'/><br /><br /><textarea  maxlength='400' style='width:100%; height:70px;' name='uurValue' rows='4'>" . $topic['Beschrijving']. "</textarea></div>";
        echo "<div class='tijdlinePElement' style='background-color: gray;'>".  $stopdate_Nu  . '<br/> '.  $stopdate_Nu1  .' ' .  $stopdate_Nu1a  . '<br/>  '.  $stopdate_Nu2  . ' '."</div>";
        echo "<input type='hidden' name='dagValue' value='" .$stopdate_db.  "'/>"; echo "</div><br />";
      }
     echo '<br/><br/>
    <input id="btnbehandeling" name="btnbehandeling" value="voegtoe" type="submit" class="button" style="width: 101%" />
    </form>';

当他点击按钮时,将执行以下功能

    if(!empty($_POST['dagValue']))
{
    $obj_subscriber = new behandeling();
    $obj_subscriber->RRN = $_SESSION['patientRRN'];

    //$obj_subscriber->Dag = $_POST['date'];
    $obj_subscriber->Dag = $_POST['dagValue'];
    $obj_subscriber->Uur = $_POST['bescValue'];
    $obj_subscriber->Beschrijving = $_POST['uurValue'];

    try
    {
        $obj_subscriber->VoegBehandelingtoeTijdslijn();
        header("location: tijdslijn.php");
    }
    catch(Exception $e)
    {
        $feedback = $e->getMessage();   

    }   
}

VoegBehandelingtoeTijdsli​​jn

Public function VoegBehandelingtoeTijdslijn(){

            include 'PHP/Connection.php';

        $sql= "INSERT INTO tijdslijn
            (
            Beschrijving,
            User,
            Dag,
            Uur
            ) 
            VALUES 
            (

            '" . $conn-> real_escape_string($this -> m_sBeschrijving) . "',
            '" . $conn-> real_escape_string($this -> m_sRRN) . "',
            '" . $conn-> real_escape_string($this -> m_sDag) . "',
            '" . $conn-> real_escape_string($this -> m_sUur) . "'
            );";

                    if (!$conn-> query($sql)) {
        throw new Exception("Fout bij registartie");
    }


}

如果我想加入治疗&#39;测试&#39;它有2行,只保存我的最后一行。所以我的问题是:如何在我的while循环中保存所有回显的行?

1 个答案:

答案 0 :(得分:0)

在循环外部定义一个数组并推送其中的每个项目,然后再次保存。当你这样做时,只保存/存储循环的最后一项。因为你一直在覆盖上一个项目。

伪造的代码

$saveddata = array();
loop{
//with one or two pieces of data.
array_push($saveddata, $data);
//with multiple pieces of data it is recommended to save it in an object first.
//and then add these objects to the array.
}

现在,每个找到的数据都会添加到此数组中。要再次通过此阵列卸载数据循环。