Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 03.09.2014
Сообщений: 5

Объединение 2-х скриптов

03.09.2014, 15:07. Показов 1360. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, друзья! Нашел 2 рабочих скрипта. По отдельности они работаю на ура, пытаюсь объединить, ничего не выходит. Работает что-то одно, либо редактирование, либо сортировка с нафигацией. Как сделать так чтобы работало сразу все? ))) Помогите пожалуйста, заранее всем благодарен.
ВОт примеры скриптов Напишу исходники, название баз менять не буду:
Первый: Скрипт редактирование, удаление и добавление данных в базу.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?php
 
if ( !isset( $_GET["action"] ) ) $_GET["action"] = "showlist"; 
 
switch ( $_GET["action"] )
{
  case "showlist":    // Список всех записей в таблице БД
    show_list(); break;
  case "addform":     // Форма для добавления новой записи
    get_add_item_form(); break;
  case "add":         // Добавить новую запись в таблицу БД
    add_item(); break;
  case "editform":    // Форма для редактирования записи
    get_edit_item_form(); break;
  case "update":      // Обновить запись в таблице БД
    update_item(); break;
  case "delete":      // Удалить запись в таблице БД
    delete_item(); break;
  default:
    show_list();
}
 
// Функция выводит список всех записей в таблице БД
function show_list()
{
  $query = 'SELECT id, title, description FROM items WHERE 1';
  $res = mysql_query( $query );
  echo '<h2>Список</h2>';
  echo '<table border="1" cellpadding="2" cellspacing="0">';
  echo '<tr><th>ID</th><th>Наименование</th><th>Описание</th><th>Ред.</th><th>Удл.</th></tr>';
  while ( $item = mysql_fetch_array( $res ) )
  {
    echo '<tr>';
    echo '<td>'.$item['id'].'</td>';
    echo '<td>'.$item['title'].'</td>';
    echo '<td>'.$item['description'].'</td>';
    echo '<td><a href="'.$_SERVER['PHP_SELF'].'?action=editform&id='.$item['id'].'">Ред.</a></td>';
    echo '<td><a href="'.$_SERVER['PHP_SELF'].'?action=delete&id='.$item['id'].'">Удл.</a></td>';
    echo '</tr>';
  }
  echo '</table>';
  echo '<p><a href="'.$_SERVER['PHP_SELF'].'?action=addform">Добавить</a></p>'; 
}
 
// Функция формирует форму для добавления записи в таблице БД
function get_add_item_form()
{
  echo '<h2>Добавить</h2>'; 
  echo '<form name="addform" action="'.$_SERVER['PHP_SELF'].'?action=add" method="POST">';
  echo '<table>';
  echo '<tr>';
  echo '<td>Наименование</td>';
  echo '<td><input type="text" name="title" value="" /></td>';
  echo '</tr>';
  echo '<tr>';
  echo '<td>Описание</td>';
  echo '<td><textarea name="description"></textarea></td>';
  echo '</tr>';
  echo '<tr>';
  echo '<td><input type="submit" value="Сохранить"></td>';
  echo '<td><button type="button" onClick="history.back();">Отменить</button></td>';
  echo '</tr>';
  echo '</table>';
  echo '</form>';
}
 
// Функция добавляет новую запись в таблицу БД 
function add_item()
{
  $title = mysql_escape_string( $_POST['title'] );
  $description = mysql_escape_string( $_POST['description'] );
  $query = "INSERT INTO items (title, description) VALUES ('".$title."', '".$description."');";
  mysql_query ( $query );
  header( 'Location: '.$_SERVER['PHP_SELF'] );
  die();
}
 
// Функция формирует форму для редактирования записи в таблице БД
function get_edit_item_form()
{
  echo '<h2>Редактировать</h2>';
  $query = 'SELECT title, description FROM items WHERE id='.$_GET['id'];
  $res = mysql_query( $query );
  $item = mysql_fetch_array( $res );
  echo '<form name="editform" action="'.$_SERVER['PHP_SELF'].'?action=update&id='.$_GET['id'].'" method="POST">';
  echo '<table>';
  echo '<tr>';
  echo '<td>Наименование</td>';
  echo '<td><input type="text" name="title" value="'.$item['title'].'"></td>';
  echo '</tr>';
  echo '<tr>';
  echo '<td>Описание</td>';
  echo '<td><textarea name="description">'.$item['description'].'</textarea></td>';
  echo '</tr>';
  echo '<tr>';
  echo '<td><input type="submit" value="Сохранить"></td>';
  echo '<td><button type="button" onClick="history.back();">Отменить</button></td>';
  echo '</tr>';
  echo '</table>';
  echo '</form>';
}
 
