SQLiteな休日
1. 行(レコード)を削除する

行を削除します。下記のような書き込みしてきたデータベース(sqlite.db)があった時

idsitenameurl
1phpな猫の森http://p-ho.net/photolog/
2phpな休日http://p-ho.net/
3SQLiteな休日http://p-ho.net/sqlite/

3行目の“SQLileな休日”の行を削除する場合は

<?php
$file = "./sqlite.db"; //データベースファイル定義
$data = sqlite_open("$file"); //オープン
$query = "delete from table1 where id='3'"; //クエリの定義(id 3 の行を削除する)
$result = sqlite_query ($data,$query); //実行
sqlite_close($data); //切断
?>

where で削除する行を特定しています。これは
$query = "delete from table1 where sitename='SQLileな休日'";
でも同じです。

なお、データを削除するにはファイル(sqlite.db)が書込可能になっている必要があります。
ファイルのパーミッションを変更しておいてください。
設定値はサーバーのマニュアル参照で。わからない場合はいつもの要領で 600・606・666 の順にお試しを。

2. フォームから削除する

フォームから削除できるようにします。

<?php
if (($_POST["pass"] == "hoge") && ($_POST["sitename"] != "") && ($_POST["url"] != "")) { //全てに入力があり、パスワードが正しければ
$sitename = $_POST["sitename"]; //POSTのデータを変数$sitenameに格納
if( get_magic_quotes_gpc() ) { $sitename = stripslashes("$sitename"); } //クォートをエスケープする
$sitename = htmlspecialchars ($sitename); //HTMLタグ禁止
$sitename = mb_strimwidth ($sitename, 0, 50, "",euc); //長いデータを50バイトでカット
$url = $_POST["url"]; //POSTのデータを変数$urlに格納
if( get_magic_quotes_gpc() ) { $url = stripslashes("$url"); } //クォートをエスケープする
$url = htmlspecialchars ($url); //HTMLタグ禁止
$url = mb_strimwidth ($url, 0, 50, "",euc); //長いデータを50バイトでカット
$file = "./sqlite.db"; //データベースファイル定義
$data = sqlite_open("$file"); //オープン
$query = "insert into table1 values(null,'$sitename','$url')"; //クエリの定義
$result = sqlite_query ($data,$query); //実行
sqlite_close($data); //切断
}
if ($_GET["delline"]) { //削除の場合
$delline = $_GET["delline"]; //削除行の特定(GETされたidによる)
$file = "./sqlite.db"; //データベースファイル定義
$data = sqlite_open("$file"); //オープン
$query = "delete from table1 where id='" . $delline . "'"; //クエリの定義
$result = sqlite_query ($data,$query); //実行
sqlite_close($data); //切断
}
$file = "./sqlite.db"; //データベースファイル定義
$data = sqlite_open("$file"); //オープン
$query = "select * from table1"; //クエリの定義
$result = sqlite_query ($data,$query); //実行
print "<table border='1' cellspacing='0' cellpadding='4'>¥n";
print "<tr><td>id</td><td>sitename</td><td>url</td><td>&nbsp;</td></tr>¥n";
while ($scan = sqlite_fetch_array ($result)) { //全ての行(レコード)を配列に入れる
print "<tr><td>" . $scan["id"] . "</td><td>" . $scan["sitename"] . "</td><td>" . $scan["url"] . "</td><td><a href='./index.php?delline=" . $scan["id"] . "'>Del</a></td></tr>¥n";
}
print "</table>¥n";
sqlite_close($data); //切断
?>
<br />
追加する<br />
<form method="POST" action=""><br />
サイト名<br />
<input type="text" name="sitename" size="50" /><br />
URL<br />
<input type="text" name="url" size="50" /><br />
パスワード<br />
<input type="password" name="pass" size="20" /><br />
<input type="submit" value="送信" /><br />
</form>

書込はパスワード制限してあります。

実行
2014.2.4 last edit

Produced by haku