проблемы с $_POST и записи в mssql

rooot

Новичок
проблемы с $_POST и записи в mssql

input.php
<form action='add.php' method='post'>
<select name='otdel'>
<option selected value=Списанные>Списанные
<option value=АС>АС
<option value=АТХ>АТХ
<option value=Бухгалтерия>Бухгалтерия
<option value=Казначейство 2-уровня>Казначейство 2-уровня
<option value=НУЦ>НУЦ
<option value=ОВК>ОВК
<option value=ОГС>ОГС
<option value=ОЗГТ>ОЗГТ
<option value=ОМ>ОМ
<option value=ОМПЧС>ОМПЧС
<option value=ОМТС>ОМТС
</select>

add.php


switch ($_POST['otdel']) {

case 'Списанные':
header("Location: /otdel/1.php");
exit;
break;
case 'АС':
header("Location: /otdel/2.php");
exit;
break;
case 'АТХ':
header("Location: /otdel/3.php");
exit;
break;
case 'Бухгалтерия':
header("Location: /otdel/4.php");
exit;
break;
case 'Казначейство 2-уровня':
header("Location: /otdel/5.php");
exit;
break;
case 'НУЦ':
header("Location: /otdel/6.php");
exit;
break;
......................
}
<select name="tab1">
<option selected value="Системный блок">Системный блок
<option value=Сервер>Сервер
<option value=Монитор>Монитор
<option value=Принтер>Принтер
<option value=Видеокамера>Видеокамера
<option value=Ист.бесп.питания>Ист.бесп.питания
<option value=Инвертор>Инвертор
<option value="Коммутатор (Switch)">Коммутатор (Switch)
<option value=Конвертер>Конвертер
<option value="Концентратор (Hub)">Концентратор (Hub)
<option value=Кросс-коннектор>Кросс-коннектор
<option value="Маршрутизатор (Router)">Маршрутизатор (Router)
<option value=Модем>Модем
<option value=Модуль>Модуль
<option value=Мост>Мост
<option value=Мультиплексор>Мультиплексор
<option value=Копиров.аппарат>Копиров.аппарат
<option value="Колонки активные">Колонки активные
<option value=Комплектующие>Комплектующие
<option value=Принт-сервер>Принт-сервер
<option value=Сканер>Сканер
<option value=Факс>Факс
<option value=Шасси>Шасси
<option value=Шкаф-стойка>Шкаф-стойка
<option value=Разное>Разное
</select>

otdel\1.php
<form action='write\1.php' method='post' name="write">
<td><font color="#000080"><b>Серийный номер:</b></font></td>
<td><input type="text" name=tab5 size=26></td>
</tr>
<tr>
<td><font color="#000080"><b>Инвентарный номер:</b></font></td>
<td><input type="text" name=tab6 size=26></td>
</tr>
<tr>
<td><font color="#000080"><b>Подразделение:</b></font></td>
<td><font color="#dd0000"><b><center><?php echo $_POST['otdel']; ?></center></b></font></td>



write\1.php

<?php

$tab1 = $_POST['tab1'];
$tab2 = $_POST['tab2'];
$tab3 = $_POST['tab3'];
$tab4 = $_POST['tab4'];
$tab5 = $_POST['tab5'];
$tab6 = $_POST['tab6'];
$tab7 = $_POST['otdel'];
$tab8 = $_POST['tab8'];
$tab9 = $_POST['tab9'];
$tab10 = $_POST['tab10'];
$tab11 = $_POST['tab11'];
$tab12 = $_POST['tab12'];
$tab13 = $_POST['tab13'];
$tab14 = $_POST['tab14'];
$tab15 = $_POST['tab15'];
$tab16 = $_POST['tab16'];
$tab17 = $_POST['tab17'];
$tab18 = $_POST['tab18'];
$tab19 = $_POST['tab19'];
$tab20 = $_POST['tab20'];
$tab21 = $_POST['tab21'];
$tab22 = $_POST['tab22'];
$tab23 = $_SERVER['PHP_AUTH_USER'];
$tab24 = $_POST['tab24'];


