Je veux insérer un tableau dans un champ dans la base de données de MySQL avec PHP ..Insérer tableau dans un champ dans MySQL
ce travail est bien:
HTML:
anotherField :<input type="text" name="anotherField" />
fax :<input type="text" name="f[]" />
email :<input type="text" name="f[]" />
phone :<input type="text" name="f[]" />
PHP (J'utilise cadre CodeIgniter):
<?php
function addCustomRow($tableName)
{
$arr = $this->input->post('f');
$field = implode("|", $arr);
$data = array(
'anotherField' => $this->input->post('anotherField'),
'field' => $field
);
$this->db->insert($tableName, $data);
}
?>
et je reçois des données dans une base MySQL comme ceci
fax|email|phone
MAIS ..
Ma question est .. Je veux beaucoup de tableaux dans le même domaine .. Comme ceci:
fax|email|phone :br: fax|email|phone :br: fax|email|phone ..
J'ai essayé quelque chose comme ceci:
Html:
First array :
fax :<input type="text" class="inp" name="f[0][0]" />
email :<input type="text" class="inp" name="f[0][1]" />
phone :<input type="text" class="inp" name="f[0][2]" />
Second array :
fax :<input type="text" class="inp" name="f[1][0]" />
email :<input type="text" class="inp" name="f[1][1]" />
phone :<input type="text" class="inp" name="f[1][2]" />
PHP:
<?php
function addCustomRow($tableName)
{
$arr = $this->input->post('f[]');
$field = implode(":br:", $arr);
$data = array(
'anotherField' => $this->input->post('anotherField'),
'field' => $field
);
$this->db->insert($tableName, $data);
}
?>
mais il dit Wrong [Gravité: Avis Message: Tableau de conversion de chaîne] et je reçois des données dans une base MySQL comme ce
array :br: array
EDIT:
Je veux faire comme ça parce que j'ai une table Catégories .. et chaque chat a ses propres détails (champs) .. alors quand j'ajoute un nouveau chat, je fais juste quelque chose comme ça
name of cat : <input type="text" name="name" />
<!-- Fields -->
Fields //
Field 1 :
title of the filde : <input type="text" name="f[0][0]" />
type : <input type="text" name="f[0][1]" /> <!-- 1= text , 2= select , 3= textarea .. -->
default value : <textarea rows="8" cols="20" name="f[0][2]"> </textarea> <!-- if select type write value1::value2::value3 ... -->
Field 2 :
title of the filde : <input type="text" name="f[1][0]" />
type : <input type="text" name="f[1][1]" /> <!-- 1= text , 2= select , 3= textarea .. -->
default value : <textarea rows="8" cols="20" name="f[1][2]"> </textarea> <!-- if select type write value1::value2::value3 ... -->
Field 3 :
title of the filde : <input type="text" name="f[2][0]" />
type : <input type="text" name="f[2][1]" /> <!-- 1= text , 2= select , 3= textarea .. -->
default value : <textarea rows="8" cols="20" name="f[2][2]"> </textarea> <!-- if select type write value1::value2::value3 ... -->
et je peux ajouter un certain nombre de champs ici ..
dans la base de données que je veux insérer comme ceci:
[nameOfBook|1|anyName :br: noOfPages|1|anyNo ]
et dans l'autre chat comme celui-ci par exemple:
[colorOfcar | 2 | rouge :: noir :: vert: br: prix | 1 | n'importe quel prix]
une aide?
merci d'avance ..
@Justin Johnson
merci pour votre réponse, mais il ne marche pas. Travail Je dois utiliser $ var pour insérer des données toutes les données, mais j'utilise vous répondez comme ça
function addCustomRow($tableName)
{
$data = array(
'name' => $this->input->post('name'),
'fields' => serialize($this->input->post('f[]'))
);
$this->db->insert($tableName, $data);
}
et je reçois des données mysqyl comme ceci (b: 0;) !!
//
@Suku merci .. Je l'ai utilisé avant de demander, mais je ne savais pas comment .. Comment puis-je l'utiliser dans mon cas ici? ..
@ Alex
parce que je table nommée (catégories) et chaque chat a posséder des domaines tels que:carsCat >
type :
color:
details:
BooksCat >
nameOfbook:
writer:
numberOfpage:
et ainsi de suite .. Je trouve cette façon, la meilleure façon peut-être dans mon cas .. des suggestions?
+1 - juste ce que je vais suggérer :) – jaywon
serialize et unserialize fera l'affaire et que Justin Johnson a mentionné aussi qu'il est bon aussi normaliser les –
merci .. Je l'ai utilisé avant de demander mais je ne savais pas comment .. Comment puis-je l'utiliser dans mon cas ici? –