Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 16 окт 2019, 13:28

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 43 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: снова, бд,запрос
СообщениеДобавлено: 20 апр 2012, 19:56 
Не в сети
Супермодератор
Аватара пользователя

Зарегистрирован: 13 фев 2012, 22:24
Сообщения: 65
Откуда: оттуда
Напиши перед условием
Код:
print_r($_POST);

да увидишь, что приходит при отправке формы


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: снова, бд,запрос
СообщениеДобавлено: 20 апр 2012, 23:00 
Не в сети
Бывалый

Зарегистрирован: 27 мар 2012, 14:08
Сообщения: 62
eBasher писал(а):
Напиши перед условием
Код:
print_r($_POST);

да увидишь, что приходит при отправке формы

Добавил, но ничего не происходило.
После, решил добавить в другой контроллер) вот его исходник:
Код:
    // Главная страница
    public function action_index()
    {
        $content = View::factory('/pages/show')
                ->bind('krut', $krut);
        $krut = Model::factory('Maddurl')->get_all();
        $addurl = View::factory('/addurl');   
        $this->template->content = $content;
        $this->template->addurl = $addurl;
        $recomsite = View::factory('/recomsite');
        $this->template->recomsite = $recomsite;
       
       
    }   

И когда добавил в левый контроллер выводилось:
Код:
Array ( [inputsite] => asdfsagfadf [submit] => Добавить ) Отправлено


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: снова, бд,запрос
СообщениеДобавлено: 21 апр 2012, 00:32 
Не в сети
Бывалый

Зарегистрирован: 27 мар 2012, 14:08
Сообщения: 62
Вообщем слил все в дочерьний контроллер, кошмар там с кодом, но теперь там выводятся надписи:Добавил, нет нет не добавил. В БД не добавляется,теперь ошибка в самом коде INSERT.
Спасибо Администратору ресурса,за новый мануал, вовремя))
Код:
$query = DB::insert('users', array('login', 'password'))
            ->values(array($login, $password));



users - это таблица, а остальные значение? (login,password) ребят туплю просто ужас,но помогите разобраться, перечитать, та перечитаю,но когда тыкаю пальцем или помогают в чем то,больше вызывает стремление изучать это все) больше заинтересованность вызывает, понимаешь что не одинок)))
Код:
$query = DB::insert('users', array('login', 'password'))
            ->values(array($login, $password));

Я добавил в модель такой код.
Код:
$query = DB::insert('krut', array('adres'))
            ->values(array($adres)); 

