Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Активные темы » MySql/PHP: общие вопросы

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DKUniSoft

Цитата:
какой framework лучше использовать

тот, который знаете. лучше или хуже - нет такого. все зависит от конкретных задач.
https://habr.com/ru/post/353434/

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 19:24 20-01-2019
DKUniSoft

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
Спасибо

Всего записей: 89 | Зарегистр. 05-10-2007 | Отправлено: 07:31 23-01-2019
fanmas



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет. Можете помочь создать триггер для MySQL 5.6?

Всего записей: 62 | Зарегистр. 07-07-2005 | Отправлено: 02:41 27-02-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fanmas
а что непонятного, к примеру, тут  
http://www.rldp.ru/mysql/mysqlpro/triggers.htm
или тут  
https://coderius.biz.ua/blog/article/sozdanie-triggerov-v-mysql

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 03:27 27-02-2019
fanmas



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо. Саму структуру я понял. Можно пример кода чтобы при создании строки в поле id попадало число предыдущее значение +1(это нумерация, должна начаться с 1), но нужно чтобы у всех строк с одним clientid велась своя собственная нумерация.

Всего записей: 62 | Зарегистр. 07-07-2005 | Отправлено: 06:32 27-02-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
fanmas
что то вида (не проверял)

Код:
DELIMITER //
 
CREATE TRIGGER table_name_before_insert BEFORE INSERT ON table_name  
FOR EACH ROW
BEGIN
SET @lastID = (SELECT MAX(id) FROM table_name WHERE clientid = NEW.clientid ORDER BY id DESC LIMIT 1);
IF @lastID IS NULL OR @lastID = '' THEN
    SET @lastID = 0;
END IF;
SET NEW.id = @lastID + 1;
END; //
 
DELIMITER ;

 
или
 

Код:
DELIMITER //
 
CREATE TRIGGER table_name_before_insert BEFORE INSERT ON table_name  
FOR EACH ROW
BEGIN
SET @lastID = (SELECT MAX(id) FROM table_name WHERE clientid = NEW.clientid);
IF @lastID IS NULL THEN
    SET @lastID = 0;
END IF;
SET NEW.id = @lastID + 1;
END; //
 
DELIMITER ;

 
ps: на будущее - тут обсуждается взаимодействие php и mysql, вам же нужно в MySQL Помогите составить запрос

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 06:49 27-02-2019 | Исправлено: Mavrikii, 09:58 27-02-2019
fanmas



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо. Перейду в другой раздел.

Всего записей: 62 | Зарегистр. 07-07-2005 | Отправлено: 07:04 27-02-2019
fanmas



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Код не работает, ругается на строку 4. Спасибо, разобрался и все работает.

Всего записей: 62 | Зарегистр. 07-07-2005 | Отправлено: 12:41 01-03-2019 | Исправлено: fanmas, 15:13 01-03-2019
Ghosting4469



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
По идее после обновления страницы должны 2 везде записаться.

Код:
 
public function actionOut(){
    $model2 = new AddFormComment();
    //для отправки в БД
    $model2->name = '2';
    $model2->comment = 2;
    $model2->id_stick = '2';
    $model2->save(false);
     //   return $this ->render('out', compact('users','model2'));
    }
 

А отправляется пустые значения

Не подскажете где проблему искать?

Всего записей: 55 | Зарегистр. 21-03-2017 | Отправлено: 08:57 13-03-2019 | Исправлено: Ghosting4469, 08:59 13-03-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ghosting4469
телепаты в запое.
 

Цитата:
По идее

по какой идее?? откуда мы знаем где этот код, выполняется ли он или нет? какая фреймворк, какие типы полей должны быть?
как по мне, так он не выполняется вообще.

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 09:00 13-03-2019 | Исправлено: Mavrikii, 09:01 13-03-2019
Ghosting4469



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yii2, в контроллере, типы полей везде text (Проверочная таблица)

Всего записей: 55 | Зарегистр. 21-03-2017 | Отправлено: 09:04 13-03-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ghosting4469
проверяли, что выполняется именно это место?

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 09:07 13-03-2019
Ghosting4469



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, убирая $model2->save(false); данные не пишутся в бд.

Всего записей: 55 | Зарегистр. 21-03-2017 | Отправлено: 09:09 13-03-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ghosting4469
код модели покажите тогда.
 
anonim - это значение по умолчанию в базе или в модели (не пишу на Yii, но это все просто)
 
вполне возможно, что не проходит валидацию, а так как save(false), то вставляет по умолчанию

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 09:13 13-03-2019 | Исправлено: Mavrikii, 09:24 13-03-2019
Ghosting4469



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Anonim Значение по умолчанию в таблице.
Код модели

Код:
 
<?php
 
namespace app\models;
use yii\db\ActiveRecord;
 
class AddFormComment extends ActiveRecord{
    public static function tableName(){
        return 'comments';
    }
        public $name;
        public $comment;
        public $id_stick;
}
 

 
Добавлено:

Цитата:
вполне возможно, что не проходит валидацию, а так как save(false), то вставляет по умолчанию

Дак валидацию вообще не делал что бы этого избежать, без нее он любые данные должен отправлять?

Всего записей: 55 | Зарегистр. 21-03-2017 | Отправлено: 09:24 13-03-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ghosting4469

Цитата:
без нее он любые данные должен отправлять?

проверяется просто - убрать false. если будет ошибка валидации, то данные не будут вставлены в базу (о чем говорит мануал Yii)
 

Цитата:
new AddFormComment()

namespace не забыли указать? а то может левый файл цепляет

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 09:26 13-03-2019 | Исправлено: Mavrikii, 09:27 13-03-2019
Ghosting4469



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
namespace не забыли указать? а то может левый файл цепляет

Нет, он сругается. Ладно не тратьте на это свое время, думал может сталкивался кто. Дальше разберусь. Спасибо.

Всего записей: 55 | Зарегистр. 21-03-2017 | Отправлено: 09:32 13-03-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ghosting4469

Цитата:
Нет, он сругается

не будет ругаться если в той же папке лежит файл, где и контроллер.

Цитата:
думал может сталкивался кто.  

сделайте дамп созданной модели до записи, потом дамп после записи, чтобы посмотреть как записалось.

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 09:33 13-03-2019 | Исправлено: Mavrikii, 09:34 13-03-2019
Ghosting4469



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
вставляет по умолчанию


Код:
 
INSERT INTO `comments` (`id`) VALUES (DEFAULT)
 

 
Лог выполнения запросов посмотрел. Вы правы, спасибо.

Всего записей: 55 | Зарегистр. 21-03-2017 | Отправлено: 09:52 13-03-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ghosting4469
тогда проблема, скорее всего, в $model2 = new AddFormComment();
уберите скобки, попробуйте $model2 = new AddFormComment;
у вас явно идет создание модели без каких либо атрибутов.
правда, по сути, это идентично.
 
как и писал, я бы сделал var_dump($model2) до save() и после - посмотреть что из себя представляют объекты.
потом убрал бы false из save() и проверил бы какое значение возвращается - были ли ошибки при валидации и запросе.

Всего записей: 15112 | Зарегистр. 20-09-2014 | Отправлено: 10:01 13-03-2019 | Исправлено: Mavrikii, 10:06 13-03-2019
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Интернет » Web-программирование » Активные темы » MySql/PHP: общие вопросы


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru