Foros del Web » Programando para Internet » PHP »

En una página de modificaciones cargar datos en Combobox

Estas en el tema de En una página de modificaciones cargar datos en Combobox en el foro de PHP en Foros del Web. Hola, es un tema que ya lo he preguntado anteriormente pero sigo con ello a vueltas. Les comento, en una ficha de clientes en la ...
  #1 (permalink)  
Antiguo 26/08/2009, 01:44
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
En una página de modificaciones cargar datos en Combobox

Hola, es un tema que ya lo he preguntado anteriormente pero sigo con ello a vueltas.

Les comento, en una ficha de clientes en la que entro a modificar datos tengo dos combobox y lo que quiero es que cuando entre en la página me muestren que dato es el que había puesto anteriormente.

Uno de los combo tiene dos opciones "Nuevo" "Ocasión" el problema es que cuando cargo la página con los datos de la base de datos siempre me aparece "Nuevo" aunque en la base de datos el dato que tenga es "Ocasión"

Se que tengo que comparar los datos que tengo en la tabla con los del combo y que pero la verdad que no tengo ni idea de como hacerlo.

El campo de la tabla se llama "Transac" ese es el campo que guarda lo seleccioado en la página de altas.


Este es el código de mi combobox

Código PHP:
          <select name="transac" id="transac" style="width:235px;" tabindex="23" onkeypress="return handleEnter(this, event)">
            <
option value="Nuevo">Nuevo</option>
            <
option value="Ocasi&oacute;n">Ocasi&oacute;n</option>
          </
select

Alguien me podría decir como hacer para que aparezca por defecto el dato que tengo en la tabla?

Muchas gracias una vez más.
  #2 (permalink)  
Antiguo 26/08/2009, 03:09
 
Fecha de Ingreso: septiembre-2003
Ubicación: Madrid
Mensajes: 53
Antigüedad: 20 años, 7 meses
Puntos: 1
Respuesta: En una página de modificaciones cargar datos en Combobox

Buenos días, realmente no se como pintas el html y el php, porque el código que has puesto es sólo el html, pero intentaré darte una idea de como se haría.

Aunque hay muchas maneras de hacerlo, como en tu caso sólo tienes dos valores lo más sencillo sería lo siguiente.

Código PHP:
<select name="transac" id="transac" style="width:235px;" tabindex="23" onkeypress="return handleEnter(this, event)">
            <option value="Nuevo" <?if ($resultadoConsulta['Transac'] == 'Nuevo'){echo "selected";}?>>Nuevo</option>
            <option value="Ocasi&oacute;n" <?if ($resultadoConsulta['Transac'] != 'Nuevo'){echo "selected";}?>>Ocasi&oacute;n</option>
          </select>
Dos comentarios.
- Lo primero es que no soy partidario de mezclar el código php y el html así, pero es la manera más facil de explicarte como hacerlo.
- Lo segundo, en el campo Ocasión uso != de Nuevo, porque probablemente como se este almacenando en la base de datos pueda ser distinto a como lo estás pintando, deberías comprobar el valor concreto que te devuelve la consulta.

Saludos.
  #3 (permalink)  
Antiguo 26/08/2009, 05:27
 
Fecha de Ingreso: junio-2008
Mensajes: 287
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: En una página de modificaciones cargar datos en Combobox

Hola Bomaye gracias por la respuesta.

He puesto el código que me has dado y en principio pensaba que funcionaba pero ahora siempre que entro en cualquier ficha de cliente por defecto me pone 'Ocasión'

Si le cambio la opción por 'Nuevo' y guardo los cambios en la base de datos se cambia por nuevo pero cuando entro en la ficha nuevamente sigue apareciendo 'Ocasión'

he visto que <?if estaban juntos lo he separado pero sigue haciendo lo mismo

Cual es la otra forma que me comentabas que hay?

El otro combo que tengo tiene 4 option value y a parte en otra página tengo el mismo problema pero son datos que se cargan directamente de la base de datos.

Igual me viene mejor aprender la otra forma que me comentas para poder aplicarlo a todos los combobox que tengo que modificar.

Muchas gracias
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 22:18.