Php 保存数组中的数据而不提交任何表单
我正在尝试保存一个数组,因此我有以下代码:Php 保存数组中的数据而不提交任何表单,php,mysql,arrays,while-loop,save,Php,Mysql,Arrays,While Loop,Save,我正在尝试保存一个数组,因此我有以下代码: <?php $sql = "SELECT * FROM scenarii where code_s='".mysql_real_escape_string($_POST['code_s'])."'"; $qry = mysql_query($sql) or die(__LINE__.mysql_error().$sql); $i = -1; // index des enregistrements ?> <table cellp
<?php
$sql = "SELECT * FROM scenarii where code_s='".mysql_real_escape_string($_POST['code_s'])."'";
$qry = mysql_query($sql) or die(__LINE__.mysql_error().$sql);
$i = -1; // index des enregistrements
?>
<table cellpadding="5" cellspacing="5">
<tr>
<td><strong>CODE SCENARIO</strong></td>
<td><strong>LIBELLE</strong></td>
<td><strong>ACTION</strong></td>
<td><strong>DESCRIPTION</strong></td>
<td><strong>DATE</strong></td>
</tr>
<form action="<?php echo (isset($_POST['go'])) ? 'go.php' : '#'; ?>" method="post">
<input type="hidden" name="liasse" value="<?php echo $_POST['liasse']; ?>"/>
<input type="hidden" name="n_doss" value="<?php echo $_POST['n_doss']; ?>"/>
<input type="hidden" name="qualite" value="<?php echo $_POST['qualite']; ?>"/>
<?php while($row = mysql_fetch_assoc($qry)): ?>
<tr>
<td><input name="data[<?php echo ++$i; ?>][code_s]" type="text" value="<?php echo $row['code_s'];?>" size="10"></td>
<td><input name="data[<?php echo $i; ?>][titre]" type="text" value="<?php echo $row['titre']; ?>" size="45"></td>
<td><input name="data[<?php echo $i; ?>][action]" type="text" value="<?php echo $row['action']; ?>" size="15"></td>
<td><input name="data[<?php echo $i; ?>][libelle]" type="text" value="<?php echo $row['libelle']; ?>" size="55"></td>
<td><input type="text" name="data[<?php echo $i; ?>][date]" value="<?php echo $get_date($row['jour']) ; ?>" size="12"></td>
</tr>
<?php endwhile; ?>
但我真的迷路了
事实上,我使用了一个表单,现在我想提交所有这些数据,但没有任何表单,当我有第一个表单时直接提交,而我想保存它
问题是我迷路了,因为我不能调用任何类似于data[][code\s]的var
所以我不知道如何保存这个。我想将其保存在后台,而不是显示已保存的内容
受到我最大的尊重
亲切问候,
SP.将较低代码块的代码包装成一个函数,并将值数组作为参数移交:
function storeValues ($data) {
foreach($data as $key => $val)
{
$catalog=sprintf("%s='%s'",$key,$val);
$sql = sprintf('INSERT INTO agenda SET %s', implode(',',$catalog));
mysql_query($sql) or die(__LINE__.mysql_error().$sql);
} // foreach
} // function storeValues
要保存值时,可以调用此函数。所以在从数据库中检索它们之后。您为检索到的每一行调用它,并传递如下值:
storeValues ($row);
这将一次存储一行值。显然,这可以优化为使用多重插入。但是让我们一步接一步…1。)不要使用mysql扩展,它被贬低了,而且非常不安全。使用mysqli扩展或者更好的扩展:PDO。你所要求的内容不可能有任何意义。你必须修改你的问题(语法!),并提供更多你真正想做的细节。亲爱的先生,我非常抱歉,我是一个海外国家的公民,所以我从6个月开始学习英语,这就是为什么它不完美的原因。请接受我最诚挚的道歉。我要问的是,我有一个数组,可以从数据库接收一些信息。我想保存它而不提交anny表单。但是直接进入数据库可能是您想保存该数组(在哪里?),同时将值发送给浏览器?没问题,但我相信您可以更正您给出的这句话,使其更有意义:事实上,我使用了一个表单,现在我想提交所有这些数据,但没有任何表单,直接当我有第一个,而我想保存它。
storeValues ($row);