라이브러리
[PHP] UIControlsCombo::onSelected - 선택된 핸들러
PHP에서 UI Controls Combo::onSelected
PHP는 서버측 언어로, UI Controls Combo::onSelected은 클라이언트측 자바스크립트 이벤트입니다. 하지만, PHP에서 UI Controls Combo::onSelected을 사용하려면, 자바스크립트를 사용하여 서버측 PHP로 데이터를 전송해야 합니다.
# UI Controls Combo::onSelected이란?
UI Controls Combo::onSelected은 콤보 박스에서 선택된 항목이 변경될 때 발생하는 이벤트입니다. 이 이벤트는 콤보 박스에 선택된 항목의 값과 인덱스를 전달합니다.
# PHP에서 UI Controls Combo::onSelected 사용하기
PHP에서 UI Controls Combo::onSelected을 사용하려면, 자바스크립트를 사용하여 서버측 PHP로 데이터를 전송해야 합니다. 다음은 예제입니다.
#hostingforum.kr
php
// PHP
<?php
// 데이터베이스 연결
$conn = mysqli_connect("localhost", "root", "", "test");
// 데이터베이스에서 데이터 가져오기
$query = "SELECT * FROM combo_data";
$result = mysqli_query($conn, $query);
// 데이터를 콤보 박스에 표시하기
$data = array();
while ($row = mysqli_fetch_assoc($result)) {
$data[] = array('value' => $row['id'], 'label' => $row['name']);
}
// 데이터를 JSON으로 변환하기
$json_data = json_encode($data);
// JSON 데이터를 클라이언트로 전송하기
echo $json_data;
?>
#hostingforum.kr
javascript
// 자바스크립트
// 콤보 박스 생성하기
var combo = document.getElementById("combo");
// 콤보 박스에 데이터 추가하기
var data = <?php echo json_encode($data); ?>;
data.forEach(function(item) {
var option = document.createElement("option");
option.value = item.value;
option.text = item.label;
combo.appendChild(option);
});
// 콤보 박스 이벤트 리스너 추가하기
combo.addEventListener("change", function() {
// 콤보 박스에서 선택된 항목의 값과 인덱스 가져오기
var selectedValue = combo.value;
var selectedIndex = combo.selectedIndex;
// 서버측 PHP로 데이터 전송하기
var xhr = new XMLHttpRequest();
xhr.open("POST", "combo_selected.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send("selected_value=" + selectedValue + "&selected_index=" + selectedIndex);
// 서버측 PHP에서 데이터 받기
xhr.onload = function() {
if (xhr.status === 200) {
var response = JSON.parse(xhr.responseText);
console.log(response);
}
};
});
# combo_selected.php
#hostingforum.kr
php
// PHP
<?php
// 데이터베이스 연결
$conn = mysqli_connect("localhost", "root", "", "test");
// 데이터베이스에서 데이터 가져오기
$query = "SELECT * FROM combo_data WHERE id = $_POST[selected_value]";
$result = mysqli_query($conn, $query);
// 데이터를 JSON으로 변환하기
$data = array();
while ($row = mysqli_fetch_assoc($result)) {
$data[] = array('id' => $row['id'], 'name' => $row['name']);
}
// JSON 데이터를 클라이언트로 전송하기
echo json_encode($data);
?>
위의 예제는 콤보 박스에서 선택된 항목의 값과 인덱스를 서버측 PHP로 전송하고, 서버측 PHP에서 데이터를 가져와 클라이언트로 전송하는 예제입니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.