[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Добавление данных в БД
xboltik
Доброго времени суток.
Есть форма - на ней выпадающие списки (вытягиваются из таблиц БД) и несколько текстовых полей.
Суть проблемы: при отправке введенных данных, эти данные не добавляться в соответствующую таблицу БД. сори за гкод, php недавно начал изучать...
Код:
<?php
include('db.php');

echo'<center>
<form action="" method="post" name = "form4">
<table width="282" border="0" cellspacing="15">
<tr>
<td width="86">Обслужил:</td><td>
<select name="s1" style="width: 215px;">'
;
$res = mysql_query("SELECT * FROM worker");
while($row = mysql_fetch_assoc($res))
{
echo '<option value="'. $row['name_worker'] .'">'. $row['name_worker'] .'</option>';
}
echo '</select></td>
</tr>
<tr>
<td width="86">Клиент:</td><td>

<select name="s2" style="width: 215px;">'
;
$res = mysql_query("SELECT * FROM clients");
while($row = mysql_fetch_assoc($res))
{
echo '<option value="'. $row['name_of_client'] .'">'. $row['name_of_client'] .'</option>';
}
echo '</select></td>
</tr>
<tr>
<td width="86">Фильмы:</td><td>
<select name="s3" style="width: 215px;">'
;
$res = mysql_query("SELECT * FROM video");
while($row = mysql_fetch_assoc($res))
{
echo '<option value="'. $row['title'] .'">'. $row['title'] .'</option>';
}
echo '</select></td></tr>
<tr>
<td width="86">Количество дней:</td><td width="386"><input name = "count_day" type="text" size="30" maxlength="40" /></td>
</tr>
<tr>
<td width="86">Цена:</td><td width="386"><input name="cena" type="text" size="30" maxlength="50"></td>
</tr>
<tr>
<td></td><td><p align="right"><input name="client" type="submit" value="Добавить" /></p></td>
</tr>
</table>
</form>
</center>'
;
$worker = $_POST["s1"];
$client = $_POST["s2"];
$video = $_POST["s3"];
$c_day = $_POST["count_day"];
$cena = $_POST["cena"];
$result = mysql_query("SELECT * FROM zakaz WHERE z_worker = '$worker' or z_client = '$client' or z_film = '$video' or z_day ='$c_day' or z_cena = '$cena'", $db);
$myrow = mysql_fetch_array ($result);
if ($worker != NULL and $client != NULL and $c_day != NULL and $cena !=NULL )
{
$result = mysql_query("INSERT INTO zakaz (z_worker, z_client, z_film, z_day, z_cena) VALUES('$worker', '$client','$video','$c_day', '$cena'", $db);
if (isset ($result) > 0)
echo "<center><h3>Заказ успешно оформлен! </h3><br/>
worker-
$worker<br>
client -
$client <br/>
film -
$video<br/>
dney -
$c_day<br/>
cena -
$cena
</center>";
}

?>




Спустя 8 часов, 21 минута, 7 секунд (17.04.2012 - 04:19) Xpund написал(а):
Покожи: $db
echo'
у меня без пробела не работает)
Зачем <form> присвоил name?



if(isset($_POST['client']))
{


$worker = $_POST["s1"];
$client = $_POST["s2"];
$video = $_POST["s3"];
$c_day = $_POST["count_day"];
$cena = $_POST["cena"];
$result = mysql_query("SELECT * FROM zakaz WHERE z_worker = '$worker' or z_client = '$client' or z_film = '$video' or z_day ='$c_day' or z_cena = '$cena'", $db);
$myrow = mysql_fetch_array ($result);
if ($worker != NULL and $client != NULL and $c_day != NULL and $cena !=NULL )
{
$result = mysql_query("INSERT INTO zakaz (z_worker, z_client, z_film, z_day, z_cena) VALUES('$worker', '$client','$video','$c_day', '$cena'", $db);
if (isset ($result) > 0)
echo "<center><h3>Заказ успешно оформлен! </h3><br/>
worker-
$worker<br>
client -
$client <br/>
film -
$video<br/>
dney -
$c_day<br/>
cena -
$cena
</center>";
}
}

?>

Спустя 4 часа, 48 минут, 57 секунд (17.04.2012 - 09:08) justyork написал(а):
xboltik

Во-первых, пробел после echo поставь, во-вторых

в ставке, когда значения вставляешь, не закрыл скобку
$result = mysql_query("INSERT INTO zakaz (z_worker, z_client, z_film, z_day, z_cena) VALUES('$worker', '$client','$video','$c_day', '$cena')", $db);

Спустя 19 минут, 45 секунд (17.04.2012 - 09:28) Ramzil_Nixon написал(а):
Цитата (xboltik @ 16.04.2012 - 16:58)
$result = mysql_query("INSERT INTO zakaz (z_worker, z_client, z_film, z_day, z_cena) VALUES('$worker', '$client','$video','$c_day', '$cena'", $db);



