Select box и промяна на други полета

djpatzo

Registered
Интерисува ме след като избера от select box някакво поле от базата данни как да се запълнят останалите полета input които са с извлечени други резултати от базата. Т.е. извеждам id в select box-a и как като го избера от там да се запълват всички останали полета автоматично от категорията на същото ID.
 
Също така идва следния проблем. Като се опитам от select box-а да избера нещо не мога да изведа в браузъра id-то на полето. Т.е. не ми излиза &id=1,2 Или там каквото е а излиза само $id= благодаря предварително.
 
Направих ти набързо едно демо:
proba.html:
<!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=windows-1251" />
<title></title>
<style type="text/css">
#proba {
width:200px;
height : 200px ;
border:solid 1px blue;
}
</style>
<script type="text/javascript">
var xmlHttp = false;
function initPage()
{
if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
alert('Вашият броузър не поддържа AJAX');
exit();
}
}
function show()
{
var forma = document.getElementById('forma').value;
var url = "proba.php?id="+forma;
var div = document.getElementById('proba');
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = function()
{
if(xmlHttp.status == 200)
{

var otgovor = xmlHttp.responseText.split("|");
div.innerHTML = otgovor[0]+"<br />"+otgovor[1]+"<br />"+otgovor[2];
}
else
{
alert(xmlHttp.statusText);
}
}
xmlHttp.send(null);
}
</script>
</head>

<body onLoad="initPage()">
<div id="proba"></div>
<form method="post" action="proba.php">
<select name="izbor" onChange="show()" id="forma">
<option value="">Избери</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
</form>
</body>

</html>

и proba.php:
<?php
$num = $_GET['id'];
switch($num){
case '1':
echo "Name:Stefan|Family:Stambolov|age:45";
break;
case '2':
echo "Name:Ivan|Family:Vazow|age:71";
break;
}
?>
 
Ще го пробвам по-късно, защото ми се налага да изляза и ако има нещо ще пиша благорадя отново.
 
djpatzo каза:
Нещо не се получава кода. Пробвах какво ли не.
Кода си работи перфектно!Така както съм ти дал файловете, само трябва COPY-PASTE в два php файла, слагаш на сървъра, и готово!Не виждам какво повече от това може да се направи! Трябва задължително да кръстиш втория файла proba.php
 
Вие дадохте една точка за support на emagi.

Просто бях променил имената на файловете а не бях ги сменял в съдържанието.А как ще стане този код да взима променливите от база данни.
 
Незнам каква ти е структурата на БД, но да кажем че има поле ID.Пращаш чрез AJAX-a ID-то на съответния ред и въз основа на него получаваш някакъв резултат
 
Имам ID и искам от SELECT BOX-a да може да се избира записа от базата. Значи полетата ми са ID и NAME които ще ползвам за select box-а и искам като избера от селект бокса да попълва полетата които ще има съответно с
mysql.gif

Ще вземам данните от тези таблици
 

Back
Горе