Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: edit, add, dell - в одном файле.
 
 автор: pc2000   (05.08.2005 в 15:10)   письмо автору
 
 

Говорили же взрослые дядьки, не браться за написание больших приложений... нифига, всеравно тянет... вот тут и начинаются траблы. :()

В книге "Практика создания web сайтов" нашел как слепить две формы (из раздела 8.3) оч познавательно, но пашет тока часть из того что надо, остальная же фиг, потому как хочу слепить в один файл edit, add и dell (add_edit_dell.php), а в книге это все в разных... Имеется файлик который был написан до этого, вот если бы все воткнуть в него то я был бы просто безумно рад, но чет не получается. Может кто подскажет.

<?php
$db 
= mysql_connect("localhost", "root");
mysql_select_db("mybase",$db);
if (
$id_product) {
// here if no id_models then adding else we're editing
if ($id_product) {
$sql = "UPDATE models SET producer='$producer', model='$model', type='$type', corps='$corps', processor='$processor', cache='$cache', mb='$mb', ram='$ram', hdd='$hdd', opticapparatus='$opticapparatus', display='$display', video='$video', audio='$audio', modem='$modem', lan='$lan', inbuilt='$inbuilt', kb='$kb', trackpad='$trackpad', os='$os', interface='$interface', security='$security', power='$power', battery='$battery', size='$size', weight='$weight'
WHERE id_product="
.$_GET['id_product'];
} else {
$sql = "INSERT INTO models (producer, model, type, corps, processor, cache, mb, ram, hdd, opticapparatus, display, video, audio, modem, lan, inbuilt, kb, trackpad, os, interface, security, power, battery, size, weight) VALUES
('
$producer', '$model', '$type', '$corps', '$processor', '$cache', '$mb', '$ram', '$hdd', '$opticapparatus', '$display', '$video', '$audio', '$modem', '$lan', '$inbuilt', '$kb', '$trackpad', '$os', '$interface', '$security', '$power', '$battery', '$size', '$weight')";
}
// run SQL against the DB
$result = mysql_query($sql);
echo 
"<i>Модель сохранена!</i><p>";

} 
?>
<form method="post" action="<?php echo $PHP_SELF?>">
<?php
if ($id_product)
{
// editing so select a record
$sql = "SELECT * FROM models
WHERE id_product="
.$_GET['id_product'];
$result = mysql_query($sql);
$mybase = mysql_fetch_array($result);
$id_product = $mybase["id_product"];
$producer = $mybase["producer"];
$model = $mybase["model"];
$type = $mybase["type"];
$corps = $mybase["corps"];
$processor = $mybase["processor"];
$cache = $mybase["cache"];
$mb = $mybase["mb"];
$ram = $mybase["ram"];
$hdd = $mybase["hdd"];
$opticapparatus = $mybase["opticapparatus"];
$display = $mybase["display"];
$video = $mybase["video"];
$audio = $mybase["audio"];
$modem = $mybase["modem"];
$lan = $mybase["lan"];
$inbuilt = $mybase["inbuilt"];
$kb = $mybase["kb"];
$trackpad = $mybase["trackpad"];
$os = $mybase["os"];
$interface = $mybase["interface"];
$security = $mybase["security"];
$power = $mybase["power"];
$battery = $mybase["battery"];
$size = $mybase["size"];
$weight = $mybase["weight"];
// print the id_models for editing
?>
<input type=hidden name="id_product" value="<?php echo $id_product ?>">
<?php
}
?>
<?PHP
if ($id_product)
{
$result = mysql_query("SELECT * FROM models WHERE id_product=".$_GET['id_product'],$db);
$mybase = mysql_fetch_array($result);
printf ("<a href=\"/nb.ru/katalogs.php?id_models=%s\" target=\"_blank\">Просмотр</a>&nbsp;(!!!сначало обязательно сохранить!!!)<br><br><br>", $mybase["id_models"]);
}
?>
<p>&nbsp;<a href="view_models.php?id_parent=<?php echo $id_parent ?>&id_catalog=<?php echo $id_catalog ?>">Обратно</a></p>
<form action=<?php echo $action; ?> method=post>
<table border=0 width=70%>
<TR>
<TD colspan="2"><b><i><CENTER>Описание</CENTER></i></b></TD>
</TR>
<TR>
<td width="20%"><B>Производитель:</B></td>
<td><input type="Text" name="producer" style="width:100%" value="<?php echo $producer ?>"></td>
</TR>
<td width="20%"><B>Модель:</B></td>
<td><TEXTAREA name="model" style="width:100%" rows="4"><?php echo $model ?></TEXTAREA></td>
</TR>
<TD colspan="2"><b><i><CENTER>Основные характеристики</CENTER></i></b></td>
</tr>
<tr>
<td width="20%"><b>Тип:</b></td>
<td><input type="Text" name="type" style="width:100%" value="<?php echo $type ?>"></td>
</tr>
<tr>
<td width="20%"><b>Корпус:</b></td>
<td><TEXTAREA name="corps" style="width:100%" rows="4"><?php echo $corps ?></TEXTAREA></td>
</tr>
<tr>
<td width="20%"><b>Процессор:</B></td>
<td><TEXTAREA name="processor" style="width:100%" rows="4"><?php echo $processor ?></TEXTAREA></td>
</tr>
<tr>
<td width="20%"><b>Кэш память:</B></td>
<td><TEXTAREA name="cache" style="width:100%" rows="4"><?php echo $cache ?></TEXTAREA></td>
</tr>
<tr>
<td width="20%"><b>Материнская плата:</B></td>
<td><TEXTAREA name="mb" style="width:100%" rows="4"><?php echo $mb ?></TEXTAREA></td>
</tr>
<tr>
<td width="20%"><b>Оперативная память:</B></td>
<td><TEXTAREA name="ram" style="width:100%" rows="4"><?php echo $ram ?></TEXTAREA></td>
</tr>
<tr>
<td width="20%"><b>Жесткий диск:</B></td>
<td><TEXTAREA name="hdd" style="width:100%" rows="4"><?php echo $hdd ?></TEXTAREA></td>
</tr>
<tr>
<td width="20%"><b>Оптическое устройство хранения:</B></td>
<td><TEXTAREA name="opticapparatus" style="width:100%" rows="4"><?php echo $opticapparatus ?></TEXTAREA></td>
</tr>
<tr>
<td width="20%"><b>Дисплей:</B></td>
<td><TEXTAREA name="display" style="width:100%" rows="4"><?php echo $display ?></TEXTAREA></td>
</tr>
<tr>
<td width="20%"><b>Видео:</B></td>
<td><TEXTAREA name="video" style="width:100%" rows="4"><?php echo $video ?></TEXTAREA></td>
</tr>
<tr>
<td width="20%"><b>Аудио:</B></td>
<td><TEXTAREA name="audio" style="width:100%" rows="4"><?php echo $audio ?></TEXTAREA></td>
</tr>
<tr>
<td width="20%"><b>Модем:</B></td>
<td><TEXTAREA name="modem" style="width:100%" rows="4"><?php echo $modem ?></TEXTAREA></td>
</tr>
<tr>
<td width="20%"><b>Сетевой адаптер:</B></td>
<td><TEXTAREA name="lan" style="width:100%" rows="4"><?php echo $lan ?></TEXTAREA></td>
</tr>
<tr>
<td width="20%"><b>Встроенные устройства:</B></td>
<td><TEXTAREA name="inbuilt" style="width:100%" rows="4"><?php echo $inbuilt ?></TEXTAREA></td>
</tr>
<tr>
<td width="20%"><b>Клавиатура:</B></td>
<td><TEXTAREA name="kb" style="width:100%" rows="4"><?php echo $kb ?></TEXTAREA></td>
</tr>
<tr>
<td width="20%"><b>Устройство управления курсором:</B></td>
<td><TEXTAREA name="trackpad" style="width:100%" rows="4"><?php echo $trackpad ?></TEXTAREA></td>
<tr>
<td width="20%"><b>Операционная система:</B></td>
<td><TEXTAREA name="os" style="width:100%" rows="4"><?php echo $os ?></TEXTAREA></td>
</tr>
<tr>
<TD colspan="2"><b><i><CENTER>Дополнительные характеристики</CENTER></i></B></td>
</tr>
<tr>
<td width="20%"><b>Интерфейсы:</B></td>
<td><TEXTAREA name="interface" style="width:100%" rows="4"><?php echo $interface ?></TEXTAREA></td>
<tr>
<tr>
<td width="20%"><b>Опции безопасности:</B></td>
<td><TEXTAREA name="security" style="width:100%" rows="4"><?php echo $security ?></TEXTAREA></td>
</tr>
<tr>
<TD colspan="2"><b><i><CENTER>Технические характеристики</CENTER></i></B></td>
</tr>
<tr>
<td width="20%"><b>Электропитание:</B></td>
<td><TEXTAREA name="power" style="width:100%" rows="4"><?php echo $power ?></TEXTAREA></td>
</tr>
<tr>
<td width="20%"><b>Батареи:</B></td>
<td><TEXTAREA name="battery" style="width:100%" rows="4"><?php echo $battery ?></TEXTAREA></td>
</tr>
<tr>
<td width="20%"><b>Размеры:</B></td>
<td><TEXTAREA name="size" style="width:100%" rows="4"><?php echo $size ?></TEXTAREA></td>
</tr>
<tr>
<td width="20%"><b>Вес:</B></td>
<td><TEXTAREA name="weight" style="width:100%" rows="4"><?php echo $weight ?></TEXTAREA></td>
</tr>
<tr>
<td colspan="2"><br><br><input type="Submit" name="submit" value="Сохранить"></td>
</tr>
</TABLE>
</FORM>

<?PHP  


Или может лучше сделать фиксированный набор значений и пусть работатет так, а как поумнею просто переписать? :)

   
 
 автор: Loki   (05.08.2005 в 17:17)   письмо автору
 
   для: pc2000   (05.08.2005 в 15:10)
 

А что конкретно не работает?
Я, например, сразу вижу что в коде

if ($id_product) { 
// here if no id_models then adding else we're editing 
if ($id_product) { 
$sql = "UPDATE models ...; 
} else { 
$sql = "INSERT INTO ..."; 
} 
// run SQL against the DB 
$result = mysql_query($sql); 
echo "<i>Модель сохранена!</i><p>"; 
} 

Условие else не будет выполняться никогда... или вопрос в чем-то другом?

   
 
 автор: napTu3aH   (05.08.2005 в 20:07)   письмо автору
 
   для: Loki   (05.08.2005 в 17:17)
 

Незнаю может я и не прав, но я бы попробовал сделать так:
на это странице ставиш 3 кнопки

<input type=submit name="Add" value="добавить"> 
<input type=submit name="Edit" value="изменить"> 
<input type=submit name="Del" value="удалить"> 

а потом в скрипте перед каждім действием проверять какая кнопка нажата

if(@Add) {скрипт добавляет....}
elseif(@Edit) {скрипт изменяет....}
ilseif(@Del) {скрипт удаляет....}


но я у себя буду делать в разных файлах
и себе и потом другим разобраться будет проще

   
 
 автор: cheops   (05.08.2005 в 17:25)   письмо автору
 
   для: pc2000   (05.08.2005 в 15:10)
 

Хм... обычно вроде наооборот стараются разделить операции:
один файл - одно действие,
одна функция - одно действие
разделение обработчика и HTML-формы.
Почему было принято решение объединить операции?

   
 
 автор: Akira   (05.08.2005 в 20:18)   письмо автору
 
   для: cheops   (05.08.2005 в 17:25)
 

Поддерживаю. Я всегда разделяю операции. И вообще предерживаюсь мысли, что код должен быть читабелен и мал.

   
 
 автор: [CHOL]Scorpion   (05.08.2005 в 20:55)   письмо автору
 
   для: Akira   (05.08.2005 в 20:18)
 

Я предпочитаю HTML в отдельном файле хранить или в нескольких файлах. Хотя коненчо кое-где не избежать вставок в php, как и вставок php в html.

А сам скрипт всегда состоит из трёх частей:
1. Описание глобальных переменных используемых в этом модуле.
2. Набор функций
3. Непосредственно программа по осуществлению взаимодействия между внешними данными, и функциями в скрипте.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования