Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/02/2013, 23:51
nitram71
 
Fecha de Ingreso: enero-2011
Mensajes: 41
Antigüedad: 13 años, 3 meses
Puntos: 0
Error con datos grandes

Hola otra vez... como por variar "jodido" con un problemilla... "Normal No "..

Bueno muchachos como ya ustedes me han sacado de apuros en muchisisisimas ocasiones recurro nuevamente a ustedes para que me tiren un datico de que puedo estar haciendo mal otra vez... esto de ser medio lentejo para esto si es bochornoso ....
Bueno el caso es que Martín Iglesias... un programador de verdad... ha puesto en su blog un selector dependiente de tres niveles... perfecto.. con los fuentes que otorga y una pequeñisimas modificaciones anda a las mil maravillas...
He tomado su codigo y lo he acoplado a lo que necesito.. pero, Cuando lo pongo a funcionar con mis datos no me muestra la herencia sobre el tercer select...
Pense "es un decir no.." que podria se que los tipos de datos influirian por esta razon los monte todos tipo float....Siiiiii ya se que loco... pero bueno con intentar no se perdia nada.."bueno tal vez un poco mas de cabello.. "en fin.. nada.. estoy realmente enfrascado en este tema y no quiero seguir adelante hasta tanto no pueda solucionar este error.. aca va el codigo de Martin Iglesias...

Es de apuntar que con datos pequeños si trabaja bien...
Este es el Index

Código PHP:
<?php
function idpadre($nombre,$valor)
{
include(
"config.inc.php");
$query "SELECT * from padre order by padre";
mysql_select_db($dbname);
$result mysql_query($query);
echo 
"<select name='$nombre' id='$nombre'>";
echo 
"<option value=''>Selecciona un Padre...</option>";
while(
$registro=mysql_fetch_array($result))
{
echo 
"<option value='".$registro["idpadre"]."'";
if (
$registro["idpadre"]==$valor) echo " selected";
echo 
">".$registro["padre"]."</option>\r\n";
}
echo 
"</select>";
}

function 
idhijo($nombre,$valor)
{
include(
"config.inc.php");
$query "SELECT * FROM hijo order by hijo";
mysql_select_db($dbname);
$result mysql_query($query);
echo 
"<select name='$nombre' id='$nombre'>";
echo 
"<option value=''>Selecciona un Hijo...</option>";
while(
$registro=mysql_fetch_array($result))
{
echo 
"<option value='".$registro["idhijo"]."'";
if (
$registro["idhijo"]==$valor) echo " selected";
echo 
">".$registro["hijo"]."</option>\r\n";
}
echo 
"</select>";
}

