通过PHP操作数据库

我将显示您从表格中选择的职位。
设定变量
$job = '';//selectの中の値
$host = '';//データベースのホスト名またはIPアドレス
$username = '';//ユーザー名
$passwd = '';//パスワード
$dbname = '';//データベース名
//データベースの情報を渡して接続する値を$linkに代入する
$link = mysqli_connect($host, $username, $passwd, $dbname);
$job = '';//selectの中の値
$host = '';//データベースのホスト名またはIPアドレス
$username = '';//ユーザー名
$passwd = '';//パスワード
$dbname = '';//データベース名
//データベースの情報を渡して接続する値を$linkに代入する
$link = mysqli_connect($host, $username, $passwd, $dbname);
只需一个选项,在中国以本地化的方式改写:
通过myspli_connect函数中括号内的信息来连接数据库。返回值是连接数据库的ID,用来指定已连接的数据库。
-
emp_idは社員番号
emp_nameは名前
emp_tableはtable名
if($link) {
//文字化け防止
mysqli_set_charset($link, 'utf8');
//最初か全部選択を選んだ時
if($job === '' || $job === '全部選択') {
//実行する内容を$queryに代入する
$query = 'SELECT emp_id, emp_name, job, age FROM emp_table
ORDER BY emp_id';
//他の職種を選んだ時
} else {
//実行する内容を$queryに代入する
$query = 'SELECT emp_id, emp_name, job, age FROM emp_table
WHERE job = "'.$job.'" ORDER BY emp_id';
}
//社員番号順にtableから3つのカラムを取得する
$query = 'SELECT emp_id, emp_name, job, age FROM emp_table
ORDER BY emp_id ASC';
“ORDER BY用于确定顺序。”
-
ASC・・・昇順
DESC・・・降順
//社員番号順にtableから3つのカラムの中から選んだ職種を取得
$query = 'SELECT emp_id, emp_name, job, age FROM emp_table
WHERE job = "'.$job.'" ORDER BY emp_id';
我们设定了条件。
由于变量在字符串中不能直接使用,所以写成了这种方式。
顺便说一下,这样更容易理解。
$query = "SELECT emp_id, emp_name, job, age FROM emp_table
WHERE job = '$job' ORDER BY emp_id";
执行查询
$result = mysqli_query($link, $query);
//1行ずつ配列を取得する
while($row = mysqli_fetch_array($result)) {
//取得したデータを配列にする
$goods_data[] = $row;
}
$result = mysqli_query($link, $query);
//1行ずつ配列を取得する
while($row = mysqli_fetch_array($result)) {
//取得したデータを配列にする
$goods_data[] = $row;
}
如果mysqli_query()被用于SELECT,则会返回选择的数据。如果用于UPDATE、DELETE,则会返回true或false。
当调用mysqli_fetch_array()函数成功时,将返回一个行数组,并且当没有可用的行时将返回null,若调用失败则返回false。
mysqli_free_result($result);
mysqli_close($link);
mysqli_free_result()函数用于释放存储的内存。
当使用mysqli_query()函数获取数据时,应立即释放。
mysqli_close()函数用于断开与数据库的连接。
所有的代码 de
<?php
$job = '';
$host = '';
$username = '';
$passwd = '';
$dbname = '';
//データベースの情報を渡して接続する値を$linkに代入する
$link = mysqli_connect($host, $username, $passwd, $dbname);
if(isset($_GET['job'])=== true) {
$job = $_GET['job'];
}
if($link) {
//文字化け防止
mysqli_set_charset($link, 'utf8');
if($job === '' || $job === '全部選択') {
$query = 'SELECT emp_id, emp_name, job, age FROM emp_table
ORDER BY emp_id';
} else {
$query = "SELECT emp_id, emp_name, job, age FROM emp_table
WHERE job = '$job' ORDER BY emp_id";
}
//クエリを実行
$result = mysqli_query($link, $query);
//1行ずつ配列を取得する
while($row = mysqli_fetch_array($result)) {
$goods_data[] = $row;
// var_dump($row);
}
mysqli_free_result($result);
mysqli_close($link);
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>サンプル</title>
<style type="text/css">
table, td, th {
border: solid black 1px;
}
table {
width: 200px;
}
</style>
</head>
<body>
<p>表示する職種を選択してください。</p>
<form>
<select name="job">
<option>全部選択</option>
<option>manager</option>
<option>analyst</option>
<option>clerk</option>
</select>
<input type="submit" value="表示">
</form>
<table>
<tr>
<th>社員番号</th>
<th>名前</th>
<th>職種</th>
<th>年齢</th>
</tr>
<?php
foreach ($goods_data as $value) {
?>
<tr>
<td><?php print htmlspecialchars($value['emp_id'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php print htmlspecialchars($value['emp_name'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php print htmlspecialchars($value['job'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php print htmlspecialchars($value['age'], ENT_QUOTES, 'UTF-8'); ?></td>
</tr>
<?php
}
?>
</table>
</body>
</html>
<?php
$job = '';
$host = '';
$username = '';
$passwd = '';
$dbname = '';
//データベースの情報を渡して接続する値を$linkに代入する
$link = mysqli_connect($host, $username, $passwd, $dbname);
if(isset($_GET['job'])=== true) {
$job = $_GET['job'];
}
if($link) {
//文字化け防止
mysqli_set_charset($link, 'utf8');
if($job === '' || $job === '全部選択') {
$query = 'SELECT emp_id, emp_name, job, age FROM emp_table
ORDER BY emp_id';
} else {
$query = "SELECT emp_id, emp_name, job, age FROM emp_table
WHERE job = '$job' ORDER BY emp_id";
}
//クエリを実行
$result = mysqli_query($link, $query);
//1行ずつ配列を取得する
while($row = mysqli_fetch_array($result)) {
$goods_data[] = $row;
// var_dump($row);
}
mysqli_free_result($result);
mysqli_close($link);
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>サンプル</title>
<style type="text/css">
table, td, th {
border: solid black 1px;
}
table {
width: 200px;
}
</style>
</head>
<body>
<p>表示する職種を選択してください。</p>
<form>
<select name="job">
<option>全部選択</option>
<option>manager</option>
<option>analyst</option>
<option>clerk</option>
</select>
<input type="submit" value="表示">
</form>
<table>
<tr>
<th>社員番号</th>
<th>名前</th>
<th>職種</th>
<th>年齢</th>
</tr>
<?php
foreach ($goods_data as $value) {
?>
<tr>
<td><?php print htmlspecialchars($value['emp_id'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php print htmlspecialchars($value['emp_name'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php print htmlspecialchars($value['job'], ENT_QUOTES, 'UTF-8'); ?></td>
<td><?php print htmlspecialchars($value['age'], ENT_QUOTES, 'UTF-8'); ?></td>
</tr>
<?php
}
?>
</table>
</body>
</html>