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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: edit, add, dell - в одном файле.

Сообщения:  [1-6] 

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

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

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

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

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

   
 
 автор: 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-формы.
Почему было принято решение объединить операции?

   
 
 автор: 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 не будет выполняться никогда... или вопрос в чем-то другом?

   
 
 автор: 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  


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

   

Сообщения:  [1-6] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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