※ ChatGPTを利用し、要約された質問です(原文:PHP+MySqlでの検索)
PHP+MySqlでの検索
このQ&Aのポイント
PHP+MySqlを使用した検索ページの実装方法を教えてください。
検索ページからスペース区切りで検索するとヒットしない問題が発生しています。
ソースコードのどの部分にSQL文を書けば実装できるでしょうか?
検索ページから下記のソースに検索結果を表示させようと思っておりますが、スペース区切りにして検索をかけるとヒットしません。
こちらのソースのどの部分にどの様なSQL文を書けば実装出来ますでしょうか?
宜しくお願いします。
<?php require_once('Connections/tm.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$colname_search = "-1";
if (isset($_GET['search'])) {
$colname_search = $_GET['search'];
}
mysql_select_db($database_tm, $tm);
$query_search = sprintf("SELECT * FROM posts WHERE title LIKE %s ORDER BY modified DESC", GetSQLValueString("%" . $colname_search . "%", "text"));
$search = mysql_query($query_search, $tm) or die(mysql_error());
$row_search = mysql_fetch_assoc($search);
$totalRows_search = mysql_num_rows($search);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無題ドキュメント</title>
</head>
<body>
<table width="583" border="1">
<tr>
<th width="82" scope="col">タイトル</th>
<th width="113" scope="col">メッセージ</th>
<th width="111" scope="col">開始時間</th>
<th width="105" scope="col">名前</th>
<th width="138" scope="col">詳細</th>
</tr>
<tr>
<td height="20"><?php echo $row_search['title']; ?></td>
<td><?php echo $row_search['message']; ?></td>
<td><?php echo $row_search['modified']; ?></td>
<td><?php echo $row_search['n_name']; ?></td>
<td><a href="request_list.php?recordID=<?php echo $row_search['id']; ?>">詳細</a></td>
</tr>
</table>
</body>
</html>
<?php
mysql_free_result($search);
?>
補足
yambejp様 おっしゃる通りに、3の処理になっています。 and検索を行いたいのですが、いくつかのサイトや参考書を読んで試してみたのですがうまく行きませんでした。 出来ればこちらのソースをそのまま使いたいので、書き換える部分をご伝授頂ければと思っております。 よろしくお願いいたします。