软件开发人员懒惰但聪明,这就是我们为什么要这样做: PHP.Show 概念

分享于 

25分钟阅读

Web开发

  繁體

下载 PHP.Show

下载 contacts.zip

介绍

对于重复代码,为不同的客户机编写同样的应用程序是一个令人烦恼的练习。 如果你是软件开发者,你可以知道下一个循环和执行过程,或者直到循环。 这些存在消除了通过运行循环来一次又一次地完成事情的需要。 在大多数情况下,软件开发人员谈论快速应用程序开发( RAD ),简单的用按钮生成用户界面( 用户界面) 或者后端( 数据库)。 通常,通过给他们一些属性 比如 数据库连接,它们通常会生成源代码和屏幕。 它们存在的原因是 1. 消除重复和 2.消除重复和重新创建源代码的需要,例如通过执行所有的操作来实现 CRUD功能。

因这里,在本质上,它的他人为你写代码,并且你不会为你的应用指定一些条款和条件。 有一个,有人写它来创建源文件,数据库连接字符串 等等 我在所有这些实例中都。 我们可以创建一个( 创建,更新,删除)的数据库应用程序,后台等等,为什么不编写一个能够为客户服务的RAD工具来满足客户需求? 是的,我们是懒惰的时候再次执行重复任务,完全找到和开发用于我们的软件应用。

我已经开发了一段时间的软件,实际上我认为我已经通过了 10,000小时的时间了。 遗憾的是,随着移动设备的新发展,我由于好奇心而重新开始进行手机的应用开发。 现在已经有两年的时间了,幸运的是我已经为我提供了一些有用的工具来帮助我。

三周前,我遇到了 Having的编码问题,为我的数据库应用程序生成php脚本。 应用必须同时适用于安卓和 iOs,并将对远程的 MySQL服务器使用CRUD功能。 我想要简单的和 straightfoward。 在网络上搜索一些可以帮助我实现我想要的东西的东西。 我觉得我应该自己做。

我面临的一个挑战是我从未使用过PHP和 MySQL。 我已经在许多应用程序中使用了 MySQL,但是使用了微软技术,因这里我如何做到这一点。

案例场景:我的数据库中有 10个或者更多的表,它们。 在某些情况下,根据表中的另一个字段更新一个字段。 因这里,我将在我的应用程序中使用CRUD功能,一些CRUD方法很小,因这里我将在数据库中执行。 我不想写每一个和每个脚本和可以用的PHP发生器,而上级没有给我我想要的。 我开始思考,开发和创建了一个 Php.Show, 工具,我认为我将在开发应用程序时使用 PHP。

一些愚蠢的假设:你可以使用MySQL创建数据库。 你熟悉PHP并编写它的脚本。 你可以将PHP文件上载到web服务器。 你可以调试PHP脚本并能够调用PHP脚本。 你知道JSON的用法。

背景

本文将研究 PHP.Show的输出和后续文章,将详细介绍如何使用 B4J 使用来自任何软件的语法创建Java应用的免费RAD工具( 基本 4 Java )。

PHP.Show 生成PHP源代码,换句话说,脚本,用于你的MySQL数据库的CRUD功能。 你可以在一个php文件中为你的指定表创建一个表。它的字段( 和属性)。within。DELETE。SELECT语句。

Php.Show 是使用vb开发的Java应用程序。 对于我来说,这也是一个新的球体,我将在另一篇文章中讨论它。 Having 这样的优点是消除了 Having 繁琐的任务,为数据库中的不同表反复编写相同的php脚本。 添加到这也是创建你自己的CRUD脚本的功能,能够为这些特定操作选择字段。 那是我最想要的功能。

当一个启动应用程序时,出现图 1,我将详细解释各个部分。 这样我们也会看到生成的php脚本。 这也将为你提供关于如何生成CRUD功能的想法。 因此,当你提供了使用RAD工具生成PHP脚本的机会时,你还可以学习如何使用 PHP。 你可以从W3School获得大量关于这个的信息,这里是

图 1

就像你可以看到的,有一段用来指定数据库连接。创建表和创建字段以及其他操作的部分。

选择帮助>,为提供了一个关于Php显示什么的想法。

要从你的选择mysql表生成php脚本文件,你需要选择文件> 编译。 让我们创建一个新的php文件。

步骤 1: MySQL数据库连接

为此,我们首先要指定 MySQL php文件将连接到的数据库连接。 图 2详细说明。

图 2

键入主机,用户名,密码和数据库。 这将使用你在本节中指定的详细信息转换为以下php脚本


// define the database connection parameters.


 $servername = "myhost";


 $dbname = "mydb";


 $username = "myuser";


 $password = "mypassword";


 // get the action to the performed from the querystring.


 $action = $_GET["action"];


 // Create connection


 $conn = new mysqli($servername, $username, $password, $dbname);


 // Check connection


 if ($conn->connect_error) {


 die("Connection failed:". $conn->connect_error);


 }



