2013-07-31 288 views
-1

此表格正在从表pracownicy获取列名称。它是动态的,因为这些是当他开始为公司工作时新员工将在他的计算机上使用的应用程序的名称。
由于员工正在使用的应用程序数量不断增加,我还有另一种表格用于在表pracownicy中添加列。
这个表格是每个部门的主管向我们宣布一个新员工来工作的。我有一个将数据插入到mysql的问题。
如何将POST和投入insert into这个表单中的数据?每次向数据库添加一些新的应用程序时,变量的数量(来自“SHOW COLUMNS”的应用程序)都在变化,所以我不能使用静态变量。
显示专栏,$query = Values (Implode) ???SHOW COLUMNS,动态变量,INSERT INTO .. implode?

echo '<form action="formularz.php" method="POST"> 
<table border=0 class=\"odd gradeX\"> 
<tr bgcolor=#ffdddd> 
<td>Imię i nazwisko:</td> 
<td><input type="text" name="imieinazwisko"></td> 
</tr> 
<tr bgcolor=#ddddff> 
<td>Dział:</td> 
<td align=center><select name="dzial"> 
    <option value = "LCL">LCL 
    <option value = "NVOCC">NVOCC 
    <option value = "ZA">ZA 
    <option value = "ZAM">ZAM 
    <option value = "ZLR">ZLR 
    <option value = "ZR">ZR 
    <option value = "ZT">ZT 
</select></td> 
</tr> 
<tr bgcolor=#ffdddd> 
<td>Telefon:</td> 
<td align=center><select name="telefon"> 
    <option value = "Stacjonarny">Stacjonarny 
    <option value = "Blackberry">Blackbery 
    <option value = "Blackberry + Stacjonarny">Blackbery + Stacjonarny 
</select></td> 
</tr> 
<tr bgcolor=#ddddff> 
<td>Komputer:</td> 
<td align=center><select name="komputer"> 
    <option value = "Laptop">Laptop 
    <option value = "Laptop + Iplus">Laptop + Iplus 
    <option value = "Stacjonarny">Stacjonarny 
</select></td> 
</tr> 
<tr bgcolor=#ffdddd> 
<td> <link rel="stylesheet" 
href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" /> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script> 
<link rel="stylesheet" href="/resources/demos/style.css" /> 
<script> 
$(function() { 
$("#datepicker").datepicker(); 
}); 
</script> 
</head> 
<body> 
<p>Data rozpoczęcia pracy: </td><td><input type="text" 
name ="data" id="datepicker"/></p></td> 
</tr> 
<tr bgcolor=#ddddff> 
<td>Oprogramowanie:</td><td></td></tr> 


<tr bgcolor=#ddddff>'; 



$result = mysql_query("SHOW COLUMNS FROM pracownicy") or die(mysql_error()); 

     while ($row = mysql_fetch_array($result)) 
     { 
if($row[0] == 'id' || $row[0] == 'imieinazwisko' || $row[0] == 'dzial' 
|| $row[0] == 'telefon' || $row[0] == 'komputer' || $row[0] == oprogramowanie' 
||   $row[0] == 'data') 
continue; 
     echo '<td bgcolor=#ddddff>'.$row[0].'<br />'; 


if (stripos($row[0], "uprawnienia") !== false) { 
echo '<td bgcolor=#ddddff><p><a class=podpowiedz href=#> 
<input type="text" name="'.$row[0].'"> 
<span>Uprawnienia typu "stanowisko" lub "jak ktoś"</span></a></p>   
</td></tr>'; 
     } 
     else 
     { 
echo '<td bgcolor=#ddddff align=center><select name="'.$row[0].'"> 
<option value = "Nie">Nie 
<option value = "Tak">Tak 
</td> 
</tr>'; 
} 

} 
//echo '</select></form>'; 
echo ' 

<tr> 
<td><input type="submit" name="zapisz" value="Zapisz"></td> 
</tr> 
</form> 
</table> 
</form></center>';` 

if(isset($_POST['zapisz'])) 
{ 
$imieinazwisko = trim($_POST['imieinazwisko']); 
$dzial = trim($_POST['dzial']); 
$telefon = trim($_POST['telefon']); 
$komputer = trim($_POST['komputer']); 
$data = trim($_POST['data']); 
??? $rowSrray = trim($_POST[$row[0]]);   ---???? 

??? $query = "INSERT INTO `pracownicy` VALUES (NULL , '$imieinazwisko' , '$dzial', 
'$telefon' , '$komputer' , '$data', ".implode(', ', $_POST[$row['0']]).")"; ---??? 
+2

因此,您是否为公司中正在使用的每个新应用程序添加了一个新列?这很混乱,正常化你的数据结构。 – CBroe

+0

您在这里缺少一个报价'$ row [0] == oprogramowanie''。这个问题在哪里还不清楚?如果你想知道如何在数据库中插入数据,那么SO上有很多问题/答案。 – HamZa

+0

if($ row [0] =='id'|| $ row [0] =='imieinazwisko'|| $ row [0] =='dzial'|| $ row [0] =='telefon'| | $ row [0] =='komputer'|| $ row [0] == oprogramowanie'|| $ row [0] =='data')< - 仅用于从“SHOW COLUMNS”排除静态部分,所以我可以只将数据插入到“应用程序”字段..我修正了缺少配额但它仍然无法正常工作..我不知道如何从窗体和“值”中选择“