Попробуй с SET:

$result = mysql_query("INSERT INTO `zakaz` SET 
`z_worker` = '
$worker',
`z_client` = '
$client',
`z_film` = '
$video',
`z_day` = '
$c_day',
`z_cena` = '
$cena'") or die(mysql_error());


Мне самой кажется что с SET'ом легче

А да еще, про mysql_real_escape_string() и (int) не забудь. Не забудь филтрировать приходящие данные

Спустя 41 минута, 58 секунд (17.04.2012 - 10:10) justyork написал(а):
Ramzil_Nixon
Это на вкус и цвет) Кому-то легче сетом, кому то через VALUES.

Цитата
А да еще, про mysql_real_escape_string() и (int) не забудь. Не забудь филтрировать приходящие данные

Тут вообще защиты нету, так что это не поможет)

там вся проблема в скобке была.

Спустя 5 часов, 35 минут, 35 секунд (17.04.2012 - 15:45) inpost написал(а):
justyork
set виднее, когда длинные вставки.

VALUES только для множественной вставки использовать много. Но там уже и на 10 полей путаешься.

Спустя 8 часов, 25 минут, 47 секунд (18.04.2012 - 00:11) xboltik написал(а):
Цитата (justyork @ 17.04.2012 - 06:08)
xboltik

Во-первых, пробел после echo поставь, во-вторых

в ставке, когда значения вставляешь, не закрыл скобку
$result = mysql_query("INSERT INTO zakaz (z_worker, z_client, z_film, z_day, z_cena) VALUES('$worker', '$client','$video','$c_day', '$cena')", $db);

Вот я слепой :) Спасибо.

Спустя 1 час, 34 минуты, 44 секунды (18.04.2012 - 01:46) justyork написал(а):
inpost
это смотря как делаешь, можно сделать так:

$result = mysql_query("INSERT INTO
zakaz (z_worker, z_client, z_film, z_day, z_cena)
VALUES('
$worker', '$client','$video','$c_day', '$cena')", $db);

И не спутаешься :)
Хотя я конечно только сетом пользуюсь :lol: B)

Спустя 49 минут, 42 секунды (18.04.2012 - 02:36) inpost написал(а):
justyork
ну напиши 20 или 35 полей таким образом. Посмотри, видно ли будет. К тому же переменные входящие: $_POST['name'], а имена ячеек `name`, надеюсь ты их хоть не переименовываешь smile.gif

Спустя 1 час, 6 минут, 36 секунд (18.04.2012 - 03:42) justyork написал(а):
Вызов принят:)

$result = mysql_query("INSERT INTO
zakaz (z_worker1, z_client1, z_film1, z_day1, z_cena1,
z_worker2, z_client2, z_film2, z_day2, z_cena2,
z_worker3, z_client3, z_film3, z_day3, z_cena3,
z_worker4, z_client4, z_film4, z_day4, z_cena4,
z_worker5, z_client5, z_film5, z_day5, z_cena5,
z_worker6, z_client6, z_film6, z_day6, z_cena6 )
VALUES('{
$_POST['$worker1']}', '{$_POST['client1']}','{$_POST['video1']}','{$_POST['c_day1']}','{$_POST['cena1']}',
'{
$_POST['$worker2']}', '{$_POST['client2']}','{$_POST['video2']}','{$_POST['c_day2']}','{$_POST['cena2']}',
'{
$_POST['$worker3']}', '{$_POST['client3']}','{$_POST['video3']}','{$_POST['c_day3']}','{$_POST['cena3']}',
'{
$_POST['$worker4']}', '{$_POST['client4']}','{$_POST['video4']}','{$_POST['c_day4']}','{$_POST['cena4']}',
'{
$_POST['$worker5']}', '{$_POST['client5']}','{$_POST['video5']}','{$_POST['c_day5']}','{$_POST['cena5']}',
'{
$_POST['$worker6']}','{$_POST['client6']}','{$_POST['video6']}','{$_POST['c_day6']}','{$_POST['cena6']}')");

Вроде читаемо :)

Спустя 33 минуты, 55 секунд (18.04.2012 - 04:16) Xpund написал(а):
justyork
biggrin.gif

Спустя 1 час, 57 минут, 2 секунды (18.04.2012 - 06:13) inpost написал(а):
justyork
Тебе вправду кажется, что читабельно? smile.gif
Только имена в добавок дай разной длины!

Спустя 1 час, 6 минут, 59 секунд (18.04.2012 - 07:20) justyork написал(а):
inpost
В общем суть в том, что можно smile.gif Я обычно не даю сильно длинные названия полей

Спустя 2 часа, 16 минут, 16 секунд (18.04.2012 - 09:36) inpost написал(а):
justyork
у тебя поле 1 = полю 6, а поле 6 = полю 11, какая-то симетрия, которая нереальна в проектах.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.