Compare commits
No commits in common. "e6f541198bdad0bbafe1ae2477ce4812dc61967a" and "63b19062eab30fce1d517697d169075dfe31347c" have entirely different histories.
e6f541198b
...
63b19062ea
|
@ -5,6 +5,6 @@
|
||||||
<title>Guestbook</title>
|
<title>Guestbook</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
Test
|
hola
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -1,59 +1,15 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$db = createDB();
|
createDB();
|
||||||
$test = getMessages($db, ['id_user' => 1]);
|
|
||||||
var_dump($test);
|
|
||||||
|
|
||||||
function createDB($db_name = 'guestbook.db'): SQLite3 {
|
function createDB()
|
||||||
// Can't create table if it already exists
|
{
|
||||||
$exists = file_exists($db_name);
|
$db = new SQLite3('guestbook.db');
|
||||||
|
$db->exec("CREATE TABLE user
|
||||||
$db = new SQLite3($db_name);
|
(id_user INTEGER PRIMARY KEY, username TEXT NOT NULL UNIQUE, password TEXT)");
|
||||||
|
$db->exec("CREATE TABLE message
|
||||||
if(!$exists) {
|
(id_msg INTEGER PRIMARY KEY, id_user INT, content TEXT NOT NULL,
|
||||||
$db->exec('CREATE TABLE user
|
FOREIGN KEY (id_user) REFERENCES user (id_user))");
|
||||||
(id_user INTEGER PRIMARY KEY,
|
|
||||||
username TEXT NOT NULL UNIQUE,
|
|
||||||
password TEXT)'
|
|
||||||
);
|
|
||||||
$db->exec('CREATE TABLE message
|
|
||||||
(id_msg INTEGER PRIMARY KEY,
|
|
||||||
id_user INT,
|
|
||||||
content TEXT NOT NULL,
|
|
||||||
date INT,
|
|
||||||
FOREIGN KEY (id_user) REFERENCES user (id_user))'
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $db;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getMessages(SQLite3 $db, array $filter = [], int $limit = 25) {
|
|
||||||
// Apply filters
|
|
||||||
$append_string = '';
|
|
||||||
$verb = 'WHERE';
|
|
||||||
|
|
||||||
foreach($filter as $key => $value) {
|
|
||||||
$to_append = match($key) {
|
|
||||||
'id_user' => "$verb $key = :$key",
|
|
||||||
// TODO
|
|
||||||
};
|
|
||||||
if($to_append) {
|
|
||||||
$append_string .= " $to_append";
|
|
||||||
$verb = 'AND';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Prepare statement
|
|
||||||
$query = 'SELECT * FROM message' . $append_string;
|
|
||||||
var_dump($query);
|
|
||||||
|
|
||||||
$statement = $db->prepare($query);
|
|
||||||
|
|
||||||
foreach($filter as $key => $value) {
|
|
||||||
$statement->bindParam($key, $value);
|
|
||||||
}
|
|
||||||
|
|
||||||
var_dump($statement);
|
|
||||||
return $statement->execute()->fetchArray(SQLITE3_ASSOC);
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue