PHP ile MySQL veritabanı ONE alanında bir dizi eklemek istediğiniz ..
Bu işi gayet:
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 (Ben CodeIgniter çerçeve kullanın):
<?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);
}
?>
ve ben böyle mysql veri almak
fax|email|phone
BUT ..
Benim soru bu gibi .. aynı alanda birçok dizileri istediğiniz olduğunu ..:
fax|email|phone :br: fax|email|phone :br: fax|email|phone ..
Ben böyle bir şey denedim:
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);
}
?>
but it says Wrong [ Severity: Notice Message: Array to string conversion ] ve ben böyle mysql veri almak
array :br: array
EDIT :
I want to do that like this way because I have a Categories Table .. and each cat has own details ( fields ) .. so when I add new cat I just do some thing like this
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 ... -->
ve ben burada herhangi bir sayıda alan ekleyebilirsiniz ..
veritabanında böyle eklenen veri istiyorum:
[nameOfBook|1|anyName :br: noOfPages|1|anyNo ]
ve, örneğin, bu gibi diğer kedi:
[ColorOfcar | 2 | red :: siyah :: green: br: fiyat | 1 | anyPrice]
herhangi bir yardım?
şimdiden teşekkürler ..
@ Justin Johnson
thanks for your answer, but it doesnt work. I have to use $data var to insert all the data but I use you answer like this
function addCustomRow($tableName)
{
$data = array(
'name' => $this->input->post('name'),
'fields' => serialize($this->input->post('f[]'))
);
$this->db->insert($tableName, $data);
}
ve ben bu gibi veri mysqyl olsun (b: 0;)!
/ /
@ Suku teşekkürler .. ben sormadan önce onu kullanmış ama nasıl .. Nasıl burada benim durumumda kullanabilirsiniz bilmiyordum? ..
@ Alex
: I (kategori) ve her kedi adlı tablo gibi alanlar kendi vardır çünkü
carsCat >
type :
color:
details:
BooksCat >
nameOfbook:
writer:
numberOfpage:
and so on .. I find this way the Best way maybe in my case .. any suggestions?