Foros del Web » Programando para Internet » PHP »

Combos y PHP

Estas en el tema de Combos y PHP en el foro de PHP en Foros del Web. Hola gente, antes de nada un saludo a tod@s y gracias de antemano por vuestro tiempo y ayuda. Mi cuestión es la siguiente: Tengo un ...
  #1 (permalink)  
Antiguo 22/03/2011, 12:44
 
Fecha de Ingreso: enero-2009
Mensajes: 5
Antigüedad: 15 años, 10 meses
Puntos: 0
Combos y PHP

Hola gente,

antes de nada un saludo a tod@s y gracias de antemano por vuestro tiempo y ayuda. Mi cuestión es la siguiente:

Tengo un formulario con varios combos que lo uso para editar una información que ya tengo entrada en una base de datos.

Estoy intentando añadir un combo nuevo a partir de un nuevo campo, y este no se comporta de igual manera que los otros, y la verdad no entiendo porqué. Lo que yo deseo es que al entrar en este formulario de edición, se muestren los datos que ya están entrados, y que al desplegar el combo se me abran todas las opciones posibles.

Esto lo consigo con los otros combos, pero no tengo claro porque en este nuevo no.

El codigo que utilizo en esta página de edición es el siguiente: Os pondré en rojo el combo y los datos que no funcionan.

PRIMERO RECUPERO LOS DATOS DE LA BASE DE DATOS:

session_start();
$id=$_GET["idindiv"];
include ("../includes/config.php");
include ("../includes/funciones.php");
include ("../includes/fecha.php");
$cnx = conectar();
$sql="SELECT * FROM public_individ WHERE idindiv=$id";
$i=0;
$res = mysql_query($sql, $cnx);
if(mysql_affected_rows()>0){
while($row= mysql_fetch_array($res)){
$aliasin=strtoupper($row["aliasin"]);
$datnaix=fecha_normal($row["datnaix"]);
$sexe=$row["sexe"];
$nacio=$row["nacio"];
$adscul=$row["adscul"];
$disres=$row["disres"];
$canent=$row["canent"];
$n_fills=$row["n_fills"];
$equip=$row["equip"];
$motiu=$row["motiu"];
$noment=$row["noment"];
}
mysql_free_result($res);
}

SEGUNDO. CONSTRUYO EL FORMULARIO CON LOS DATOS. No os pongo todo el formulario, solo 2 combos... uno que funciona y el tro que no (en rojo):

<tr>
<td bgcolor="#CFCFFF">Dist.Residencia:</td>
<td colspan="2" bgcolor="#CFCFFF"><select style="width:300px;" name="disres" id="disres">
<?
$sql="SELECT disres FROM public_d_disres ORDER BY iddisres";
$i=0;
$res = mysql_query($sql, $cnx);
if(mysql_affected_rows()>0){
while($row= mysql_fetch_array($res)){
$i++;
?>
<option value="<?=$row[disres]?>">
<?=$row[disres]?>
</option>
<?
}
mysql_free_result($res);
}
?>
</select></td>
</tr>
<tr>
<td bgcolor="#CFCFFF">Centre Serveis Socials:</td>
<td colspan="2" bgcolor="#CFCFFF"><select style="width:300px;" name="noment" id="noment">
<?
$sql="SELECT public_co_ent.noment FROM public_co_ent WHERE public_co_ent.noment LIKE 'CSS%'";
$i=0;
$res = mysql_query($sql, $cnx);
if(mysql_affected_rows()>0){
while($row= mysql_fetch_array($res)){
$i++;
?>

<option value="<?=$row[noment]?>">
<?=$row[noment]?>
</option>

<?
}
mysql_free_result($res);
}
?>
</select></td>
</tr>

FINALMENTE. UNOS javascript que no tengo muy claro para que los utilizamos:

<script language="javascript">
document.getElementById("sexe").value="<?=$sexe?>" ;
document.getElementById("nacio").value="<?=$nacio? >";
document.getElementById("adscul").value="<?=$adscu l?>";
document.getElementById("disres").value="<?=$disre s?>";
document.getElementById("canent").value="<?=$canen t?>";
document.getElementById("equip").value="<?=$equip? >";
document.getElementById("motiu").value="<?=$motiu? >";
document.getElementById("noment").value="<?=$nomen t?>";
</script>


Comentaros para información adicional que la variable $noment me recupera los datos perfectamente, y que el combobox tambien me lista los datos perfectamente. Incluso si selecciono uno de los valores y le doy a aceptar, se me guarda en la base perfectamente. El problema que tengo, para que quede claro, es que no consigo que me muestre el valor registrado en la base al abrir la página. solo en este combo (en rojo) y no en los otros.

Bueno mil gracias por vuestro tiempo y ayuda.

Un saludo.

R
  #2 (permalink)  
Antiguo 22/03/2011, 12:59
 
Fecha de Ingreso: marzo-2011
Ubicación: Veracruz
Mensajes: 92
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Combos y PHP

Prueba sustituyendo <?= por <?php echo
  #3 (permalink)  
Antiguo 22/03/2011, 13:03
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 19 años, 5 meses
Puntos: 88
Respuesta: Combos y PHP

asegurate que esta consulta
Código PHP:
Ver original
  1. $sql="SELECT public_co_ent.noment FROM public_co_ent WHERE public_co_ent.noment LIKE 'CSS%'";
te devuelva el valor correspondiente
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #4 (permalink)  
Antiguo 23/03/2011, 02:43
 
Fecha de Ingreso: enero-2009
Mensajes: 5
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Combos y PHP

Hola y mil gracias a los dos por vuestras respuestas.

gmurop, Me recomiendas que sustituya en todo el código? No funciona de esta manera?

eits. La consulta devuelve los valores perfectamente. De echo, el combo se carga con estos valores, el problema és que muestra siempre por defecto el primer valor, y no el valor que en realidad tiene el campo para ese registro.

racias otra vez.

Un saludo.

R
  #5 (permalink)  
Antiguo 24/03/2011, 11:10
 
Fecha de Ingreso: marzo-2011
Ubicación: Veracruz
Mensajes: 92
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Combos y PHP

Pues puedes probar, pero acabo de darme cuenta de algo, solo pones <? cuando ahora debes poner <?php

Ejemplo

Código PHP:
Ver original
  1. <? // Debe ser <?php
  2. $sql="SELECT disres FROM public_d_disres ORDER BY iddisres";
  3. $i=0;

Saludos

Etiquetas: combos
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 18:45.