Форум программистов, компьютерный форум, киберфорум
Наши страницы

PHP: базы данных

Войти
Регистрация
Восстановить пароль
 
adelbaew2
1 / 1 / 0
Регистрация: 05.02.2013
Сообщений: 227
Записей в блоге: 1
#1

Добавить строку в конец таблицы - PHP БД

24.10.2016, 11:09. Просмотров 298. Ответов 9
Метки нет (Все метки)

Предположим в таблице MySQl есть строки 1,2,3,4,5
если удалить строку 3 добавить новую строку, то получиться 1,2,6,4,5 а мне необходимо 1,2,3,4,5

И чтобы следующие добавленные строки шли как 6,7 а не 7,8 соответственно.

Или как можно оптимизировать таблицу - чтобы строки 1,2,6,4,5,7 превратились в 1,2,3,4,5,6
и потом следующее добавление шло под номером 7,8,9 а не 8,9,10 из-за удаления 3 строчки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.10.2016, 11:09
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Добавить строку в конец таблицы (PHP БД):

Запись текста в конец файла в новую строку. - PHP
Доброго времени суток!!! Как записать в уже существующий файл с текстом новую строку в конец? пробавал: $link_arc =...

Добавить массиву таблицы - PHP БД
Добрый день. Как к результату массива из-за добавить еще одно значение "array_push()" не помогает Вот пример: Array ( ...

Добавить строки в однотипные таблицы - PHP БД
Здравствуйте, есть простая по структуре БД(см. скриншот), хочу сделать автоматизированное добавление строк в эти таблицы через php, т.е....

Добавить новые таблицы в Postfixadmin - PHP БД
Здравствуйте! Надо было написать дополнение к Postfixadmin, требующее добавления в его родную базу ещё нескольких таблиц. Когда делала...

Добавить/удалить строку в таблице БД - PHP
Нужно написать страничку на Php для удаления/добавления строки в Базу Данных.

Как добавить произвольную дату во все строки таблицы - PHP БД
есть таблица table. в ней поле date. в таблице 1500 строк. нужно в поле date записать дату формата 2014-02-24 11:13:41 причем так чтоб она...

9
СлаваВирус
468 / 396 / 149
Регистрация: 04.01.2013
Сообщений: 1,674
24.10.2016, 11:19 #2
Автоинкремент на то и автоинкремент, Объясните цель и я уверен есть способ реализовать это в скрипте, не сбрасывая таблицу в БД
0
adelbaew2
1 / 1 / 0
Регистрация: 05.02.2013
Сообщений: 227
Записей в блоге: 1
24.10.2016, 11:21  [ТС] #3
Отправляю формой данные в таблицу, иногда приходится удалять некоторые строки,
после чего - поиск по таблице нужных данных не работает - поиску по таблице необходимо,
чтобы автоинкремент был 1,2,3,4,5,6 - а если 1,2,6,3,4 - он уже не ищет после 2.

В интернете, нашел такой вариант, как Вы думаете поможет?

1. Убиваем инкремент.
2. Убиваем первичный ключ.
3. Обнуляем значения полей.
4. Устанавливаем значение инкремента.
5. Включаем инкремент.

alter table ИМЯ_ТАБЛИЦЫ modify ИМЯ_ПОЛЯ int(11);
alter table ИМЯ_ТАБЛИЦЫ drop primary key;
update ИМЯ_ТАБЛИЦЫ set ИМЯ_ПОЛЯ=0;
alter table ИМЯ_ТАБЛИЦЫ auto_increment = 0;
alter table ИМЯ_ТАБЛИЦЫ modify ИМЯ_ПОЛЯ int(11) not null auto_increment primary key;
0
СлаваВирус
468 / 396 / 149
Регистрация: 04.01.2013
Сообщений: 1,674
24.10.2016, 11:24 #4
А изменить алгоритм поиска не пробовали? чтобы не зависеть от автоинкремента))) Можно конечно и сбрасывать значения, но я на 99 процентов уверен, что этот костыль вам на самом деле не нужен
0
Grossmeister
Модератор
3326 / 2402 / 399
Регистрация: 21.01.2011
Сообщений: 10,611
24.10.2016, 11:31 #5
Цитата Сообщение от adelbaew2 Посмотреть сообщение
В интернете, нашел такой вариант, как Вы думаете поможет
Такой вариант допустим только при однопользовательской работе. Да еще если эта таблица не связана через FK с другими. На практике такой фигней люди не занимаются.
0
adelbaew2
1 / 1 / 0
Регистрация: 05.02.2013
Сообщений: 227
Записей в блоге: 1
24.10.2016, 11:35  [ТС] #6
Привожу алгоритм поиска:

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
$sql = 'select * from users where
 