步骤 2: 创建表

图 3

图 3有两部分,列表列出所有创建的表和一个创建新表的节,另存为 delete 和动作。

创建一个新表。

1.点击新的icon 表格属性

2.键入表名称

3。单击保存

更新表名称

1.从列表中选择表 NAME

2.更新表名称

3。单击保存

删除表

1.从列表中选择表 NAME

2.单击删除

图 4: 确认表删除

4.确认 Delete ( 你不能撤消这里操作)

步骤 3: 为表创建字段

默认情况下,创建表时,假定操作与你为表指定的主键字段相关。 这里主键字段被假定为增量字段。 要完成这个过程,应该指定将作为php脚本一部分的每个字段。

1.确保已经选定要添加字段的表,并且它的NAME 显示在表名称上

2.在 字段属性 选择 icon"

3。在字段名称中键入。

4.选择字段类型( 当前有字符串和 Int )

5.主:如果这里字段为主键,则选中此项。 当主代码时,这个字段将是php脚本中用于 Delete 和Update语句的。

6.获取:如果要使用这里字段生成SELECT语句,请选中这里选项。 默认情况下,"获取"操作是使用主字段创建的,但如果要在SELECT语句中使用它的他字段,也可以检查。 例如假设你有一个名为Contacts的表,它有字段。id。firstname。lastname。age。 id字段是主键,你将在这里情况下选择主关键字。 例如,如果你还想使用运行select语句,那么你可以在创建时检查生成器,以获取所有姓。

7.排序:如果你希望你的SELECT语句使用某些字段返回排序结果,则可以检查该字段。

8.单击保存这将更新字段 listview。

更新字段

1.从字段列表中选择字段

2.更改字段 NAME 或者类型或者其他详细信息如主,获取和排序

3。单击保存

删除字段

1.从列表中选择字段

2.单击删除

3。确认字段 Delete ( 这里操作无法撤消)

步骤 4: 编译PHP脚本文件

1.从表列表中选择要处理的表

2.单击文件> 编译。

php脚本文件将为你生成并保存。 让我们创建一个联系人表,以说明它是如何工作的。

示例:创建联系人php脚本。

1.我将使用fictitions数据库。 这样创建你的MySQL属性。

2.添加联系人表。 在表属性上,单击新建,在表 NAME 上键入"联系人",单击保存

3。添加字段,id,firstname,lastname,类似这样。 NB: 每次单击 new create创建字段。

让我解释一下我们刚才做了什么。

1.id: 我们创建了一个标识字段。 这是主字段,因此检查主字段。 它是一个自动递增字段,因此字段类型为 Int。

2.firstname: 我们创建了一个名字字段。 我们也想得到一个名字为checked的记录。

3。lastname: 我们创建了一个lastname字段。 我们想按姓氏对记录进行排序,因此选中排序

注意:每次添加新字段时,请单击字段属性上的新建,完成后单击保存。 确保字段名称没有空格总是更好的做法。

现在我们完成了,点击列表中的联系人表,点击> 编译,让我们看看生成的php脚本。 请记住,这个工具的目的是生成你的CRUD脚本。 对于指定的表,我们将为创建的字段选择 SELECT。INSERT。DELETE 和UPDATE语句。 在确认你想要生成脚本文件之后,让我们来探讨一下。

数据库后台联系人表

这只是一个示例联系人表,它在你的mysql后端数据库中如何处理你的服务器上的。 注意,id字段设置为 auto,这意味着它自动自动递增。 所以我们在 PHP.Show 上做的是创建相同的结构,但是我们的应用程序。 或许在未来的这个RAD工具中,我将添加功能来自动读取数据库,我们将看到。

请注意,使用 PHP.Show 创建这里数据库表结构不会在后端数据库中为你创建表。

输出:PHP脚本文件

编译后,将为你打开生成的文件。 在我的代码中,我使用 NotePad++,所以这个文件在我的例子中会被打开。 让我向前跳,解释如何从你的web服务器中调用这个文件。

你会注意到,生成文件将为 contacts.php。 这意味着与这里相关的所有数据库操作都将存储在这里。 执行操作的主要决定因素是通过在你的调用中指定一个动作变量来维护。 php脚本文件中的switch 语句会获取这里操作,然后执行所需的各种操作。

调用 Contacts.php CRUD功能

1 R eating eating contact ( 插入SQL语句)。

调用:


/contacts.php?action=create?firstname=Anele&lastname=Mbanga&telephone=01123567989



Script: ( 这使用了 switch 方法)


