Foros del Web » Programando para Internet » PHP »

Combobox dinamico

Estas en el tema de Combobox dinamico en el foro de PHP en Foros del Web. Hola a todos. Feliz año!!!!. Mi problema es el siguiente: Estoy realizado un combobox dynamico con tres tablas diferentes, y cuando lo ejecuto me sale ...
  #1 (permalink)  
Antiguo 01/01/2012, 00:09
(Desactivado)
 
Fecha de Ingreso: enero-2004
Mensajes: 136
Antigüedad: 20 años, 3 meses
Puntos: 0
Combobox dinamico

Hola a todos. Feliz año!!!!.

Mi problema es el siguiente:

Estoy realizado un combobox dynamico con tres tablas diferentes, y cuando lo ejecuto me sale Undifinied index. Me estoy volviendo loco, porque lo he realizado siguiendo todos los pasos de un tutorial, pero algo debo estar haciendo mal.

Lo he realizado con Dreamweaver.
El error surge en las lineas 75, 87, 91, 103, 107
Aqui os dejo el codigo:

Código PHP:
<?php require_once('Connections/aluxbd.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

mysql_select_db($database_aluxbd$aluxbd);
$query_Recordset1 "SELECT * FROM autonomia";
$Recordset1 mysql_query($query_Recordset1$aluxbd) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 mysql_num_rows($Recordset1);

$colname_Recordset2 "-1";
if (isset(
$_POST['ID_AUTONOMIA'])) {
  
$colname_Recordset2 $_POST['ID_AUTONOMIA'];
}
mysql_select_db($database_aluxbd$aluxbd);
$query_Recordset2 sprintf("SELECT ID_PROVINCIA, PROVINCIA FROM provincia WHERE ID_AUTONOMIA = %s"GetSQLValueString($colname_Recordset2"int"));
$Recordset2 mysql_query($query_Recordset2$aluxbd) or die(mysql_error());
$row_Recordset2 mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 mysql_num_rows($Recordset2);

$colname_Recordset3 "-1";
if (isset(
$_POST['ID_PROVINCIA'])) {
  
$colname_Recordset3 $_POST['ID_PROVINCIA'];
}
mysql_select_db($database_aluxbd$aluxbd);
$query_Recordset3 sprintf("SELECT ID_CIUDAD, CIUDAD FROM poblacion WHERE ID_PROVINCIA = %s"GetSQLValueString($colname_Recordset3"int"));
$Recordset3 mysql_query($query_Recordset3$aluxbd) or die(mysql_error());
$row_Recordset3 mysql_fetch_assoc($Recordset3);
$totalRows_Recordset3 mysql_num_rows($Recordset3);
?>
<!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>Untitled Document</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <label for="a1"></label>
  <select name="a1" id="a1" onChange="submit()">
    <option value="" >Todas</option>
    <?php
do {  
?>
    <option value="<?php echo $row_Recordset1['ID_AUTONOMIA']?>"<?php if (!(strcmp($row_Recordset1['ID_AUTONOMIA'], $_POST['ID_AUTONOMIA'])))?>><?php echo $row_Recordset1['AUTONOMIA']?></option>
    <?php
} while ($row_Recordset1 mysql_fetch_assoc($Recordset1));
  
$rows mysql_num_rows($Recordset1);
  if(
$rows 0) {
      
mysql_data_seek($Recordset10);
      
$row_Recordset1 mysql_fetch_assoc($Recordset1);
  }
?>
  </select>
  <label for="a2"></label>
  <select name="a2" id="a2">
    <option value="" <?php if (!(strcmp(""$_POST['ID_PROVINCIA']))) {echo "selected=\"selected\"";} ?>>Todas</option>
    <?php
do {  
?>
    <option value="<?php echo $row_Recordset2['ID_PROVINCIA']?>"<?php if (!(strcmp($row_Recordset2['ID_PROVINCIA'], $_POST['ID_PROVINCIA']))) {echo "selected=\"selected\"";} ?>><?php echo $row_Recordset2['PROVINCIA']?></option>
    <?php
} while ($row_Recordset2 mysql_fetch_assoc($Recordset2));
  
$rows mysql_num_rows($Recordset2);
  if(
$rows 0) {
      
mysql_data_seek($Recordset20);
      
$row_Recordset2 mysql_fetch_assoc($Recordset2);
  }
?>
  </select>
  <label for="a3"></label>
  <select name="a3" id="a3">
    <option value="" <?php if (!(strcmp(""$_POST['ID_CIUDAD']))) {echo "selected=\"selected\"";} ?>>Todas</option>
    <?php
do {  
?>
    <option value="<?php echo $row_Recordset3['ID_CIUDAD']?>"<?php if (!(strcmp($row_Recordset3['ID_CIUDAD'], $_POST['ID_CIUDAD']))) {echo "selected=\"selected\"";} ?>><?php echo $row_Recordset3['CIUDAD']?></option>
    <?php
} while ($row_Recordset3 mysql_fetch_assoc($Recordset3));
  
$rows mysql_num_rows($Recordset3);
  if(
$rows 0) {
      
mysql_data_seek($Recordset30);
      
$row_Recordset3 mysql_fetch_assoc($Recordset3);
  }
?>
  </select>
</form>
</body>
</html>
<?php
mysql_free_result
($Recordset1);

mysql_free_result($Recordset2);

mysql_free_result($Recordset3);
?>
  #2 (permalink)  
Antiguo 01/01/2012, 03:05
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: Combobox dinamico

no entendi eso de las tres tablas diferentes osea quieres meterle las tres tablas al combo son son tres combos distintos
  #3 (permalink)  
Antiguo 01/01/2012, 03:26
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: Combobox dinamico

bueno para la linea 75 te dare un ejemplo usalo a ver que tal te va

<?php $sqltabla = mysql_query("SELECT * FROM 'aqui pones la tabla sin comillas simples'"); ?>

<select name="a1" id="a1" onChange="submit()">
<option value="" >Todas</option>
<?php while ($resultado = mysql_fetch_array($sqltabla)){ ?>
<option value="<?php echo $resultado['ID_AUTONOMIA']?>"<?php if(isset ($_POST["a1"])){if(!(strcmp($resultado['ID_AUTONOMIA'], $_POST['ID_AUTONOMIA']))){echo"selected=\"selected\"";}}else{} ?>><?php echo $resultado['AUTONOMIA']?></option>
<?php } ?>
</select>
  #4 (permalink)  
Antiguo 01/01/2012, 03:29
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: Combobox dinamico

perdon corregi el codigo es asi

bueno para la linea 75 te dare un ejemplo usalo a ver que tal te va

<?php $sqltabla = mysql_query("SELECT * FROM 'aqui pones la tabla sin comillas simples'"); ?>

<select name="a1" id="a1" onChange="submit()">
<option value="">Todas</option>
<?php while ($resultado = mysql_fetch_array($sqltabla)){ ?>
<option value="<?php echo $resultado['ID_AUTONOMIA']?>"<?php if(isset ($_POST["a1"])){if(!(strcmp($_POST['ID_AUTONOMIA'], $resultado['ID_AUTONOMIA']))){echo"selected=\"selected\"";}}else{} ?>><?php echo $resultado['AUTONOMIA']?></option>
<?php } ?>
</select>
  #5 (permalink)  
Antiguo 01/01/2012, 03:30
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: Combobox dinamico

me gustaria saber si lo que quieres es que un combo box cambie dependiendo de la seleccion del anterior
  #6 (permalink)  
Antiguo 01/01/2012, 03:58
 
Fecha de Ingreso: julio-2010
Mensajes: 197
Antigüedad: 13 años, 9 meses
Puntos: 32
Respuesta: Combobox dinamico

monte el ejemplo con una tabla en mi phpmyadmin
bueno suponiendo que lo que quieres que se cargen datos dependiendo de lo que selecciones lo anteriormente

aqui te dejo el codigo lo cargue con datos que tenia en una bd este es solo el codigo de formulario adecualo
lo que necesites



<form id="form1" name="form1" method="post" action="prueba.php">
<label for="a1"></label>
<?php $sqltabla = mysql_query("SELECT * FROM ms_usuarios"); ?>
<select name="a1" id="a1" onChange="submit()">
<option value="">Todas</option>
<?php while ($resultado = mysql_fetch_array($sqltabla)){ ?>
<option value="<?php echo $resultado['Email']?>"<?php if(isset ($_POST["a1"])){if(!(strcmp($_POST['a1'], $resultado['Email']))){echo"selected=\"selected\"";}}else{} ?>><?php echo $resultado['Email']?></option>
<?php } ?>
</select>
<label for="a2"></label>
<?php $email = $_POST["a1"]; $sqltabla2 = mysql_query("SELECT * FROM ms_usuarios WHERE Email ='$email'"); ?>
<select name="a2" id="a2" onChange="submit()">
<option value="">Todas</option>
<?php while ($resultado2 = mysql_fetch_array($sqltabla2)){ ?>
<option value="<?php echo $resultado2['nick']?>"<?php if(isset ($_POST["a2"])){if(!(strcmp($_POST['a2'], $resultado2['nick']))){echo"selected=\"selected\"";}}else{} ?>><?php echo $resultado2['nick']?></option>
<?php } ?>
</select>
<label for="a3"></label>
<?php $nick = $_POST["a2"]; $sqltabla3 = mysql_query("SELECT * FROM sms WHERE Recibe ='$nick'"); ?>
<select name="a3" id="a3" onChange="submit()">
<option value="">Todas</option>
<?php while ($resultado3 = mysql_fetch_array($sqltabla3)){ ?>
<option value="<?php echo $resultado3['Envia']?>"<?php if(isset ($_POST["a3"])){if(!(strcmp($_POST['a3'], $resultado3['Envia']))){echo"selected=\"selected\"";}}else{} ?>><?php echo $resultado3['Envia']?></option>
<?php } ?>
</select>
</form>



y para de final me mostrara el resultado del ultimo combo



<?php
$envia = $_POST["a3"]; $sqlsms = mysql_query("SELECT * FROM sms WHERE Envia = '$envia'");
$r_envia = mysql_fetch_array($sqlsms);
if(isset($_POST["a3"])){echo $r_envia['Mensaje'];}else{}?>



ese codigo puede estar mejor arreglado si en el encabezado lo pones no tiene pk estar metido en el combo box pero es igual la idea es que consigas resolver el problema
  #7 (permalink)  
Antiguo 01/01/2012, 14:39
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 8 meses
Puntos: 50
Respuesta: Combobox dinamico

Hola y Feliz año...
1.- En tu Script veo el uso de Post..esto funciona cuando hay post..es decir cuando se pulsa un botón tipo submit que no existe.
2.-Hay una llamada vía javascript a la función submit() que no existe
3.-Si lo que quieres lograr es algo como:
Al seleccionar un páis de una lista, que figuren las ciudades de ese país sin recargar la página debes usar ajax, con php puedes lograrlo recargando la página y elaborando un formulario para cada consulta, pero eso es como volver a la edad de la piedra..jeje
Te dejo un enlace a una solución con Jquery,ajax y php...es simple y bien explicado..
http://pixelar.me/selects-dependientes-con-jquery/
saludos
__________________
He aprendido mucho y sigo aprendiendo cada día aquí...así que ayudo cuando puedo para disminuir mi deuda XD..
mi hobby

Etiquetas: combobox, dinamico, html, mysql, 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 11:24.