Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2012, 21:37   #1
маГГ85
Пользователь
 
Регистрация: 15.12.2011
Сообщений: 96
По умолчанию Правильное добавление

Уважаемые знатоки, просьба помочь!
Загружаю имена картинок в бд.
PHP код:
$query "INSERT INTO f_pics 
    VALUES('0', '', '
$new')";
    
mysql_query($query) or mysql_error();
    
    
$query "INSERT INTO s_pics 
    VALUES('0', '', '
$new', '', '')";
    
mysql_query($query) or mysql_error(); 
Заполняю самостоятельно значения двух строк начиная с 0

PHP код:
$query "SELECT pic
              FROM s_pics
              WHERE login='
$login'";
$res mysql_query($query) or die(mysql_error());
while(
$row[] = mysql_fetch_assoc($res))
$sum=count($row);
echo 
"$sum";
          for (
$i 0$i $sum$i++) {  
              
$sql mysql_query("UPDATE s_pics SET picNum = '$i', numNum = '$i' WHERE picNum = '' LIMIT 1") or die(mysql_error());  
          } 
но возникает проблема когда пользователь хочет добавить еще картинок к существующим, потому что новая партия опять нумеруется с 0 то есть возникает дублирование цифр. Как сделать чтоб нумерация продолжалась с следующей по величине цифре? AUTOINCREMENT не подходит, нужно для двух колонок...
маГГ85 вне форума Ответить с цитированием
Старый 14.01.2012, 22:15   #2
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

Не могу до конца врубиться.
1. Стоит указывать перечень полей в INSERT
2. "SELECT field FROM table WHERE max(field) LIMIT 1" может поможет?
Но мне кажется что связи между таблицами явно не правильно построены.

Последний раз редактировалось Kostia; 14.01.2012 в 22:18.
Kostia вне форума Ответить с цитированием
Старый 14.01.2012, 22:41   #3
маГГ85
Пользователь
 
Регистрация: 15.12.2011
Сообщений: 96
По умолчанию

Цитата:
Сообщение от Kostia Посмотреть сообщение
Не могу до конца врубиться.
1. Стоит указывать перечень полей в INSERT
2. "SELECT field FROM table WHERE max(field) LIMIT 1" может поможет?
Но мне кажется что связи между таблицами явно не правильно построены.
вот скриншот таблицы, в которую записываем фотки, два столбца numNum и picNum показывают очередность добавления фоток. Если один раз добавляем - нормально, второй раз добавляем нумерация опять двух колонок с нуля начинается и возникают одинаковые цифры. Как сделать чтоб второй и последующие разы нумерация была бы не с нуля, а с последней наибольшей цифры в numNum и picNum???
Изображения
Тип файла: jpg tableForKostja.jpg (33.9 Кб, 116 просмотров)
маГГ85 вне форума Ответить с цитированием
Старый 14.01.2012, 22:45   #4
маГГ85
Пользователь
 
Регистрация: 15.12.2011
Сообщений: 96
По умолчанию

Вот получше качество
Изображения
Тип файла: jpg tableForKostja.jpg (108.4 Кб, 115 просмотров)
маГГ85 вне форума Ответить с цитированием
Старый 14.01.2012, 23:05   #5
маГГ85
Пользователь
 
Регистрация: 15.12.2011
Сообщений: 96
По умолчанию

Цитата:
Сообщение от маГГ85 Посмотреть сообщение
Вот получше качество
PHP код:
"SELECT max(picNum) as AAA FROM s_pics LIMIT 1" 
то что доктор прописал, спасибо))))
маГГ85 вне форума Ответить с цитированием
Старый 14.01.2012, 23:26   #6
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,690
По умолчанию

можно так вставку делать:
INSERT INTO `s_pics` (`picNum`,`numNum`) SELECT MAX(`picNum`) + 1, MAX(`numNum`) + 1 FROM `s_pics`
Kostia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение правильное маГГ85 PHP 2 15.12.2011 21:30
Правильное хранение картинок. Genco Microsoft Office Access 1 29.04.2011 21:28
Правильное использование setw Андрей Чернуха Общие вопросы C/C++ 0 04.01.2011 21:24
Правильное чтение из файла! nerdo Общие вопросы C/C++ 6 30.04.2010 02:37
Правильное выравнивание панелей amigo555 Общие вопросы Delphi 1 04.05.2009 12:44