netbeans показывает что $query - не используется в своем обьеме(

Но если я использую query bilder, то такая вещь уже будет совершенно выглядить по другому? это же обычный sql запрос,а у нас та билдер, так как её изменить?
Код:
$addcontent = View::factory('addurl')
         ->bind('krut', $krut);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: снова, бд,запрос
СообщениеДобавлено: 21 апр 2012, 16:34 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Надеюсь execute() в конце писали ?

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: снова, бд,запрос
СообщениеДобавлено: 21 апр 2012, 17:37 
Не в сети
Бывалый

Зарегистрирован: 27 мар 2012, 14:08
Сообщения: 62
Нет, но код теперь так выглядит и все равно не работает((((((

Код:
  public function select()
    {
           DB::insert('krut', array('adres'))->values(array('adres'))
                ->execute();
    }


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: снова, бд,запрос
СообщениеДобавлено: 21 апр 2012, 18:17 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Метод вообще вызывается ? Как ? И почему он называется select, когда там insert.
Вообщем нужен полностью код контроллера и код модели, как оно выглядит сейчас.

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: снова, бд,запрос
СообщениеДобавлено: 21 апр 2012, 18:40 
Не в сети
Бывалый

Зарегистрирован: 27 мар 2012, 14:08
Сообщения: 62
admin писал(а):
Метод вообще вызывается ? Как ? И почему он называется select, когда там insert.
Вообщем нужен полностью код контроллера и код модели, как оно выглядит сейчас.

Я думал название функции особо не имеет значение, вот полностью код, только там смесь.
Модель:
Код:
<?php defined('SYSPATH') or die('No direct script access.');
 
class Model_Maddurl extends Model
{
    protected $_tablekrut = 'krut';
 
    /**
     * Get all articles
     * @return array
     */
    public function get_all()
    {
        $sql = "SELECT * FROM ". $this->_tablekrut;
 
        return DB::query(Database::SELECT, $sql)
                   ->execute();
    }
   
    public function select()
    {
           DB::insert('krut', array('adres'))->values(array('adres'))
                ->execute();
    }
}


Контроллер
Код:
<?php defined('SYSPATH') or die('No direct script access.');
 
class Controller_Page extends Controller_Common {
 
    // Главная страница
    public function action_index()
    {
        $content = View::factory('/pages/show')
                ->bind('krut', $krut);
        $krut = Model::factory('Maddurl')->get_all();
        $addurl = View::factory('/addurl');   
        $this->template->content = $content;
        $this->template->addurl = $addurl;
        $recomsite = View::factory('/recomsite');
        $this->template->recomsite = $recomsite;
            //Добавление адреса  ((вот тут наша поле задействовано)
        $addcontent = View::factory('addurl')
         ->bind('krut', $krut);
        $this->template->addcontent = $addcontent;
       
        print_r($_POST);
        if($_POST)
{
 
// Используем хелпер Arr, зря учили чтоли :)
    $answer = Arr::get($_POST, 'inputsite');

    // Тут проверка, допустим юзер должен ввести хоть один символ
    if(trim($answer) != '')
    {
        // Тут видимо вставка этой записи в базу. Передаем в модель эту запись, производим INSERT
        echo "Отправлено";
    }
    else
   {
        echo "Нет нет, я не отправил. Введите хоть чего-нибудь";
    }
}
           
    }
       
       
     
 
    // Страница о сайте
    public function action_about()
    {
        $content = View::factory('/pages/about');
        $this->template->content = $content;
    }
 
    // Страница контактов   
    public function action_contacts()
    {
        $content = View::factory('/pages/contacts');
        $this->template->content = $content;
    }   
 
} // End Page


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: снова, бд,запрос
СообщениеДобавлено: 21 апр 2012, 18:49 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Цитата:
Я думал название функции особо не имеет значение


Не имеет. Но странно, когда метод, в котором присходит вставка записи называется select(выбрать). Сами же потом запутаетесь.
Посмотрел код. А где вызов этого метода ?
Вместо
Код:
// Тут видимо вставка этой записи в базу. Передаем в модель эту запись, производим INSERT

пишем
Код:
$krut = Model::factory('Maddurl')->insert($answer);

А в модели
Код:
    public function insert($adress)
    {
           DB::insert($this->_tablekrut, array('adres'))->values(array($adress))
                ->execute();
    }


Метод select() вытираем.

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: снова, бд,запрос
СообщениеДобавлено: 21 апр 2012, 20:01 
Не в сети
Бывалый

Зарегистрирован: 27 мар 2012, 14:08
Сообщения: 62
admin

Прибольшущая вам спасибо))) Только почему то после отправки, происходит ошибка, ошибка в виде. По идеи этот записи из БД
Код:
<h3>Это главная страница</h3>
<br />
<?php foreach($krut as $maddurls): ?>
 
    <div style="padding:10px; margin-bottom:10px; border-bottom:#333 2px solid;">
        <strong><?php echo $maddurls['adres']; ?></strong><br />
        <p style="text-align:right; text-decoration:underline;">
           
    </div>

<?php endforeach; ?>



Код:
<?php foreach($krut as $maddurls): ?>
- эта строка является инициатор ошибки. beans говорит, то что $krut - не инициализирована.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: снова, бд,запрос
СообщениеДобавлено: 21 апр 2012, 21:36 
Не в сети
Бывалый

Зарегистрирован: 16 апр 2012, 19:44
Сообщения: 113
Все потому, что Вы не определяете эту переменную, а только объявляете.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 43 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group