Ver Mensaje Individual
  #8 (permalink)  
Antiguo 14/03/2006, 13:02
Avatar de franquero
franquero
 
Fecha de Ingreso: julio-2005
Mensajes: 179
Antigüedad: 18 años, 9 meses
Puntos: 1
Aclaración del problema

Buenas. Creo que no me he explicado bien. Así que voy a intentar ser lo más claro que pueda.

- Tengo un formulario con varios selects.
- Los valores de los selects son extraídos de tablas Mysql
- En cada tabla hay dos columnas ID y valor. Por ejemplo ID:1 valor:presencial o ID:2 valor:a distancia
- Por cuestiones de validación del formulario, los valores de los options son el campo ID de la tabla.
-Bien, pues la siguiente función la utilizo para que al insertar un nuevo registro en la base de datos inserte el valor y no el ID:

Código PHP:
function getmodaildad() {
    
$recibimos $_POST['modalidad'];
        include(
"conexion.php");
        
$conec mysql_connect($servidor$usuario$clave);
        
mysql_select_db($db$conec);
        
$query mysql_query("SELECT valor FROM modalidad WHERE ID = '$recibimos' LIMIT 1"$conec);
            if (
$row=mysql_fetch_array($query)) {
                
$valor_ok $row['valor'];
            }
        return (
$valor_ok);

Bien, esta función funciona perfectamente. Lo que pasa es que la tengo que repetir para cada uno de los selects cambiando el nombre de la función, el $_POST[''] y la tabla de la consulta.

Y mi intención es hacer algo así:
Código PHP:
function getvalor($select) {
    
$recibimos $_POST[$select];
        include(
"conexion.php");
        
$conec mysql_connect($servidor$usuario$clave);
        
mysql_select_db($db$conec);
        
$consulta "SELECT valor FROM" $select "WHERE ID = '$recibimos' LIMIT 1";
        
$query mysql_query($consulta$conec);
            if (
$row=mysql_fetch_array($query)) {
                
$valor_ok $row['valor'];
            }
    return (
$valor_ok);

Pero utilizándola de la siguiente manera: $modalidad = getvalor(modalidad);
me da el error:
Código:
Notice: Use of undefined constant tematica - assumed 'tematica' in  (ruta)
Y usándola así:
$valor = 'modalidad';
$modalidad = getvalor($valor);

No me da el error anterior pero no funciona bien y y al no hacer bien la consulta me falla el mysq_fetch_array().

Creo que está suficientemente explicado. Mi script funciona bien escribiendo la función tantas veces como selects tengo. Pero tengo curiosidad y ganas de seguir aprendiendo, por eso os he planteado esta duda, que seguramente será debida a algún error de concepto.

Muchas gracias a todos por la atención y ayuda que siempre recibo en este foro, del cual me siento miembro. Estoy aprendiendo mucho, y de vez en cuando he respondido a alguna duda, jeje.

Saludos !!
__________________
Es una suerte que la sociedad libre sea más productiva, porque de no haberlo sido jamás se habría tolerado.