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

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 29 мар 2024, 01:27

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




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

Зарегистрирован: 27 мар 2012, 14:08
Сообщения: 62
Никак не могу понять как сделать запрос к бд.
Все данные из бд вывелись, но как мне из формы добавлять их в бд? я все перечитал, не могу понять, я овощ!!!
Вот вид формы
Код:
<br/>
<br/>
<form action ="" method="post">
    <select id="1" name="1">
        <option>ddd</option>
        <option>dsds</option>
    </select>
    <input value="" name="login" type="text" size="70">
    <input value="Добавить" type="submit">
   
   
</form>
<b/>
</a>

Вот такой код у главной странице
Код:
<h3>Это главная страница</h3>
<br />
 
<?php foreach($row as $maddurl): ?>
 
    <div style="padding:10px; margin-bottom:10px; border-bottom:#333 2px solid;">
        <strong><?php echo $maddurl['adres']; ?></strong><br />
        <p style="text-align:right; text-decoration:underline;">
    </div>
 
<?php endforeach; ?>

Ребят ну хоть как нибудь подскажите, хотя бы капельку,где и что нужно прописать,что создать и тд) помогите мне разобраться с этим программированием)


Вложения:
Безымянный.jpg
Безымянный.jpg [ 66.7 КБ | Просмотров: 6652 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: снова, бд,запрос
СообщениеДобавлено: 08 апр 2012, 18:38 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
После отправки формы данные попадают в POST - массив. Т.е. например, информация, введенная в это поле:
Код:
<input value="" name="login" type="text" size="70">

попадет в $_POST['login'].
Далее пишем что-то вроде:
Код:
$query = DB::query(Database::INSERT, 'INSERT INTO table (login) VALUES (:login)')  
$query->param(':login', $_POST['login']);


Это в упрощенном виде и в свете того, что мы проходили. Можно также использовать query builder, можно orm. Это я расскажу потом. Но и вышенаписанный пример будет работать.
И перечитайте http://kohanaframework.su/database/query_types

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


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

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
admin писал(а):
После отправки формы данные попадают в POST - массив. Т.е. например, информация, введенная в это поле:
Код:
<input value="" name="login" type="text" size="70">

попадет в $_POST['login'].
Далее пишем что-то вроде:
Код:
$query = DB::query(Database::INSERT, 'INSERT INTO table (login) VALUES (:login)'); 
$query->param(':login', $_POST['login']);
$query->execute();


Это в упрощенном виде и в свете того, что мы проходили. Можно также использовать query builder, можно orm. Это я расскажу потом. Но и вышенаписанный пример будет работать.
И перечитайте http://kohanaframework.su/database/query_types

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


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

Зарегистрирован: 13 фев 2012, 02:44
Сообщения: 32
AzEXx -а ты вообще в пхп работал с базами данных ? а то кажется что нет.


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

Зарегистрирован: 27 мар 2012, 14:08
Сообщения: 62
Migel писал(а):
AzEXx -а ты вообще в пхп работал с базами данных ? а то кажется что нет.

верно,я читал,смотрел работу бд с php, но практики не было,решил по практиковаться на kohane. хренова получается)))но это даже чем то хорошо


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

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Работа с базой в Кохане вам покажется даже проще :)
Единственное - SQL запросы надо знать на начальном уровне все равно. Ну там условия, лимиты, сортировку, объединения таблиц (желательно)

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


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

Зарегистрирован: 27 мар 2012, 14:08
Сообщения: 62
Я тоже так думаю, ведь kohana служит для упрощение задач)
:D но я нифига все равно невникну(((((((
Получается,что вид формы, будет так выглядеть?
Код:
<br/>
<br/>
<form action = "" method="post">
    <select id="1" name="1">
        <option>ddd</option>
        <option>dsds</option>
    </select>
    <input value="" name="login" type="text" size="70">
     <?
    $query = DB::query(Database::INSERT, 'INSERT INTO table (login) VALUES (:login)');
    $query->param(':login', $_POST['login']);
    $query->execute();
    ?>
    <input value="Добавить" type="submit">
</form>
<b/>

Я щас оторву себе голову, жесть.
А можно ли, так записать:
Код:
$query = "SELECT * FROM adres";

ну и че нить еще ниже ?


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

Зарегистрирован: 12 фев 2012, 01:02
Сообщения: 462
Нет. Ну вообще так писать конечно можно (только надо условие вставить на отправку пост-массива, иначе инсерт будет происходить каждый раз при открытии страницы..без отправки), но так писать не нужно, т.к. это нарушает принцип MVC.
Код формы остается тот же.
В контроллере, который отвечает за эту страницу, пишем проверку на наличие отправки формы. Если форма была отправлена, получаем данные из пост-массива и передаем их в модель (а можем и в модели их сразу использовать, так как пост массив-это суперглобальный массив). В модели осуществляем инсерт.
Вообще следующие уроки по базам данных как раз будут реализовывать фактически 100% копию того, что вы сейчас делаете. Я буду разбирать query builder и в качестве примера реализую добавление комментариев пользователей к статьям.

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


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

Зарегистрирован: 27 мар 2012, 14:08
Сообщения: 62
admin писал(а):
Нет. Ну вообще так писать конечно можно (только надо условие вставить на отправку пост-массива, иначе инсерт будет происходить каждый раз при открытии страницы..без отправки), но так писать не нужно, т.к. это нарушает принцип MVC.
Код формы остается тот же.
В контроллере, который отвечает за эту страницу, пишем проверку на наличие отправки формы. Если форма была отправлена, получаем данные из пост-массива и передаем их в модель (а можем и в модели их сразу использовать, так как пост массив-это суперглобальный массив). В модели осуществляем инсерт.
Вообще следующие уроки по базам данных как раз будут реализовывать фактически 100% копию того, что вы сейчас делаете. Я буду разбирать query builder и в качестве примера реализую добавление комментариев пользователей к статьям.

Может лучше мне дождаться следующего урока?а то я так убью своим тупизмом


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

Зарегистрирован: 27 мар 2012, 14:08
Сообщения: 62
Блин, ну что не так то происходит? нифига не срабатывает кнопка
Вид:
Код:
<br/>
<br/>
<form action = "" method="post">
    <input value="" name="inputsite" type="text" size="70">   
    <input value="Добавить" type="submit" name="submit">
   
   
</form>
<b/>
</a>
       

контроллер:
Код:
<?php defined('SYSPATH') or die('No direct script access.');
 
class Controller_Maddurls extends Controller_Common {
 
    public function action_index()
    {
         
        $content = View::factory('addurl')
         ->bind('krut', $krut);
        $this->template->content = $content;
       
        if(isset($_POST["inputsite"])){
           $answer = $_POST[""];
           if($answer == 1){
               echo "Отправлено";
           }
            else{
                echo "Нет нет, я не отправил";
            }
        $krut = Model::factory('Maddurl')->select();
               
           }
           
           
   
    }
}

Модель:
Код:
public function select()
    {
           DB::insert('krut', array('adres'))->values(array('site'));
               
    }


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

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


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

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


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

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