function 
idnieto($nombre,$valor)
{
include(
"config.inc.php");
$query "SELECT * FROM nieto order by nieto";
mysql_select_db($dbname);
$result mysql_query($query);
echo 
"<select name='$nombre' id='$nombre'>";
echo 
"<option value=''>Selecciona un Nieto...</option>";
while(
$registro=mysql_fetch_array($result))
{
echo 
"<option value='".$registro["idnieto"]."'";
if (
$registro["idnieto"]==$valor) echo " selected";
echo 
">".$registro["nieto"]."</option>\r\n";
}
echo 
"</select>";
}
?>
Código 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=iso-8859-1" />
<title>Ejemplo de Combobox o Select Dependientes con PHP y Jquery | Martin Iglesias</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
/* COMBOBOX */
$("#idpadre").change(function(event)
{
var idpadre = $(this).find(':selected').val();
$("#pidhijo").html("<img src='loading.gif' />");
$("#pidhijo").load('combobox.php?buscar=hijos&idpadre='+idpadre);
var idhijo = $("#idhijo").find(':selected').val();
$("#pidnieto").html("<img src='loading.gif' />");
$("#pidnieto").load('combobox.php?buscar=nietos&idhijo='+idhijo);
});
$("#idhijo").live("change",function(event)
{
var id = $(this).find(':selected').val();
$("#pidnieto").html("<img src='loading.gif' />");
$("#pidnieto").load('combobox.php?buscar=nietos&idhijo='+id);
});
});
</script>
<style>
select{padding:5px;border:1px solid #bbb;border-radius:5px;margin:5px 0;display:block;box-shadow:0 0 10px #ddd}
#resultados{margin:20px 0;padding:20px;border:10px solid #ddd;}
</style>
</head>
<body>
<h1>Ejemplo de Combobox o Select Dependientes con PHP y Jquery | Martin Iglesias</h1>
<p>
<strong>Nota:</strong> Para nuestro ejemplo, utilizamos 3 selects. Vamos a preasignar valores. padre=1, hijo=2, nieto=3</p>
</p>
<div id="resultados"> 
[/PHP]<?php
if (isset($_POST)) print_r($_POST);
?>[/PHP]
Código HTML:
</div>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>">
<fieldset>
<p><label>Padre:</label><?php idpadre("idpadre","1"); ?></p>
<p id="pidhijo"><label>Hijo:</label><?php idhijo("idhijo","2"); ?></p>
<p id="pidnieto"><label>Nieto:</label><?php idnieto("idnieto","3"); ?></p>
<p><input type="submit" name="submit" value="Mostrar resultados" /></p>
</fieldset>
</form>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-266167-20");
pageTracker._setDomainName(".martiniglesias.eu");
pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html> 

Y este el Combobox

Código PHP:
<?php
include 'config.inc.php';
$valoractual=0;
if (
$_GET["buscar"]=="hijos")
{
$consulta="SELECT * FROM hijo WHERE idpadre='".mysql_real_escape_string(intval($_GET["idpadre"]))."' order by hijo";
mysql_select_db($dbname);
$todos=mysql_query($consulta);

// Comienzo a imprimir el select
echo "<label>Hijo:</label><select name='idhijo' id='idhijo'>";
echo 
"<option value=''>Selecciona un Hijo...</option>";
while(
$registro=mysql_fetch_array($todos))
{
// Convierto los caracteres conflictivos a sus entidades HTML correspondientes para su correcta visualizacion
// Imprimo las opciones del select
echo "<option value='".$registro["idhijo"]."'";
if (
$registro["idhijo"]==$valoractual) echo " selected";
echo 
">".utf8_encode($registro["hijo"])."</option>";
}
echo 
"</select>";
}

if (
$_GET["buscar"]=="nietos")
{
$consulta="SELECT * FROM nieto WHERE idhijo='".mysql_real_escape_string(intval($_GET["idhijo"]))."' order by nieto";
mysql_select_db($dbname);
$todos=mysql_query($consulta);

// Comienzo a imprimir el select
echo "<label>Nieto:</label><select name='idnieto' id='idnieto'>";
echo 
"<option value=''>Selecciona un Nieto...</option>";
while(
$registro=mysql_fetch_array($todos))
{
// Convierto los caracteres conflictivos a sus entidades HTML correspondientes para su correcta visualizacion
// Imprimo las opciones del select
echo "<option value='".$registro["idnieto"]."'";
if (
$registro["idnieto"]==$valoractual) echo " selected";
echo 
">".utf8_encode($registro["nieto"])."</option>";
}
echo 
"</select>";
}
?>
Este el enlace a la base de datos...

Código PHP:
<?php
$dbhost
="localhost";
$dbname="combobox";
$dbuser="root";
$dbpass="";
$db mysql_connect($dbhost,$dbuser,$dbpass);
?>
Esta es la estructura de la base de datos...
Tabla Hijo
idhijo // idpadre// hijo
125001000231// 25001// INSTITUCIÓN EDUCATIVA DEPARTAMENTAL SALESIANO MIG...
125019000386// 25019// INSTITUCIÓN EDUCATIVA DEPARTAMENTAL GENERAL CARLOS...
125035000159// 25035// INST. EDUC. JULIO CESAR SANCHEZ SEDE 1

Tabla Padre
idpadre/// Provincia/// padre
25001/// ALTO MAGDALENA/// AGUA DE DIOS
25019/// GUALIVA/// ALBÁN
25035/// TEQUENDAMA/// ANAPOIMA

Tabla Nieto
idnieto/// nieto/// idhijo/// ubicacion
12500100023101/// INSTITUCIÓN EDUCATIVA /// 125001000231 ///URBANA
12500100023102// CONCENTRACION ESCOLAR/// 125001000231// URBANA
12501900038602// CONCENTRACION URBANA// 125019000386// URBANA
12501900038603// JARDIN INFANTIL DEPART// 125019000386// URBANA
12503500015903// JARDIN INFANTIL DEPARTAL// 125035000159// URBANA
12503500015904// ESCUELA RURAL LAS MERC// 125035000159// RURAL

Como pueden ver los datos que debo manejar son grandes por eso pense la locura del float...

Alguien me puede sacar de esta grandisima ignorancia... porfa..
Gracias