이 페이지를 설정하는 방법에 대한 도움이 필요합니다. 5 개 정도의 데이터 필드 (예 : ID, 이름, 성, 좋아하는 색, 즐겨 찾기 번호)가있는 mysql 테이블이 있다고 가정 해 보겠습니다. 사용자가 테이블을 검색 할 수있는 기능을 제공하여 "검색"페이지를 만듭니다.mysql "검색"페이지 설정
페이지에는 ID, 성 및 이름에 대한 텍스트 입력란이 있습니다. 여기에서 사용자는 검색 할 데이터를 삽입합니다. 내가 헷갈 른 것은 텍스트 필드와 다른 검색 기준을 사용하고 공백으로 남겨진 필드를 무시하는 스크립트를 작성하는 방법입니다. 예를 들어, 사용자가 성 또는 이름 만 입력하면 성/이름이 같은 모든 항목이 표시됩니다. ID 만 삽입하면 (고유 할 것입니다) 해당 사용자의 모든 콘텐츠가 표시됩니다. 성 및 성 모두 입력하면 이름과 성을 가진 항목의 모든 데이터가 나타납니다.
기본 사항이지만이 기능을 처음 사용하는 사람은이 기능을 설정하는 방법에 대한 도움을 주시면 대단히 감사하겠습니다.
코드 업데이트 : '검색'페이지입니다 어떤 언어에서
<?php
//Connect and select database
//if user wants to search
if(isset($_POST['submit']))
{
$sqlConditions = array();
if(isset($_POST['id'])){
$id = filter_var($_POST['id'], FILTER_VALIDATE_INT);
$sqlConditions[] = 'id = ' . $id;
} else {
$id = 0;
}
if(isset($_POST['firstname'])){
$firstName = filter_var($_POST['firstname'], FILTER_SANITIZE_STRING);
$sqlConditions[] = 'firstname = ' . $firstName;
} else {
$firstName = '';
}
if(isset($_POST['lastname'])){
$lastName = filter_var($_POST['lastname'], FILTER_SANITIZE_STRING);
$sqlConditions[] = 'lastname = ' . $lastName;
} else {
$lastName = '';
}
$query = 'SELECT * FROM students WHERE ' . join (' AND ', $sqlConditions);
//print query
while ($row = $query->fetch_row())
{
print "LastName = " . $row[0] . " FirstName = " . $row[1].
"Favorite Color = " . $row[2] . " Favorite Number = " . $row[3] . "<br /><br />\n";
}
}
?>
<html>
<body>
<form method = "POST" action = "<?php echo $_SERVER['PHP_SELF']; ?>">
<p>ID:<input type = "id" id="id" name="id" size="20" maxlength="40" /></p>
<p>First Name:<input type = "firstname" id="firstname" name="firstname" size="20" maxlength="40" /></p>
<p>Last Name:<input type = "lastname" id="lastname" name="lastname" size="20" maxlength="40" /></p>
<input type="submit" id="submit" name ="submit" value="Search" />
</form>
</body>
</html>
이는 위대하다! 이 방법을 시도했지만 (위의 업데이트 된 코드 참조) 결과를 페이지에 인쇄 할 수없는 것 같습니다. 내가 뭘 잘못하고 있니? 감사합니다 :) –
$ 쿼리는 단지 문자열입니다. 쿼리를 실행해야만 결과를 가져올 수 있습니다. 읽으십시오 : http://php.net/PDO –
도와 주셔서 감사합니다. 나는 읽기 시작했고 혼란 스럽긴했지만 다음과 같이 결론을 내 렸습니다. $ result = $ connection-> query ($ query); $ row = $ result-> fetch (PDO :: FETCH_ASSOC); print_r ($ row); ... 이것이 내가 필요한 것입니까? 이것을 시도했지만 빈 페이지로 전달되었습니다. –