// Функция обновляет запись в таблице БД 
function update_item()
{
  $title = mysql_escape_string( $_POST['title'] );
  $description = mysql_escape_string( $_POST['description'] );
  $query = "UPDATE items SET title='".$title."', description='".$description."'
            WHERE id=".$_GET['id'];
  mysql_query ( $query );
  header( 'Location: '.$_SERVER['PHP_SELF'] );
  die();
}
 
// Функция удаляет запись в таблице БД
function delete_item()
{
  $query = "DELETE FROM items WHERE id=".$_GET['id'];
  mysql_query ( $query );
  header( 'Location: '.$_SERVER['PHP_SELF'] );
  die();
}
 
?>
Второй скрипт: Навигация и сортировка данных базы
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?php
$dblocation = "localhost";   // Имя сервера
$dbuser     = "root";        // Имя пользователя
$dbpswrd    = "";            // Пароль
$dbname     = "products";    // Имя базы данных
 
DEFINE('ITEMS_PER_PAGE', 7);
 
// Соединение с сервером базы данных
$dblink = mysql_connect( $dblocation, $dbuser, $dbpswrd );
mysql_query( 'SET NAMES cp1251' );
// Выбираем базу данных
mysql_select_db( $dbname, $dblink );
 
// Выбираем из БД общее количество записей
$query = "SELECT COUNT(*) FROM products WHERE 1";
$res = mysql_query( $query );
$total = mysql_result( $res, 0, 0 );
   
// Проверяем передан ли номер текущей страницы (постраничная навигация)
if ( isset($_GET['page']) ) {
  $page = (int)$_GET['page'];
  if ( $page < 1 ) $page = 1;
} else {
  $page = 1;
}
 
$uri = $_SERVER['PHP_SELF'].'?';
if ( $_SERVER['QUERY_STRING'] != '' ) {
  foreach( $_GET as $key => $value ) {
    if ( $key != 'page' ) $uri = $uri.$key.'='.urlencode($value).'&';
  } 
}
// Сколько всего получится страниц
$cnt_pages = ceil( $total / ITEMS_PER_PAGE );
if ( $page > $cnt_pages ) $page = $cnt_pages;
// Начальная позиция
$start = ( $page - 1 ) * ITEMS_PER_PAGE;
 
// По умолчанию сортировка по наименованию, по возрастанию
$orderby = 'title';
$sort = 'ASC';
if ( isset( $_GET['orderby'] ) and isset( $_GET['sort'] ) ) {
  if ( in_array( $_GET['orderby'], array( 'code', 'title', 'price' ) ) ) $orderby = $_GET['orderby'];
  if ( in_array( $_GET['sort'], array( 'ASC', 'DESC' ) ) ) $sort = $_GET['sort'];
}
 
$query = 'SELECT code, title, description, price
          FROM products
          ORDER BY '.$orderby.' '.$sort.'
          LIMIT '.$start.', '.ITEMS_PER_PAGE;
$res = mysql_query( $query );
 
echo '<h1>Каталог продукции</h1>'."\n";
// Выводим "шапку" таблицы
echo '<table border="1" cellpadding="4" cellspacing="0" style="border-collapse: collapse; empty-cells: show;">'."\n";
echo '<tr>';
if ( $sort == 'ASC' ) {
  $tmp = 'DESC';
  $image = 'down.gif';
} else {
  $tmp = 'ASC';
  $image = 'up.gif';
}
if ( $orderby == 'code' )
  echo '<th><a href="'.$_SERVER['PHP_SELF'].'?orderby=code&sort='.$tmp.'&page='.$page.'">Код</a>&nbsp;<img src="'.$image.'" alt="" /></th>';
else
  echo '<th><a href="'.$_SERVER['PHP_SELF'].'?orderby=code&sort=ASC&page='.$page.'">Код</a></th>';
if ( $orderby == 'title' )
  echo '<th><a href="'.$_SERVER['PHP_SELF'].'?orderby=title&sort='.$tmp.'&page='.$page.'">Наименование</a>&nbsp;<img src="'.$image.'" alt="" /></th>';
else
  echo '<th><a href="'.$_SERVER['PHP_SELF'].'?orderby=title&sort=ASC&page='.$page.'">Наименование</a></th>';
echo '<th>Описание</th>';
if ( $orderby == 'price' )
  echo '<th><a href="'.$_SERVER['PHP_SELF'].'?orderby=price&sort='.$tmp.'&page='.$page.'">Цена</a>&nbsp;<img src="'.$image.'" alt="" /></th>';
else
  echo '<th><a href="'.$_SERVER['PHP_SELF'].'?orderby=price&sort=ASC&page='.$page.'">Цена</a></th>';
echo '</tr>'."\n";
while( $prd = mysql_fetch_array($res) ) {
  echo '<tr>';
  echo '<td>'.$prd['code'].'</td>';
  echo '<td>'.$prd['title'].'</td>';
  echo '<td>'.$prd['description'].'</td>';
  echo '<td>'.$prd['price'].'</td>';   
  echo '</tr>'."\n";
}
echo '</table>'."\n";
 