(dolgota >= :min0 and dolgota <= :max0 and sirota >= :min1 and sirota <= :max1)
or
(item0 >= :min0 and item0 <= :max0 and ritem0 >= :min1 and ritem0 <= :max1)
or
(item2 >= :min0 and item2 <= :max0 and ritem2 >= :min1 and ritem2 <= :max1)
or
(item4 >= :min0 and item4 <= :max0 and ritem4 >= :min1 and ritem4 <= :max1)
or
(item6 >= :min0 and item6 <= :max0 and ritem6 >= :min1 and ritem6 <= :max1)
or
(item8 >= :min0 and item8 <= :max0 and ritem8 >= :min1 and ritem8 <= :max1)
or
(item8 >= :min0 and item8 <= :max0 and ritem8 >= :min1 and ritem8 <= :max1)
or
(item10 >= :min0 and item10 <= :max0 and ritem10 >= :min1 and ritem10 <= :max1)
or
(item12 >= :min0 and item12 <= :max0 and ritem12 >= :min1 and ritem12 <= :max1)
or
(item14 >= :min0 and item14 <= :max0 and ritem14 >= :min1 and ritem14 <= :max1)
or
(item16 >= :min0 and item16 <= :max0 and ritem16 >= :min1 and ritem16 <= :max1)
or
(item18 >= :min0 and item18 <= :max0 and ritem18 >= :min1 and ritem18 <= :max1)
or
(item20 >= :min0 and item20 <= :max0 and ritem20 >= :min1 and ritem20 <= :max1)
or
(eitem0 >= :min0 and eitem0 <= :max0 and eritem0 >= :min1 and eritem0 <= :max1)
or
(eitem2 >= :min0 and eitem2 <= :max0 and eritem2 >= :min1 and eritem2 <= :max1)
or
(eitem4 >= :min0 and eitem4 <= :max0 and eritem4 >= :min1 and eritem4 <= :max1)
or
(eitem6 >= :min0 and eitem6 <= :max0 and eritem6 >= :min1 and eritem6 <= :max1)
or
(eitem8 >= :min0 and eitem8 <= :max0 and eritem8 >= :min1 and eritem8 <= :max1)
or
(eitem8 >= :min0 and eitem8 <= :max0 and eritem8 >= :min1 and eritem8 <= :max1)
or
(eitem10 >= :min0 and eitem10 <= :max0 and eritem10 >= :min1 and eritem10 <= :max1)
or
(eitem12 >= :min0 and eitem12 <= :max0 and eritem12 >= :min1 and eritem12 <= :max1)
or
(eitem14 >= :min0 and eitem14 <= :max0 and eritem14 >= :min1 and eritem14 <= :max1)
or
(eitem16 >= :min0 and eitem16 <= :max0 and eritem16 >= :min1 and eritem16 <= :max1)
or
(eitem18 >= :min0 and eitem18 <= :max0 and eritem18 >= :min1 and eritem18 <= :max1)
or
(eitem20 >= :min0 and eitem20 <= :max0 and eritem20 >= :min1 and eritem20 <= :max1)';
 
 
$select = $pdo->prepare($sql);
 
$radius = ($_POST[ttts])*0.000009;
 
$ras1 = ($_POST[MAVR])+$radius;
$ras2 = ($_POST[MAVR])-$radius;
$ras3 = ($_POST[MAVR1])+$radius;
$ras4 = ($_POST[MAVR1])-$radius;
 
$select->execute([
    ':min0' => $ras2,
    ':max0' => $ras1,
    ':min1' => $ras4,
    ':max1' => $ras3,
]);
 
 
$result = $select->fetchAll(\PDO::FETCH_ASSOC);
 
// 1 предприятие близкое к ОПО
 
$predpros = $result[0]['first_name'];
$numberos = $result[0]['last_name'];
$naimos = $result[0]['last_name2'];
$dolas = $result[0]['dolgota'];
$sirotas = $result[0]['sirota'];
$obvals = $result[0]['obval'];
$h1s = $result[0]['h1'];
$t1s = $result[0]['t1'];
$p1s = $result[0]['p1'];
$h2s = $result[0]['h2'];
$materials = $result[0]['material'];
$minuts = $result[0]['minut'];
$raspols = $result[0]['raspol'];
0
СлаваВирус
468 / 396 / 149
Регистрация: 04.01.2013
Сообщений: 1,674
24.10.2016, 11:47 #7
Цитата Сообщение от adelbaew2 Посмотреть сообщение
Привожу алгоритм поиска:
Пробежался глазами по поиску...в каком конкретно месте Вам мешает пробел в идентификаторах (к примеру: 1, 2, 3, 6)? Или проблема в нумерации при выводе всего лишь?
0
adelbaew2
1 / 1 / 0
Регистрация: 05.02.2013
Сообщений: 227
Записей в блоге: 1
24.10.2016, 11:52  [ТС] #8
Скорей всего в выводе - не выводит же те, значения, которые попадают под поиск!
0
СлаваВирус
468 / 396 / 149
Регистрация: 04.01.2013
Сообщений: 1,674
24.10.2016, 11:55 #9
Как называется столбец с автоинкрементом? Учитывается ли он в запросе поиска? Уверены ли, что под поисковый запрос попадет хотя бы одна строка в таблице?
0
adelbaew2
1 / 1 / 0
Регистрация: 05.02.2013
Сообщений: 227
Записей в блоге: 1
24.10.2016, 12:10  [ТС] #10
Проблема решена, сейчас все нормально ищет и выводит - видимо вчера, где-то была ошибка,
после чего я помню, что переделывал запрос, видимо и это автоматически правильно стало.
Всех благодарю
0
24.10.2016, 12:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2016, 12:10
Привет! Вот еще темы с ответами:

Взять информацию из одной таблицы и добавить её в другую таблицу - PHP БД
Здравствуйте! Скажите пожалуйста. Пользователь заходить на страницу &quot;1&quot; заполняет таблицу есть какая нибудь функция на javascript что бы...

PHPExcel: Данные из формы добавить в новую строку файла - PHP
Помогите, у меня есть форма, из которой данные должны добавиться в уже существующий файл в новую строку, как это осуществить?

обновить строку таблицы.... - PHP БД
пишу движок для тестов... у меня при входе у сам етап тестированя с формы передаётся имья и фамилия, и записывается в БД. Как сделать так,...

Не могу удалить строку из таблицы - PHP БД
Нужно удалить полностью первую строку в таблице. Написал такой код if($g == $n) { $query1 = mysql_query(&quot;SELECT * FROM storage...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru