[英]how to create row dynamic and save to database
你好,我有一个大问题。 我需要在时间表中添加动态行,并将其保存到数据库中。 这里看起来像我的时间表! http://cjoint.com/data/0DptGlbePgo.htm并且我每天都需要能够添加项目客户端,描述lieu(英文位置)和总计。 对于每一天,在添加行的日子下都有一个按钮。 当我按下完成按钮时(未显示在图片中,仅当条件完成时才显示它),我想将它们添加到数据库中。 目前,我将展示如何进行。
这是我一天中的一个例子(星期一)
<!-----------------------------------LUNDI----------------------------------------------------->
<tr>
<td>
<b>Lundi</b> </br><?php echo $date2 ?>
</td>
<td>
</br>
<input size="10" type="text" id="projlundi" name="projlundi"onkeypress="return handleEnter2(event, this, 'task');"/>
</td>
<td>
</br>
<input type="text" name="projdesclundi" size="30" class "desc" id ="projdesclundi"readonly />
</td>
<td>
</br>
<textarea rows="1" cols="20" name="taskdesclundi" id="taskdesclundi"/> </textarea>
</td>
<td>
</br>
<input type="text" name="lieu1" size="10">
</td>
<td>
</br>
<!-- dꣵt section cobobox tache avec tool tip -->
<label title="Selectlundi"> <select title="Selectlundi" id="Selectlundi" name="Selectlundi">
<?php
$stmt->execute();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo ' <option title="';
echo $row['tacName'];
echo '">';
echo $row['tacId'];
echo '</option>'."\n";
$task = array();
//echo '<option value="'.$row['tacName'].'">'.$row['tacId'].'</option>'."\n";
}
?>
</select>
</label>
<!-- Fin section cobobox tache avec tool tip -->
</td>
<!-- calculter le temps pour le lundi -->
<td>
</br>
<span id="calculTemps1">
<input type="number" id="input2" class="temps" name="tempsl" max="24" min="0" value="0" />
</span>
</td>
</tr>
这是我将星期一插入我的数据库的方式
<?php
session_start();
// Connect to the DB
try
{
$bdd = new PDO('mysql:host=localhost;dbname=cruel', 'root', '');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$timId = "" ;
//lundi
if (isSet($_POST['projdesclundi']))
{
$usrUserName = $_POST['usrUserName'] ;
$lieu1 = $_POST['lieu1'] ;
$projdesclundi = $_POST['projdesclundi'] ;
$timDateStartOfWeek = $_POST['data'] ;
$Selectlundi = $_POST['Selectlundi'] ;
$projlundi = $_POST['projlundi'] ;
$date2 = $_POST['date2'] ;
$tempsl = $_POST['tempsl'] ;
}
//---------------------------- INSERTION lundi--------------------------------------
// Insertion description,location tache, numero de projet
$req = $bdd->prepare('INSERT INTO projetstaches
(prtDescription,prtLocation,prtTaskId,prtProjetNum,prtDate,prtTime,prtTimeSheetId)
VALUES(:projdesclundi, :lieu1 ,:Selectlundi, :projlundi, :date2, :tempsl, :timId )');
$req->execute(array(
'projdesclundi' => $projdesclundi,
'lieu1' => $lieu1,
'Selectlundi'=> $Selectlundi,
'projlundi'=> $projlundi,
'date2'=> $date2,
'tempsl'=> $tempsl,
'timId'=> $timId,
));
所以我的代码问题向我展示了如何进行处理,我在ajax,jquery,javascrip0t中尝试了很多东西,但都失败了。 并创建许多错误。 如果我忘记表示歉意的内容,我将进行编辑,因为我的页面超过15页,所以您知道我的帖子太长了。
编辑这是我如何将我的页面autocomplete.php发布到insert.php
在星期天之前(与星期一代码相同),我有
<form action = 'insert.php' method="post" >
在星期六之后(我的时间表的最后一天)结束时
<input type="text" id="result" readonly="readonly" name="total" />
<input type="hidden" name="date2" value="<?php echo $date2; ?>" />
<input type="submit" value="Terminé" id="end" />
<input type="hidden" name="data" value="<?php echo $date; ?>" />
<input type="hidden" name="usrUserName" value="<?php echo $usrUserName; ?>" />
</p>
</form>
您需要使用bind_param-执行之前!
$req = $bdd->prepare('INSERT INTO projetstaches
(prtDescription,prtLocation,prtTaskId,prtProjetNum,prtDate,prtTime,prtTimeSheetId)
VALUES(:projdesclundi, :lieu1 ,:Selectlundi, :projlundi, :date2, :tempsl, :timId )');
$req->bind_param('ssssssss',
$usrUserName,
$lieu1,
$projdesclundi,
$timDateStartOfWeek,
$Selectlundi,
$projlundi,
$date2,
$tempsl);
$req->execute();
注意:bindparam的第一个参数是一个字符串,其中包含接下来要使用的数据类型。 您始终可以使用“ s”(对于字符串)。 在上面的示例中,每个数据字段都有一个“ s”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.