Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Как добавить запись в столбец базы mysql не удаляя предыдущие записи

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

1. daimon0482 - 11 Марта, 2017 - 22:04:26 - перейти к сообщению
Здравствуйте подскажите пожалуйста как добавить запись в столбец базы mysql не удаляя предыдущие записи, например Update но чтобы не переписал а добавил.
2. Строитель - 11 Марта, 2017 - 22:35:35 - перейти к сообщению
daimon0482, INSERT
3. daimon0482 - 11 Марта, 2017 - 22:56:26 - перейти к сообщению
Строитель, INSERT вроде создает новую строку в базе? а надо в уже созданой ранше.
4. Строитель - 11 Марта, 2017 - 22:57:59 - перейти к сообщению
daimon0482 пишет:
Строитель INSERT вроде создает новую строку в базе.
Верно, новая строка равна новой записи. Вам ведь это было нужно?
5. daimon0482 - 11 Марта, 2017 - 23:02:43 - перейти к сообщению
Строитель пишет:
daimon0482 пишет:
Строитель INSERT вроде создает новую строку в базе.
Верно, новая строка равна новой записи. Вам ведь это было нужно?
нет не новую а в старую добавить .
6. Строитель - 11 Марта, 2017 - 23:09:16 - перейти к сообщению
daimon0482 пишет:
Строитель пишет:
daimon0482 пишет:
Строитель INSERT вроде создает новую строку в базе.
Верно, новая строка равна новой записи. Вам ведь это было нужно?
нет не новую а в старую добавить .
В старую добавить только UPDATE. Чтобы указать конкретно, в какой строке надо обновить запись, нужно в условии написать айдишник перезаписываемой строки. Примерно так:

UPDATE `имя_таблицы`
SET `имя_колонки` = 'новое значение'
WHERE `id_строки` = 1
(Добавление)
В этой строке WHERE `id_строки` = 1 вместо "1" укажите номер перезаписываемой строки.
7. daimon0482 - 11 Марта, 2017 - 23:12:07 - перейти к сообщению
Строитель пишет:
daimon0482 пишет:
Строитель пишет:
daimon0482 пишет:
Строитель INSERT вроде создает новую строку в базе.
Верно, новая строка равна новой записи. Вам ведь это было нужно?
нет не новую а в старую добавить .
В старую добавить только UPDATE. Чтобы указать конкретно, в какой строке надо обновить запись, нужно в условии написать айдишник перезаписываемой строки. Примерно так:

UPDATE `имя_таблицы`
SET `имя_колонки` = 'новое значение'
WHERE `id_строки` = 1


Update удалит то что там раньше было, а надо все сохранить, типа редактирования столбца.
8. Строитель - 11 Марта, 2017 - 23:16:32 - перейти к сообщению
daimon0482 пишет:
Строитель пишет:
daimon0482 пишет:
Строитель пишет:
daimon0482 пишет:
Строитель INSERT вроде создает новую строку в базе.
Верно, новая строка равна новой записи. Вам ведь это было нужно?
нет не новую а в старую добавить .
В старую добавить только UPDATE. Чтобы указать конкретно, в какой строке надо обновить запись, нужно в условии написать айдишник перезаписываемой строки. Примерно так:

UPDATE `имя_таблицы`
SET `имя_колонки` = 'новое значение'
WHERE `id_строки` = 1


Update удалит то что там раньше было, а надо все сохранить, типа редактирования столбца.
А там у вас число хранится? Если вам его нужно увеличить, то можно так

UPDATE `имя_таблицы`
SET `имя_колонки` = `имя_колонки` + 'новое значение'
WHERE `id_строки` = 1

Ну а если текст, то наверное сперва придётся сделать выборку этого поля в массив, потом изменить текст на желаемый, и потом перезаписать поле в базе на новый (изменённый) текст.
9. daimon0482 - 11 Марта, 2017 - 23:26:24 - перейти к сообщению
ясно не то.
а если мне по другому сделать, например вывод всех логинов из базы у кого поле ref= моим id.
просто при регистрации нового посетителя что пришел по моей ссылке в базе у него в поле ref добавляется мой id .Кгда я захожу на сайт в кабинете хочу видеть логин всех кто пришел по моей ссылке, как то так.
10. Строитель - 11 Марта, 2017 - 23:34:01 - перейти к сообщению
daimon0482 пишет:
ясно не то.
а если мне по другому сделать, например вывод всех логинов из базы у кого поле ref= моим id.
просто при регистрации нового посетителя что пришел по моей ссылке в базе у него в поле ref добавляется мой id .Кгда я захожу на сайт в кабинете хочу видеть логин всех кто пришел по моей ссылке, как то так.
Тогда вам не запись нужна, а выборка примерно такого вида:

SELECT `login`
FROM `имя_таблицы`
WHERE `ref` = 'ваш ID'
11. daimon0482 - 11 Марта, 2017 - 23:44:40 - перейти к сообщению
запись я хотел в одну колонку собирать все логины и от туда всех вывести.

а сейчас сделал так но не выводит ничего :
<?php
$resul = mysql_query("SELECT `login` FROM `users` WHERE `ref` =`id` ");
mysql_close();
while ($row = mysql_fetch_array($resul)){
echo $row['login'] ;
}
?>
страна вроде все правильно но не хочет.
12. Строитель - 11 Марта, 2017 - 23:48:00 - перейти к сообщению
daimon0482, вместо id надо указать число. Какой ваш идентификатор в базе, скорее всего 1 ? Вот его и укажите.
(Добавление)
Примерно так попробуйте

$resul = mysql_query("SELECT `login` FROM `users` WHERE `ref` = 1");
13. daimon0482 - 11 Марта, 2017 - 23:55:35 - перейти к сообщению
да вывело , но надо и для других людей я имею виду не конкретно мой ид а ид того кто зайдет на сайт
(Добавление)
тойсть скажем людей много у всех свои рефералы не будут же они видеть только мои рефы
14. Строитель - 11 Марта, 2017 - 23:58:40 - перейти к сообщению
daimon0482 пишет:
да вывело , но надо и для других людей я имею виду не конкретно мой ид а ид того кто зайдет на сайт
Для этого у вас на сайте для каждого юзера должна быть переменная (например $user_id), хранящая его ID, и в запросе просто передавать эту переменнную:

$resul = mysql_query('SELECT `login` FROM `users` WHERE `ref` = '. $user_id);
15. daimon0482 - 12 Марта, 2017 - 00:14:06 - перейти к сообщению
урааа все получилось спасибо большое :
$resul = mysql_query("SELECT `login` FROM `users` WHERE `ref` = '".$_SESSION['id']."' ");
(Добавление)
Строитель я вроде нажимаю сбоку на зелененькую спасибо но ничего не происходит или где то в другом месте надо нажать просто я новичек здесь и не все знаю.

 

Powered by ExBB FM 1.0 RC1