Программирование - это просто
Advertisement
Главная arrow Web-программирование arrow Углубленное изучение PHP. Пишем Easy CMS (пл. р.) arrow Пишем Easy CMS. Урок 9. В редакторе таблиц реализуем функцию добавления строки (PHP, CSS).
26.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Пишем Easy CMS. Урок 9. В редакторе таблиц реализуем функцию добавления строки (PHP, CSS). Печать E-mail
Автор megabax   
03.04.2011 г.
Структура программы на примере простейшей программы

Пишем Easy CMS. Урок 9. В редакторе таблиц реализуем функцию добавления строки (PHP, CSS).

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

В платном разделе статья находиться здесь.


Сегодня мы к нашему редактору простейшей таблицы добавим кнопочку, создающую новую запись. Было бы разумно, что бы класс таблицы тоже мог принять от объекта сообщения - команды. Поэтому реализуем у ней функцию event_handler:...

...

 ... Так же немножко доработаем event_handler у класса ECMS_Table_row_editor, в частности обработка команды добавления новой строки...

...

...Теперь тестовый пример:

<html>

 

<head>

  <title>Тест EASY CMS</title>

  <LINK HREF="ECMS.css" REL="stylesheet" TYPE="text/css">

</head>

 

<body>

 

<?php

    include_once("EASYCMSBase.php");

    include_once("EASYCMSDB.php");

    include_once("EASYCMSVisual.php");

    init_ECMS();

 

    //Создадим контроллер ссылок

    $rc=new ECMS_References_controller();

    $rc->url="http://localhost";

    $rc->file_name="test.php";

    $rc->set_name("refcont");

 

    //создадим базу данных и законнектимся к ней

    $db=new ECMS_Database("test","localhost","root","123");

    $db->set_prefix("P");

    $db->connect();

 

    //создадим редактор строки таблицы

    $ro=new ECMS_Table_row_editor();

 

    //создадим класс таблицы

    $tb=new ECMS_Table("wares", $db);

    $tb->fields[]=new ECMS_Field("id","код","int",true);

    $tb->fields[]=new ECMS_Field("name","наименование","text",false);

    $tb->fields[]=new ECMS_Field("price","цена","real",false);

   

 

    //создадми прсомтрищик таблицы и заполним его

    $tv=new ECMS_Table_viewer();

    $tv->table=$tb;

    $tv->edit_icon_html="<img src='edit.png'>";

    $tv->ref_control=$rc;

    $tv->row_editor=$ro;

    $tv->copy_fields_to_columns();

   

    //заполним редактор строки

    $ro->columns=$tv->columns;

    $ro->set_name("roweditor");

    $ro->table=$tb;

    $ro->ref_controller=$rc;

 

    $rc->add($ro);

    $rc->add($tb);

 

    //Превратим входные параметры в событие

    if(isSet($_GET["option"])) {

        $msg=$rc->create_message();

        $msg["destination_name"]=$_GET["objname"];

        $msg["row_id"]=$_GET["rowid"];

        $msg["option"]=$_GET["option"];

        $msg["data"]=$ro->get_data_from_post();

        $rc->send_message($msg,false,$rc);

    }

 

 

    $tb->select_rows();

 

    //выведем заголовок таблицы

    echo "<b>В таблице</b><br> ";

    echo "<table border=2><tr>";

    echo $tv->show_header();

    echo "</tr>";

 

    //выведем строки таблицы

    $cn=$tb->get_rows_count()-1;

    for($i=0; $i<=$cn; $i++) {

        echo "<tr>";

        echo $tv->show_row();

        echo "</tr>";

    }

 

    //закончим таблицу

    echo "</table><br>";

   

 

    echo '<form method="POST" action="'.$rc->create_reference_table_row("newrow", $ro, null).'">';

    echo '<input type="submit" value="Добавить" name="btnOK">';

    echo '</form>';

 

/*  $tb->select_rows();

    $row=$tb->get_row();

    echo $ro->show_edit_form($row,$rc->create_reference_table_row("editrow", $ro,$row["id"]));

    */

?>

 

</body>

Обратите внимание что таблицу (класс ECMS_Table) так же помещаем в контейнер. 

И вот результат работы программы:

Пишем Easy CMS. Урок 9. В редакторе таблиц реализуем функцию добавления строки (PHP, CSS).

по кнопочке добавить у нас открывается форма добавления строки:

 Пишем Easy CMS. Урок 9. В редакторе таблиц реализуем функцию добавления строки (PHP, CSS).

И после нажатия на Submit добавленная строка оказывается в базе данных:

Пишем Easy CMS. Урок 9. В редакторе таблиц реализуем функцию добавления строки (PHP, CSS).

 

 

 

Последнее обновление ( 03.04.2011 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги