Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Маленький вопрос....

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (5): [1] 2 3 4 5 »   

> Без описания
android
Отправлено: 06 Ноября, 2011 - 12:43:35
Post Id


Посетитель


Покинул форум
Сообщений всего: 335
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




Доброго дня, есть таблица в бд я заношу туда 5 строчек, мне нужно что бы когда вводишь более 5 строк старые заменялись новыми.

Но при этом скрипт должен работать так:
Человек зарегистрировался->добавляет 5 новых подбаз (5 строчек в бд)->при последующем добавлении подбаз старые должны заменятся т.е добавили подбазу по счету 6 и подбаза добавленная ранее допустим 1 заменяется на 6.
(Добавление)
подтолкните хотя бы на мысль

(Отредактировано автором: 06 Ноября, 2011 - 13:18:09)

 
 Top
Bio man
Отправлено: 06 Ноября, 2011 - 12:59:50
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




чето не понятно мне зачем каждому пользователю создавать новую БД??? СУБД какая? или у тебя на файлах?
 
 Top
android
Отправлено: 06 Ноября, 2011 - 13:17:30
Post Id


Посетитель


Покинул форум
Сообщений всего: 335
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




Ой не так выразился, подправил. Не баз а ПОДБАЗ(это я так называю свой список который он добавляет)
 
 Top
Bio man
Отправлено: 06 Ноября, 2011 - 13:24:24
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




СУБД какая? что имеешь в виду под понятием подбаза? логика такова, есть 1 база данных, в ней таблицы, пользователь добовляет 5 записей в ТАБЛИЦУ. или лучше так, при регистрации добовляется 1 запись в таблицу пользователей и 5 записей в другую таблицу...
 
 Top
android
Отправлено: 06 Ноября, 2011 - 13:26:13
Post Id


Посетитель


Покинул форум
Сообщений всего: 335
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




В БД одна таблица, туда человек добавляет свои 5 строчек, при добавлении новых допустим добавил 2 новые то старые любые 2 заменяются на новые 2
 
 Top
Bio man
Отправлено: 06 Ноября, 2011 - 13:35:07
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




в таблице максимум может быть 5 записей да? тогда так
PHP:
скопировать код в буфер обмена
  1.  
  2. $db = new mysqli(HOST, UNAME, PASS, DBNAME);
  3. $query = 'SELECT `id` FROM `table`';
  4. $records = $db->query($query)->num_rows;
  5.  
  6. if($records < 5) {
  7. // добовляем новую запись
  8. }
  9. else {
  10. // удаляем последнию запись
  11. // добовляем новую
  12. }
  13.  

как то так

(Отредактировано автором: 06 Ноября, 2011 - 13:36:38)

 
 Top
android
Отправлено: 06 Ноября, 2011 - 14:05:27
Post Id


Посетитель


Покинул форум
Сообщений всего: 335
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




// удаляем последнию запись

можно код? Улыбка
(Добавление)
ах да заменятся должно сверху вниз
 
 Top
Bio man
Отправлено: 06 Ноября, 2011 - 17:48:39
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




PHP:
скопировать код в буфер обмена
  1. $db = new mysqli(HOST, UNAME, PASS, DBNAME);
  2. $query = 'SELECT `id` FROM `table`';
  3. $result = $db->query($query);
  4.  
  5. while($row = $result->fetch_assoc()) {
  6.  
  7.   $records = $db->query($query)->num_rows;
  8.   if($records < 5) {
  9.      $query = 'INSERT INTO `table` ("имена полей") VALUES ("значения")';
  10.      $db->query($query);
  11.   }
  12.   else {
  13.     $query = 'UPDATE `table` SET .............';
  14.     $db->query($query);
  15.   }
  16. }


это смотря каким образом ты будешь добавлять. можно сам скрипт?
 
 Top
LIME
Отправлено: 06 Ноября, 2011 - 17:56:08
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Bio man пишет:
$query = 'SELECT `id` FROM `table`';
зачем долго фетчить?
PHP:
скопировать код в буфер обмена
  1. $query = 'SELECT COUNT(id) FROM `table`';
 
 Top
Bio man
Отправлено: 06 Ноября, 2011 - 18:02:50
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




фетчить нужно, если нужно сохранить какие либо параметры а так во основном фетч лишний. да и лучше будет через for сделать
 
 Top
android
Отправлено: 06 Ноября, 2011 - 18:30:54
Post Id


Посетитель


Покинул форум
Сообщений всего: 335
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




$query = 'UPDATE `table` SET .............';

это то понятно..

Смотрите:
Человек добавил 5 записей:
1) pppppp
2) aaaaaa
3) xxxxxx
4) ffffffffff
5) sssssss

При добавлении новой записи:
1) новая запись
2) pppppp
3) aaaaaa
4) xxxxxx
5) ffffffffff

Как видим все смещается вниз но 5) запись sssssss удаляется...
 
 Top
Bio man
Отправлено: 06 Ноября, 2011 - 18:37:37
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




в чем проблема? удаляй последнюю запись, меняй ид на ид+1 и потом добавляй запись под 1 номером
 
 Top
android
Отправлено: 06 Ноября, 2011 - 18:40:29
Post Id


Посетитель


Покинул форум
Сообщений всего: 335
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




вы не забыли? юзер в системе не один... Эта таблица общая просто у каждой строки есть столбик с идом юзера который добавил.

Можете кодом написать?
 
 Top
Bio man
Отправлено: 06 Ноября, 2011 - 19:37:06
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




у каждого пользователя по 5 записей да? создай поля id (auto increment) urid (user row id) uid (user id) и
Цитата:
удаляй последнюю запись, меняй urid на urid+1 и потом добавляй запись под 1 номером

PHP:
скопировать код в буфер обмена
  1.  
  2. $query = 'SELECT `id` FROM `table` WHERE `гrid` = 5 AND `uid` = '.$user_id;
  3. $deleted_row_id = $db->query($query)->fetch_row();// или как то по другому, на свой вкус
  4.  
  5. $query = 'DELETE FROM `table` WHERE `urid` = 5 AND `uid` = '.$user_id;
  6. $db->query($query);
  7.  
  8. $query = 'UPDATE `table` SET `urid` = ';
  9. for($i=4; $i>=1; $i--) {
  10.    $query .= $i+1;
  11.    $db->query($query);
  12. }
  13. $query = "INSERT INTO `table` (`id`, `urid` `uid`) VALUES ({$deleted_row_id[0]}, 1, {$user_id})";
  14. $db->query($query);
  15.  

примерно так

(Отредактировано автором: 06 Ноября, 2011 - 19:38:59)

 
 Top
android
Отправлено: 06 Ноября, 2011 - 19:45:15
Post Id


Посетитель


Покинул форум
Сообщений всего: 335
Дата рег-ции: Сент. 2011  


Помог: 0 раз(а)




не понял... user row id что это? что за столбик!?
 
 Top
Страниц (5): [1] 2 3 4 5 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB