Есть форма - на ней выпадающие списки (вытягиваются из таблиц БД) и несколько текстовых полей.
Суть проблемы: при отправке введенных данных, эти данные не добавляться в соответствующую таблицу БД. сори за гкод, 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
Зачем <form> присвоил name?
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 поставь, во-вторых
в ставке, когда значения вставляешь, не закрыл скобку
Во-первых, пробел после 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.
Это на вкус и цвет) Кому-то легче сетом, кому то через VALUES.
Цитата |
А да еще, про mysql_real_escape_string() и (int) не забудь. Не забудь филтрировать приходящие данные |
Тут вообще защиты нету, так что это не поможет)
там вся проблема в скобке была.
Спустя 5 часов, 35 минут, 35 секунд (17.04.2012 - 15:45) inpost написал(а):
justyork
set виднее, когда длинные вставки.
VALUES только для множественной вставки использовать много. Но там уже и на 10 полей путаешься.
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
это смотря как делаешь, можно сделать так:
И не спутаешься :)
Хотя я конечно только сетом пользуюсь :lol: B)
это смотря как делаешь, можно сделать так:
$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`, надеюсь ты их хоть не переименовываешь
ну напиши 20 или 35 полей таким образом. Посмотри, видно ли будет. К тому же переменные входящие: $_POST['name'], а имена ячеек `name`, надеюсь ты их хоть не переименовываешь
Спустя 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
Спустя 1 час, 57 минут, 2 секунды (18.04.2012 - 06:13) inpost написал(а):
justyork
Тебе вправду кажется, что читабельно?
Только имена в добавок дай разной длины!
Тебе вправду кажется, что читабельно?
Только имена в добавок дай разной длины!
Спустя 1 час, 6 минут, 59 секунд (18.04.2012 - 07:20) justyork написал(а):
inpost
В общем суть в том, что можно Я обычно не даю сильно длинные названия полей
В общем суть в том, что можно Я обычно не даю сильно длинные названия полей
Спустя 2 часа, 16 минут, 16 секунд (18.04.2012 - 09:36) inpost написал(а):
justyork
у тебя поле 1 = полю 6, а поле 6 = полю 11, какая-то симетрия, которая нереальна в проектах.
у тебя поле 1 = полю 6, а поле 6 = полю 11, какая-то симетрия, которая нереальна в проектах.