case "create":


 // insert a new record to the table, the primary key is assumed auto increment


 $firstname = $_GET["firstname"];


 $lastname = $_GET["lastname"];


 $telephone = $_GET["telephone"];


 $sql = "INSERT INTO contacts";


 $sql = $sql. " (firstname,lastname,telephone) VALUES";


 $sql = $sql. " ('$firstname','$lastname','$telephone')";


 $result = $conn->query($sql);


 break;



运行web服务器的调用时,要创建的脚本将被执行。 我在脚本中根据你创建的字段名称定义了变量。 首先获取 QueryString 传递给服务器的每个变量,然后运行INSERT语句以使用你指定的信息向联系人表提供信息。 因为id字段由MySQL数据库管理,所以它不会作为变量在我们的调用中传递。

数据库:

2 R eading a 联系人( 选择SQL语句)

为了从数据库中读取记录,选择SQL语句将使用子句来指示符合条件的记录。 在这个例子中,我们是retrieveing的单一记录。

调用:





/contacts.php?action=read&id=1



脚本:


case "read":


 // get a single record from the table using the primary key


 $id = $_GET["id"];


 $sql = "SELECT * FROM contacts";


 $sql = $sql. " WHERE id = $id";


 $sql = $sql. " ORDER BY lastname";


 $result = $conn->query($sql);


 $rows = array();


 while ($row = $result->fetch_assoc()) {


 $rows[] = $row;


 }


 print json_encode($rows);


 break;



这将调用该方法获取由id指定的联系人记录,并将它的作为JSON字符串返回。 你还可以执行另一个调用来获取所有记录,如下所示。 你注意到上面的ORDER BY 子句了? 当我们创建lastname字段时,要检查排序,告诉应用程序返回的记录应该按姓氏排序。 你可以选择要包含在排序中的多个字段。 他们的顺序将取决于如何在应用中添加它们。

3。pdate联系人( 更新SQL语句)

要更新现有的联系人记录,我们需要知道主关键字字段值。 在上面的数据库屏幕中,这已经在后台创建为 id=1. 最后,通过 PHP.Show 生成的php脚本假设当你进行更新时,你将更新所有字段。 我将向你展示如何在以后的 action中更新特定的字段。

调用:


/contacts.php?action=update&id=1&firstname=Anele%20Mash%lastname=Mbanga&telephone=01123567989



Script: ( 这使用了 switch 方法)