$msconnect=mssql_connect("localhost","root","777");
$msdb=mssql_select_db("sklad",$msconnect);
$msquery = "INSERT INTO otd1 (tab1,tab2,tab3,tab4,tab5,tab6,tab7,tab8,tab9,tab10,tab11,tab12,tab13,tab14,tab15,tab16,tab17,tab18,tab19,tab20,tab21,tab22,tab23,tab24) VALUES ('$tab1','$tab2','$tab3','$tab4','$tab5','$tab6','$tab7','$tab8','$tab9','$tab10','$tab11','$tab12','$tab13','$tab14','$tab15','$tab16','$tab17','$tab18','$tab19','$tab20','$tab21','$tab22','$tab23','$tab24')";
$msresults= mssql_query($msquery);
mssql_close($msconnect);

?>

<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251'>
<style type='text/css'>

.btn { FONT-SIZE: 7.5pt;
COLOR: #DFDDD3;
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;
BACKGROUND-COLOR: #2B2B18;
border: 1px double #817A63;
}
</style>
</head>
<body background='bg.gif' bgproperties="fixed">
<BR>
<BR>
<BR>
<BR>
<BR>
<center>
<font color=#000080 size=6><B>Данные занесены в базу.</B></font>
</center>
</body>
</html>

Проблема в том что все заносится в БД кроме $tab7 = $_POST['otdel']; причем в файле otdel\1.php запись отображается.
 

Tor

Новичок
а нам не не надо там все понимать
ты узнай, в какой строке у тебя не происходит то, что тебе хочется
и потом, если сам не сможешь решить проблему, то мы поможем
 

Мутник

Новичок
msquery = "INSERT INTO otd1 (tab1,tab2,tab3,tab4,tab5,tab6,tab7,tab8,tab9,tab10,tab11,tab12,tab13,tab14,tab15,tab16,tab17,tab18,tab19,tab20,tab21,tab22,tab23,tab24) VALUES ('$tab1','$tab2','$tab3','$tab4','$tab5','$tab6','$tab7','$tab8','$tab9','$tab10','$tab11','$tab12','$tab13','$tab14','$tab15','$tab16','$tab17','$tab18','$tab19','$tab20','$tab21','$tab22','$tab23','$tab24')";
$msresults= mssql_query($msquery);
посмотри [m]implode[/m] а также работу с массивами.. и ты код упростишь раза в 2-3. (это совет)
 

Tor

Новичок
Мутник
ага
и сортировки, выборки через одно место потом делать?
 

Мутник

Новичок
Tor

погоди.........

я имел в виду, что можно сделать "('$tab1','$tab2','$tab3','$tab4','$tab5','$tab6','$tab7','$tab8','$tab9'" в красивом виде через implode.. чтобы не париться.. хранить можно также как и сейчас...

+

$tab20 = $_POST['tab20'];
$tab21 = $_POST['tab21'];
$tab22 = $_POST['tab22'];

как миниммум проще сделать $tab[] = ... :)

или вы, уважаемый, считаете иначе???
 

Tor

Новичок
я имел в виду, что можно сделать "('$tab1','$tab2','$tab3','$tab4','$tab5','$tab6','$tab7','$tab8','$tab9'" в красивом виде через implode
это имеет смысл, если приходится это переписывать постоянно
а так, раз написал и забыл - заче сюда лишние операции добавлять

как миниммум проще сделать $tab[]
а вот это поддерживаю
 

Мутник

Новичок
Tor

в массиве $tab - вся инфа.


потом:
это имеет смысл, если приходится это переписывать постоянно
$str = "('".implode("','", $tab)."')";

что более читаемо, скажи? :))))

ладно, это уже дело вкуса...
 

fixxxer

К.О.
Партнер клуба
Имеет смысл использовать головной мозг при проектировании БД.
 

Мутник

Новичок
fixxxer

а если таковой отсутствует, что делать? результат то при любом раскладе нужен... кушать то охота!
 
Сверху