require_once '../qb.php'; Qb::connect('sqlite:sample.db'); Qb::db()->exec('CREATE TABLE IF NOT EXISTS todo(id INTEGER PRIMARY KEY, title TEXT, completed INTEGER)'); if (!empty($_GET['action'])) { switch ($_GET['action']) { case 'list': echo Qb('todo')->toJson(); exit; case 'post': Qb('todo')->save(['title' => $_GET['title'], 'completed' => 0]); exit; case 'delete': Qb('todo')->where('id', $_GET['id'])->delete(); exit; case 'change': Qb('todo')->where('id', $_GET['id'])->save('completed', $_GET['completed']); exit; } } ?> <!DOCTYPE html> <html lang="ja" ng-app="app"> <head> <meta charset="UTF-8"> <title>ToDo</title> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.1/angular.min.js"></script> <script> angular.module('app', []).controller('MainController', function($scope, $http) { function api(action, params) { params = params || {}; params.action = action;
Qb::db()->exec('CREATE TABLE IF NOT EXISTS todo(id INTEGER PRIMARY KEY, title TEXT, completed INTEGER)'); if (isset($_GET['id'])) { switch ($_SERVER['REQUEST_METHOD']) { case 'GET': echo Qb('todo')->toJson(); break; case 'POST': $in = json_decode(file_get_contents('php://input'), true); if (isset($in['id'])) { Qb('todo')->where($in['id'])->save('completed', $in['completed']); } else { Qb('todo')->save(['title' => $in['title'], 'completed' => 0]); } break; case 'DELETE': Qb('todo')->delete($_GET['id']); break; } exit; } ?> <!DOCTYPE html> <html ng-app="app"> <head> <meta charset="UTF-8"> <title>ToDo</title> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular-resource.min.js"></script> <script> angular.module('app', ['ngResource']).controller('MainController', function($scope, $resource) { var res = $resource('?id=:id');
public function testOrder() { Qb('test')->delete(); $id = Qb('test')->save(['no' => 1, 'name' => 'A']); $id = Qb('test')->save(['no' => 2, 'name' => 'B']); $id = Qb('test')->save(['no' => 3, 'name' => 'B']); $id = Qb('test')->save(['no' => 4, 'name' => 'C']); $r = Qb('test')->asc('name')->desc('no')->toArray(); $this->assertEquals([['id' => 1, 'no' => 1, 'name' => 'A'], ['id' => 3, 'no' => 3, 'name' => 'B'], ['id' => 2, 'no' => 2, 'name' => 'B'], ['id' => 4, 'no' => 4, 'name' => 'C']], $r); }
<?php require_once '../qb.php'; Qb::connect('sqlite:sample.db'); Qb::db()->exec('CREATE TABLE IF NOT EXISTS contact(id INTEGER PRIMARY KEY, name TEXT, mail TEXT)'); if (!empty($_POST['name'])) { Qb('contact')->save(['name' => $_POST['name'], 'mail' => $_POST['mail']]); header('Location: ' . $_SERVER['REQUEST_URI']); exit; } $contacts = Qb('contact')->toObject(); ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>Contact</title> </head> <body> <ul> <?php foreach ($contacts as $contact) { echo "<li>{$contact->name} <a href='mailto:{$contact->mail}'>{$contact->mail}</a></li>"; } ?> </ul> <form method="post"> name:<input name="name"> mail:<input name="mail"> <input type="submit" value="post"> </form>