array в MySQL

Msecurity

Registered
Здравейте
Имам следният проблем:
Имам една форма която има опция за добавяне на полета
4877.jpg

тя си работи , но проблемът е когато искам да добавя въведената инфо в базата данни.
Ето резултатът и всичко си е ОК
4878.jpg

Но в базата данни добавя само последният ред...
4879.jpg

И къде е грешката във заявката че не ми добавя всичко което съм въвел?
Ето сега и кода на 2-та ми файла
Формата / без JavaScript /
HTML:
 <BODY>
 <form action="pdf.php" method="post">
 <INPUT type="button" value="Add Row" onclick="addRow('dataTable')" />
 <INPUT type="button" value="Delete Row" onclick="deleteRow('dataTable')" />
 
 <TABLE id="dataTable" width="350px" border="1">
 <TR>
 <TD><INPUT type="checkbox" name="chk[]"/></TD>
 <TD><INPUT type="text" name="txt[]">></TD>
 <TD>
<SELECT name="country[]">
    <OPTION value="in">India</OPTION>
    <OPTION value="de">Germany</OPTION>
    <OPTION value="fr">France</OPTION>
    <OPTION value="us">United States</OPTION>
    <OPTION value="ch">Switzerland</OPTION>
</SELECT>
 </TD>
 </TR>
 </TABLE>
 <input type="submit" />
  </BODY>

Ето и кода за заявката:
Код:
<?php
 error_reporting(E_ALL ^ E_NOTICE);
 include ("conf.php");
$chkbox = $_POST['chk'];
$txtbox = $_POST['txt'];
$country = $_POST['country'];
 foreach($txtbox as $a => $b)
 {
 	$values[] = "('$a', '$b')";
 }
$sql="INSERT INTO tab1 (id, tab1, tab2, tab3) VALUES ('', '$chkbox[$a]','$txtbox[$a]','$country[$a]')";
$result=mysql_query($sql);
if($result){
	echo "Записът е успешно добавен";
	echo "<BR>";
	echo "<a href='tform.php'>Обратно</a>";
}

else {
	echo "ERROR";
}
foreach($txtbox as $a => $b)
	echo "<table border='1'><tr><TD WIDTH=10>  $chkbox[$a] </td><TD WIDTH=100>  $txtbox[$a] </td><TD WIDTH=100>  $country[$a] </td></tr></table>";

?>
 
Ето ги стойностите:

Код:
Array
(
    [txt] => Array
        (
            [0] => Test INDIA
            [1] => TEST Germany
            [2] => TEST France
            [3] => TEST US
            [4] => TEST  Swit
        )

    [country] => Array
        (
            [0] => in
            [1] => de
            [2] => fr
            [3] => us
            [4] => ch
        )

)
 
Ето:
Код:
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `tab1` text COLLATE cp1251_bulgarian_ci NOT NULL,
  `tab2` text COLLATE cp1251_bulgarian_ci NOT NULL,
  `tab3` text COLLATE cp1251_bulgarian_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=cp1251 COLLATE=cp1251_bulgarian_ci AUTO_INCREMENT=102 ;
 
Да я вкарам?!?
Ще може ли да ми дадеш някакъв пример?
Че не ми е ясно по точно какво трябва да напрвя :)
 
Слагаш заявката за insert във foreach цикъла,за да се изпълни толкова пъти,колкото са ти полетата.
 

Back
Горе