// Строим постраничную навигацию
if ( $cnt_pages > 1 )
{
    echo '<div style="margin:1em 0">&nbsp;Страницы: ';
    // Проверяем нужна ли стрелка "В начало"
    if ( $page > 3 )
        $startpage = '<a href="'.$uri.'page=1"><<</a> ... ';
    else
        $startpage = '';
    // Проверяем нужна ли стрелка "В конец"
    if ( $page < ($cnt_pages - 2) )
        $endpage = ' ... <a href="'.$uri.'page='.$cnt_pages.'">>></a>';
    else
        $endpage = '';
 
    // Находим две ближайшие станицы с обоих краев, если они есть
    if ( $page - 2 > 0 )
        $page2left = ' <a href="'.$uri.'page='.($page - 2).'">'.($page - 2).'</a> | ';
    else
        $page2left = '';
    if ( $page - 1 > 0 )
        $page1left = ' <a href="'.$uri.'page='.($page - 1).'">'.($page - 1).'</a> | ';
    else
        $page1left = '';
    if ( $page + 2 <= $cnt_pages )
        $page2right = ' | <a href="'.$uri.'page='.($page + 2).'">'.($page + 2).'</a>';
    else
        $page2right = '';
    if ( $page + 1 <= $cnt_pages )
        $page1right = ' | <a href="'.$uri.'page='.($page + 1).'">'.($page + 1).'</a>';
    else
        $page1right = '';
 
    // Выводим меню
    echo $startpage.$page2left.$page1left.'<strong>'.$page.'</strong>'.$page1right.$page2right.$endpage."\n";
 
    echo '</div>'."\n";
}
?>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.09.2014, 15:07
Ответы с готовыми решениями:

Объединение скриптов в многостраничном сайте
Создал проект, в котором 4 страницы. (4 отдельных скрипта в одной папке, в которых есть ссылки друг на друга). Потом понадобилось их...

Объединение скриптов
Объединение скриптов В ОДИН! Пытался делать, то что мне здесь предложили // Кеширование скриптов ( function () { ...

Объединение скриптов
Никак не могу объединить 2 скрипта. вот первый код: &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta http-equiv=&quot;content-type&quot;...

5
3 / 3 / 0
Регистрация: 16.12.2013
Сообщений: 59
03.09.2014, 16:57
хороший скрипт... попробуйте сделать так, чтобы не повторялись переменный первого и второго скриптов. $query к примеру.
0
0 / 0 / 0
Регистрация: 03.09.2014
Сообщений: 5
03.09.2014, 17:07  [ТС]
Пробовал. Но видимо знаний не хватает и не получается. Я на это сразу внимание обратил когда ошибки вылетают. Может есть варианты решения данной проблемы, так сказать наглядно.
0
3 / 3 / 0
Регистрация: 16.12.2013
Сообщений: 59
03.09.2014, 17:12
А какие ошибки то выдает?
В каких строках?
0
0 / 0 / 0
Регистрация: 03.09.2014
Сообщений: 5
03.09.2014, 17:17  [ТС]
бывает что на эти $query = "SELECT COUNT(*) FROM products WHERE 1";
$res = mysql_query( $query );

Итог у меня такой, редактирование работает как надо, вот только сортировка и навигация не подключаются, замучался уже за 3 дня. Попробуйте, может у Вас получился объединить эти 2 скрипта.
0
3 / 3 / 0
Регистрация: 16.12.2013
Сообщений: 59
08.09.2014, 17:44
А вы сами ошибки напишите. Что выводит?
Я не скоро доберусь до объединения.
Хотя такая потребность есть. ХОчу сделать инструмент позволяющий добавлять и удалять характеристики для различных групп.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.09.2014, 17:44
Помогаю со студенческими работами здесь

Объединение скриптов
Добрый день, только второй день учусь работать на sql (так уж вышло), и дали задание на объединение таблиц. Не могу понять как можно...

Объединение скриптов
Есть 2 скрипта 1-й, задача в планировщике, который должен выполняться локально на машине без foreach: $TaskName = &quot;Record&quot;...

Объединение двух скриптов
Здравствуйте! Возникла такая проблема. Моя задача состоит в том, чтобы на нажатие ссылки появлялось модальное окно и при этом код...

Объединение двух скриптов
Добрый вечер, имеются два скрипта SELECT * FROM AGENCY_EXT_DOC_SEARCH_VW a JOIN attachment att ON att.id = a.attachment_id JOIN...

Объединение двух скриптов (совмещение)
есть два скрипта: один выводит информацию из текстового файла &lt;SCRIPT LANGUAGE=&quot;JavaScript&quot;&gt; &lt;!-- var filepath =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru