server/php/basic/resources/library/dbFunctions.php
author rougeronj
Wed, 03 Jun 2015 17:27:46 +0200
changeset 471 e0c7be5dc02c
parent 444 19f0b7803aed
permissions -rw-r--r--
Add a router to handle fragment identifier Set up a listener of the router in the scene to update it Start Backbone.history (eventlistener of the router) when all the project is loaded Include router.js to all the test file
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
442
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
require_once(realpath(dirname(__FILE__) . "/../config.php"));
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
function getDb() {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
    global $config, $renkan_table;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
    $db = new PDO(
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
        $config['db']['dsn'], $config['db']['user'], $config['db']['password'],
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
        array(PDO::ATTR_EMULATE_PREPARES => false,
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
              PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    );
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
    $querycheck = "SELECT 1 FROM ". RENKAN_PROJECT_TABLE ." LIMIT 1;";
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    $create_table = false;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
    try {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
        $res = $db->query($querycheck);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
        if($res === false) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
            $create_table = true;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
        }
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    }
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
    catch(PDOException $e) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
        $create_table = true;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
    }
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
    if($create_table === true) {
444
19f0b7803aed add schema version + dataloaders to ensure data migrations + small correction for php server exmple + a readme for the php server example
ymh <ymh.work@gmail.com>
parents: 442
diff changeset
    29
        $db->query("CREATE TABLE ". RENKAN_PROJECT_TABLE ." ( id CHAR(36) NOT NULL PRIMARY KEY, title VARCHAR(2048) NULL, renkan TEXT NULL);");
442
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    }
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
    return $db;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
function insertProject($renkanId, $title, $renkan) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
    $insertSql = "INSERT INTO ". RENKAN_PROJECT_TABLE ." (id, title, renkan) VALUES (:renkanId, :title, :renkan)";
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
    $values = ['renkanId' => $renkanId, 'title' => $title, 'renkan' => $renkan];
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
    return execStmt($insertSql, $values);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
function updateProject($renkanId, $title, $renkan) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
    $updateSql = "UPDATE ". RENKAN_PROJECT_TABLE ." SET id = :renkanId, title = :title, renkan = :renkan;";
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
    $values = ['renkanId' => $renkanId, 'title' => $title, 'renkan' => $renkan];
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
    return execStmt($updateSql, $values);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
function deleteProject($renkanId) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
    $deleteSql = "DELETE FROM ". RENKAN_PROJECT_TABLE ." WHERE id = :renkanId;";
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
    $values = ['renkanId' => $renkanId];
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
    return execStmt($deleteSql, $values);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
function selectProject($renkanId) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
    $selectSql = "SELECT id, title, renkan FROM ". RENKAN_PROJECT_TABLE ." WHERE id = :renkanId;";
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
    $values = ['renkanId' => $renkanId];
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
    return execStmt($selectSql, $values)->fetchAll(PDO::FETCH_ASSOC);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
function listProjects() {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
    $selectSql = "SELECT id, title, renkan FROM ". RENKAN_PROJECT_TABLE .";";
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
    return execStmt($selectSql, array())->fetchAll(PDO::FETCH_ASSOC);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
}
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
function execStmt($sql, $values) {
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
    $stmt = getDb()->prepare($sql);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
    $stmt->execute($values);
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
    return $stmt;
adb907bba956 add server php example
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
}