您的当前位置:首页正文

在heroku上用php+postgresql搭建简单后台

来源:要发发知识网
运行效果.gif 这个网址就用了后台的两个接口:分页查询和添加,我做了三个:添加、删除和分页查询,点击网页某一行为查看详情,点击加载更多为分页查询,网页的代码我有时间会写到简书,到时候我在文章下贴一个链接。

第一步:在heroku上创建一个php后台

<?php
    header('content-type:application/json;charset=utf8');
    header('Access-Control-Allow-Origin:*');
    echo 'hello world!';
?>

然后用heroku客户端创建一个应用,起名为herokuphp,然后和本文件夹关联并部署上去,然后你就能在终端看得到如下的地址:

...

...

然后在浏览器中输入该地址就能看到hello world!输出了

第二步:使用免费数据库postgresql

heroku addons:add heroku-postgresql

然后我们修改一下index.php文件内容来连接这个数据库:

<?php
    header('content-type:application/json;charset=utf8');
    header('Access-Control-Allow-Origin:*');
    //获取环境变量的参数 连接postgresql数据库
    $url=parse_url(getenv("DATABASE_URL"));
    $host = $url["host"];
    $port = $url["port"];
    $user = $url["user"];
    $password = $url["pass"];
    $dbname = substr($url["path"],1);
    $connect_string = "host='" . $host . "' ";
    $connect_string = $connect_string . "port=" . $port . " ";
    $connect_string = $connect_string . "user='" . $user . "' ";
    $connect_string = $connect_string . "password='" . $password . "' ";
    $connect_string = $connect_string . "dbname='" . $dbname . "' ";
    $db = pg_connect($connect_string);
    //执行语句
    $query = 'sql语句';
    $result = pg_query($query) or die('Query failed: ' . pg_last_error());
?>

没错,连接的代码是固定的,然后执行语句也是这么简单,相信你已经会使用了,无非就是创建表、插入数据和删除数据等等sql语句

第三步:你需要知道的php后台关键字

这一步我就只说几个重点,php代码我相信你们可以搞定的
判断请求方式:

$_SERVER['REQUEST_METHOD']=="GET"

获取get参数index的值:

$_GET['index']

获取post参数solve的值:

$_POST['solve']

对象转换成json字符串:

json_encode(object)

多建立几个php文件来分操作请求接口:

多文件多操作.png

然后你h5或其他地方向该php后台请求的时候就可以这样来区分了,比如分页获取数据:

$.ajax({
            type:"get",
            
            data :{
                "index":index
            },
            async:true,
            success: function (data) {
                addContent(data);//处理返回的数据
                index++;
              }
     });

添加数据:

$.ajax({
                type:"post",
                
                data :{
                    "title":$("#title").text(),
                    'detail':$("#detail").text(),
                    'solve':$("#solve").text(),
                    'date':date
                },
                async:false
        });

好了,有了以上的知识你已经可以做一个简单的后台了,heroku只有postgresql是免费的,而且heroku最近被ddos了,所以偶尔请求没有反应,所以你有好的、免费的和访问快的免费后台环境推荐,请记得回复我,感激不尽