4
나는 잠시 동안 html 드롭 다운 메뉴에서 선택한 초기 텍스트 을 기반으로 데이터베이스에서 정보를 가져 오는 올바른 방법을 찾으려고 노력 해왔다.PHP, AJAX HTML의 입력란을 자동으로 채우시겠습니까?
<html>
<head>
</head>
<script src="testjs.js"></script>
<?php
$host = "";
$username = "";
$password = "";
$database = "";
mysql_connect($host, $username, $password);
mysql_select_db($database);
?>
<body>
<form>
<select name="users" onchange="showUser(this.value)">
<option value="">Select a person:</option>
<?php
$Query = mysql_query("SELECT * FROM population");
while ($Rows = mysql_fetch_array($Query))
{
$ID = $Rows['ID'];
$Pop = $Rows['Pop'];
$UniqueID = $Rows['uid'];
echo "<option value=\"$UniqueID\">$Pop</option>";
}
?>
</select>
</form>
<br>
<p>DB ID <input type="text" id="ids" name="ID" ></p>
<p>Population <input type="text" id="content" name="contet" ></p>
<p>Unique ID <input type="text" id="uid" name="uid" ></p>
<div id="GetInformation"><b>Person info will be listed here.</b></div>
</body>
</html>
test.js 포함 :
function showUser(str)
{
if (str=="")
{
document.getElementById("GetInformation").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("GetInformation").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getuser.php?q="+str,true);
xmlhttp.send();
}
가져 오기 사용자가 포함되어 여기
내 코드입니다<?php
$q=$_GET["q"];
$con = mysql_connect('', '', '');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("DropDown", $con);
$sql="SELECT * FROM population WHERE uid = '".$q."'";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
$ID = $row['ID'];
$Pop = $row['Pop'];
$UID = $row['uid'];
?>
<script type="text/javascript">
var ids = '<?php echo json_encode($ID); ?>';
var content = '<?php echo json_encode($Pop); ?>';
var uid = '<?php echo json_encode($UID); ?>';
</script>
<?php }
mysql_close($con);
?>
** 경고! ** 코드에 [SQL 주입 취약점] (http://en.wikipedia.org/wiki/SQL_injection)이 있습니다. [PDO로 전환] (http://php.net/book.pdo) 또는 [mysqli] (http://php.net/book.mysqli)에서 [준비된 문과 매개 변수화 된 쿼리 문]을 사용할 수 있도록하십시오 (http : //en.wikipedia.org/wiki/Prepared_statement). – Charles
정말 원하는 것이 있습니까? – thiagoh
@ thiagoh OP가 자바 스크립트를 사용하여 데이터베이스의 다른 테이블에서 정보를 얻고 싶다고 생각합니다. 그 변수들을 자바 스크립트에 제출하고, 자바 스크립트를 사용하여 자바 스크립트 문자열에 포함 된 정보를' –