//process the actions


 switch ($action)


 {


 case "update":


 // update the table record using the primary key


 $id = $_GET["id"];


 $firstname = $_GET["firstname"];


 $lastname = $_GET["lastname"];


 $telephone = $_GET["telephone"];


 $sql = "UPDATE contacts SET";


 $sql = $sql. "firstname='$firstname',";


 $sql = $sql. "lastname='$lastname',";


 $sql = $sql. "telephone='$telephone'";


 $sql = $sql. " WHERE id = $id";


 $result = $conn->query($sql);


 break;



数据库:

如你所见,在essense中,这里代码仅将第一个 NAME 更新为'anele混音器'。 你可能想知道为什么要传递一个完整的QueryString,而只更新名字? 请记住,这些脚本用于用户界面从数据库读取并显示在屏幕控件上并更新服务器。 注意字符串变量字段周围的单引号。

4 eleting contact

last reate-/pdate-镑的最后一部分是 delete 方法。 id字段是指定为主字段的字段,我们将使用该字段从联系人表中的记录中删除记录。

调用:


/contacts.php?action=delete&id=1



Script: ( 这使用了 switch 方法)


case "delete":


 // delete a record from the table using the primary key


 $id = $_GET["id"];


 $sql = "DELETE FROM contacts";


 $sql = $sql. " WHERE id = $id";


 $result = $conn->query($sql);


 break;



上面的脚本从传递的QueryString 获取 id,然后执行 delete 语句以从表中删除记录。 从现在开始,我们将查看从数据库中检索记录所添加的其他方法。

5.读取所有联系人信息

调用:


/contacts.php?action=readall



脚本:


case "readall":


 // get all records from the table with a sort order if specified


 $sql = "SELECT * FROM contacts";


 $sql = $sql. " ORDER BY lastname";


 $result = $conn->query($sql);


 $rows = array();


 while ($row = $result->fetch_assoc()) {


 $rows[] = $row;


 }


 print json_encode($rows);


 break;



对于小数据库的小数据库,这可以能很好,因为它返回数据库表中的所有记录。 对于大型数据库来说,在资源有限的webservers上和拥有大型表的多个用户上。 在这种情况下,你可以将每个记录分别返回给用户。

6.通过名字获得联系

但是我还希望基于名称返回联系人记录,因这里在指定该字段的属性时,of检查。

让我们看看下面是什么。 如果要在字段中返回具有特定值的记录,还可以用,标记字段。 我们是为了名字。

调用:


/contacts.php?action=getfirstname&firstname=Anele



脚本:


case "getfirstname":


 // get records by firstname with sort order if specified


 $firstname = $_GET["firstname"];


 $sql = "SELECT * FROM contacts";


 $sql = $sql. " WHERE firstname = '$firstname'";


 $sql = $sql. " ORDER BY lastname";


 $result = $conn->query($sql);


 $rows = array();


 while ($row = $result->fetch_assoc()) {


 $rows[] = $row;


 }


 print json_encode($rows);


 break;



这个调用将从数据库表中选择所有名字为Anele的联系人。

行动

下面的部分将讨论称为动作的灵活查询的问题。 以上部分在创建php脚本时没有提供任何灵活性,因为它们将根据你创建的字段。 动作使人能够做到完美。 例如你只需要根据电话号码或者任何字段选择或者更新联系人。

若要创建此类脚本,请创建一个操作。

1 操作步骤 1: 创建操作筛选器

1.将表 NAME 选择为 add/update/delete 操作

2.在表属性上,单击 Actions"。 出现动作屏幕。

3。单击新建,然后键入操作 NAME,比如 电话

4.指定主键( 例如你要通过电话来 select/update/delete 联系人,请在这里指定电话)。 这就是我们所讨论的灵活性。

5.你可以选择创建的方法在这种情况下,你可以选中选择,插入,删除和更新。

6.在域名上,选择名字,然后单击>,然后是>,电话,然后是>。

7.单击保存。这里操作应该如下所示。

8.选择其他操作的电话,单击预览按钮,这将为你生成这里操作的php脚本。 让我们看看这是什么。

按电话选择联系人。


case "select_telephone":


$telephone = $_GET["telephone"];


$sql = "SELECT firstname,lastname,telephone FROM contacts";


$sql =. " WHERE telephone = $telephone";


$result = $conn->query($sql);


$rows = array();


while ($row = $result->fetch_assoc()) {


$rows[] = $row;


}


print json_encode($rows);


break;



从你的调用 比如/contacts. phpaction=select_telephone& telephone=0123456789?

这将返回所有具有该电话号码的记录。 这是在创建操作时检查选择的结果。

按电话删除联系人的费用


case "delete_telephone":


$telephone = $_GET["telephone"];


$sql = "DELETE FROM contacts";


$sql =. " WHERE telephone = $telephone";


$result = $conn->query($sql);


break;



如上所示,当这里脚本通过/contacts. phpaction=delete_telephone& telephone=0123456789调用时,将删除这里电话numeber的所有联系人。

基于电话操作的插入联系人


case "insert_telephone":


$firstname = $_GET["firstname"];


$lastname = $_GET["lastname"];


$telephone = $_GET["telephone"];


$sql = "INSERT INTO contacts";


$sql =. " (firstname,lastname,telephone) VALUES";


$sql =. " ($firstname,$lastname,$telephone)";


$result = $conn->query($sql);


break;



但是,如果你还没有包括操作中的所有字段,这个语句将与这里前所讨论的一样。

通过电话进行的更新联系人


case "update_telephone":


$firstname = $_GET["firstname"];


$lastname = $_GET["lastname"];


$telephone = $_GET["telephone"];


$sql = "UPDATE contacts SET";


$sql =. "firstname=$firstname,";


$sql =. "lastname=$lastname,";


$sql =. "telephone=$telephone";


$sql =. " WHERE telephone = $telephone";


$result = $conn->query($sql);


break;



在创建操作时,我们还检查了更新。 这意味着,对于我们的行动,我们也会有一个基于电话号码的更新脚本。

重新编译表脚本将包括在一个文件中创建的所有操作。 这就是所有人,希望你喜欢这个,并且它提供了一些 PHP MySQL集成的绿色灯光。 在我将来的文章中,我将介绍如何创建这个fram工具,以便我们查看源代码。

Points of Interest

虽然有很多PHP生成器,但是我希望能够使用MySQL作为后端的手机应用开发的灵活性。 然而,这些关系只是在另一个表上更新另一个表的一个字段。 我想要重新使用功能,并且能够在没有 Having的情况下重复创建代码,但只需生成。

fram工具使软件开发人员的生命变得容易,因这里能够在我们面对 Having 时再次执行重复任务。 面对这样的挑战,这些工具为开发人员提供了一些方法。

网络上有一个巨大的array 工具做不同的事情。 这是我在CodeProject中讨论的第二个RAD工具。 第一个是这里的,为了快速创建CRUD应用程序,现在我们已经学习了PHP和MySQL集成,这一工具将被更新为对MySQL后端的更新。 我现在非常兴奋。


PHP  显示  RAD  Concept  lazy  
相关文章