Foros del Web » Programando para Internet » PHP »

Error con datos grandes

Estas en el tema de Error con datos grandes en el foro de PHP en Foros del Web. Hola otra vez... como por variar "jodido" con un problemilla... "Normal No ".. Bueno muchachos como ya ustedes me han sacado de apuros en muchisisisimas ...
  #1 (permalink)  
Antiguo 04/02/2013, 23:51
 
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
  #2 (permalink)  
Antiguo 05/02/2013, 01:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Error con datos grandes

¿Me puedes explicar por qué el ID del hijo contiene encadenado el del padre, que de todos modos ya está en otro campo, e igual con el nietos?
Eso es absurdo.
Por otro lado, un FLOAT es un numero por aproximación, por lo que no sirve para ese uso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 05/02/2013, 10:36
 
Fecha de Ingreso: enero-2011
Mensajes: 41
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Error con datos grandes

Gracias por la respuesta... tal vez.. para ti te parezca absurdo... lo mismo decía yo... cuando veía a alguna persona intentar coger algo de conocimiento en algún área, me parecían absurdas sus decisiones... con respecto al conocimiento previo que YO ya había adquirido, pero a la postre me di cuenta que tal vez el absurdo era yo ya que yo estaba juzgando desde mi perspectiva y no le compartía a la otra persona como podría ser la idea para que fuese por ella, "Todo esto con el mayor de los respetos no....." pero bueno paso a informarte, creo que si tengo un código en padre y en hijo tengo dos códigos hijo y padre pues... podría relacionarlos por el código que aparece en los dos... así mismo en nieto como ya se que nieto es hijo de hijo y este es de padre pues vamos.. nieto es nieto de padre...
No se si mi lógica es la correcta.. pero eso es lo que creo haber interpretado...
Muchas gracias..

Etiquetas: grandes, html, mysql, registro, resultados, select, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:14.