본문 바로가기
MySql

MySQL 다중 선택 (PHP 및 MySQL)

by 베이스 공부 2021. 1. 2.
반응형

다음과 같은 다중 선택 양식이 있습니다.

<select name="states[]" size="5" multiple>
    <option value="2">state 1</option>
    <option value="3">state 2</option>
    <option value="4">state 3</option>
    <option value="5">state 4</option>
    <option value="6">state 5</option>
</select>

하나 이상의 상태를 선택한 다음 데이터베이스에 쿼리를 만들고 선택한 각 상태에 대한 설명을 표시 할 수 있기를 원합니다.

그래서 이것은 PHP와 MySQL을 사용하여 쿼리를 작성해야하는 것입니다.

$state = $_POST['states'];
$data = mysql_query("SELECT * from states WHERE id_state = '$state'",$db); 

while($row = mysql_fetch_array($data)){
    $result=$row['description'];
}

echo $result;

나는 그 코드를 가지고 있으며 아무것도 표시하지 않습니다.

이 문제를 어떻게 해결할 수 있습니까?

 

해결 방법

 

이렇게하려면 배열을 살펴보고 각 값에 따라 결과를 얻기 위해 간단한 foreach 가 필요합니다.

foreach($_POST['states'] as $state) {
    $data = mysql_query("SELECT * from states WHERE id_state = '$state'",$db);
    $row = mysql_fetch_array($data);
    echo $row['description'];
}

또한 어떤 종류의 쿼리를 보호하지 않고 PHP 5.5.0에서 더 이상 사용되지 않는 mySQL 을 사용하고 있으므로 PDO 또는 mySQLi 준비된 문

 

참조 페이지 https://stackoverflow.com/questions/16159721

 

 

반응형

댓글