Вроде как что начинает получатся (правда пока не на динамическом селекте ( ), но выдает ошибку:
Цитата:
Warning: Invalid argument supplied for foreach() in Z:\home\itr.itr\www\print\add_print.php on line 35
You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 INSERT INTO print (mat_face) values ('Столбенко Г.Н.') )
|
читать дальше »
PHP код:

$mat_face = $_POST['mat_face'];
if(!empty($mat_face))
{
// Начинаем формировать переменную, содержащую этот список
// в формате "(3,5,6,7)"
$query = "(" ;
foreach($mat_face as $val) $query.= "$val,";
// Удаляем последнюю запятую, заменяя ее закрывающей скобкой)
$query = substr($query, 0, strlen($query) - 1 ). ")" ;
// Завершаем формирование SQL-запроса на удаление
$query = "INSERT INTO print (mat_face) values ('$mat_face') ".$query;
// Выполняем запрос
if(!mysql_query($query))
{
echo mysql_error()."<br>";
echo $query."<br>";
}
}
header("Location: insert_print.php");
HTML код:

<form name="myForm" action="add_print.php" method="post" onSubmit="return splash();">
<input type="hidden" name="action" value="add">
<table width="100%" border="0" cellspacing="3" cellpadding="0">
<tr>
<td>Модель</td>
<td>Серийный номер</td>
<td>Инвентарный номер</td>
<td>Картридж</td>
<td>Этаж</td>
<td>Кабинет</td>
<td>Мат. лицо</td>
</tr>
<tr>
<td><input name="model" maxlength=30 size=22> </td>
<td><input name="sn" maxlength=30 size=22></td>
<td><input name="inv_num" maxlength=60 size=22></td>
<td><input name="cartrige" maxlength=60 size=22></td>
<td><input name="et" maxlength=60 size=22></td>
<td><input name="depar" maxlength=60 size=22></td>
<td><!--<input name="mat_face" maxlength=60 size=22>-->
<?php
include "../data/dbconfig.php";
//if($conect == true) {echo 'Conect DB';}
//if($select == true) {echo 'Select TABLE';}
//selet all data from DB test
$result = mysql_query("select * FROM mat_face");
$array = mysql_fetch_array($result);
echo "<select size='1' name='mat_face' ><option value='all'>*Выбрать проблему...*</option>";
do {
printf("
<option class='cat-title' name='mat_face[]' value='%s'>%s</option>
"
,$array['name'],$array['name']);
}
while($array = mysql_fetch_array($result));
echo "</select>"
?>
</td>
</tr>
</table>
<table width="100%" border="0" align="center"><tr colspan=2><center><input type="submit" value="Отправить"></center></tr></table>
</form>
Попытался сделать на основе удаления выбранных строк, но как то не сильно (
Цитата Sham:
do-while делает минимум 1 цикл, даже если выборки нет, в результате чего внутри цикла будут неопределенные переменные. »
|
Я убрал do и после обновления страницы в списке осталось только одно значение, вместо 5...