Alguém teve problema para executar o código do tutorial ????
Pois estou tentando usar e não funciona...
Eu criei o bd alterei as linas de conxão com o bd:
<?php
$con = mysql_connect("localhost", "root", "");
mysql_select_db("canelas");
?>
E copiei o código:
Formulario.php
<?php
$con = mysql_connect("localhost", "root", "");
mysql_select_db("canelas");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript">
function pesquisar_dados( valor )
{
http.open("GET", "consultar.php?id=" + valor, true);
http.onreadystatechange = handleHttpResponse;
http.send(null);
}
function handleHttpResponse()
{
campo_select = document.forms[0].subcategoria;
if (http.readyState == 4) {
campo_select.options.length = 0;
results = http.responseText.split(",");
for( i = 0; i < results.length; i++ )
{
string = results.split( "|" );
campo_select.options[i] = new Option( string[0], string[1] );
}
}
}
function getHTTPObject() {
var xmlhttp;
/*@cc_on
@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch
{
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch
{
xmlhttp = false;
}
}
@else
xmlhttp = false;
@end @*/
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch
{
xmlhttp = false;
}
}
return xmlhttp;
}
var http = getHTTPObject();
</script>
</head>
<body>
<form name="formulario" method="post" action="">
<p><select name="categoria" onchange="pesquisar_dados( this.value )">
<option></option>
<?php
$consulta = mysql_query("SELECT * FROM categorias ORDER BY nome ASC");
while( $row = mysql_fetch_assoc($consulta) )
{
echo "<option value=\"{$row['codigo']}\">{$row['nome']}</option>\n";
}
?>
</select></p>
<p><select name="subcategoria"></select>
</p>
</form>
</body>
</html>
consultar.php
<?php
$con = mysql_connect("localhost", "root", "");
mysql_select_db("canelas");
$categoria = addslashes($_GET["id"]); // pegamos o id passado pelo select
$consulta = mysql_query("SELECT * FROM subcategoria WHERE categoria = '$categoria'"); // selecionamos todas as subcategorias que pertencem à categoria selecionada
while( $row = mysql_fetch_assoc($consulta) )
{
echo $row["nome"] . "|" . $row["codigo"] . ","; // apresentamos cada subcategoria dessa forma "NOME|CODIGO,NOME|CODIGO,NOME|CODIGO,...", exatamente da maneira que iremos tratar no JavaScript
}
?>
As categorias aparecem, mas quando seleciono uma categoria para aparecer as subcategorias, dá uma erro de Javascript no IE (linha 20 caractere 7, o objeto não dá suporte para a propriedade ou metodo).... também testei no Firefox e nada...
agradeço a ajuda...
Jura
Edição feita por: jura, 25/06/2005, 12:21.