Tema: Combos y PHP
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/03/2011, 12:44
Robinlogly
 
Fecha de Ingreso: enero-2009
Mensajes: 5
Antigüedad: 15 años, 3 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