来自数据库中输入的压缩数组值

时间:2011-09-02 07:51:05

标签: php arrays codeigniter

我使用jQuery添加新输入,table => tr中的每一行包含几个输入,我想在数据库中添加数据araye:

<table>
tr 1: <tr>
<input name="you[]" value="Translate">
<input name="you[]" value="Searches">
<input name="you[]" value="Email">
</tr>
<br>
tr 2: <tr>
<input name="you[]" value="Phone">
<input name="you[]" value="Chat">
<input name="you[]" value="Business">
</tr>
</table>

DEMO

“值tr 1是”:翻译&amp; 搜索&amp; 电子邮件
“值tr 2是”:电话&amp; 聊天&amp; 商家

我有两个问题:
Q1:如何在数据库表的一行中将“tr 1”和“tr 2”中的所有值数组一起插入?

Q2:如何通过select * from my_table ....数据库选择(foreach)仅第一部分值(“tr 1 ='翻译'”和“tr 2 ='电话'”)表

我希望输出:翻译&amp; 电话

2 个答案:

答案 0 :(得分:0)

关于第一个问题,您可以使用jQuery serialize()函数。

在不同的字段中添加一个类可以提供帮助。

 <table>
    <tr>
        <th>tr 1:</th>
        <td><input name="Translate" value="Translate" class="fields_1"></td>
        <td><input name="Searches" value="Searches" class="fields_1"></td>
        <td><input name="Email" value="Email" class="fields_1"></td>
    </tr>

    <tr>
        <th>tr 2: </th>
        <td><input name="Phone" value="Phone" class="fields_2"></td>
        <td><input name="Chat" value="Chat" class="fields_2"></td>
        <td><input name="Business" value="Business" class="fields_2"></td>
    </tr>
</table>

然后

var data1 = $('input.fields_1').serialize();
var data2 = $('input.fields_2').serialize();

var data = $('input').serialize();

请参阅jQuery API

答案 1 :(得分:0)

也许它适合您的问题

<强> A1:

// make data to be fit in your database
$you= $_POST['you']; // or $this->input->post('you') In CodeIgniter
$you_chunk= array_chunk($you, 3);
$datayou= "";
foreach( $you_chunk as $youpart ){
   $datayou.= implode(",", $youpart);
   $datayou.= "&";
}

$datayou= substr($datayou, 0, -1); // Output: Translate,Searches,Email&Phone,Chat,Business    

// Insert Data into database

<强> A2:

// Grab data from database
// $getyou= Translate,Searches,Email&Phone,Chat,Business

// Parse Data for grab only first values
$parseyou= explode("&", $getyou);
foreach( $parseyou as $partyou ){
   $firstyou= strstr($partyou, ',', true); // As of PHP 5.3.0
   echo $firstyou . "<br/>";
}
exit;