Ver Mensaje Individual
  #11 (permalink)  
Antiguo 16/03/2006, 10:52
Avatar de franquero
franquero
 
Fecha de Ingreso: julio-2005
Mensajes: 179
Antigüedad: 18 años, 9 meses
Puntos: 1
De acuerdo print $solucionado . $nueva_duda;

$solucionado = "
Hola de nuevo.

Ya he resuelto el problema. La verdad es que era un lapsus de los gordos: al escribir la consulta: $sql = "SELECT * FROM " . $nombre . " WHERE..."; no dejaba espacio entre FROM y " ni entre " y WHERE, y por eso no me funcionaba. Al final queda así:
Código PHP:
<?php
function getvalor($nombre) {
    
$recibimos $_POST[$nombre];
        include(
"conexion.php");
        
$conec mysql_connect($servidor$usuario$clave);
        
mysql_select_db($db$conec);
        
$consulta "SELECT valor FROM " $nombre " WHERE ID = '$recibimos' LIMIT 1";
        
$query mysql_query($consulta$conec);
            if (
$row=mysql_fetch_array($query)) {
                
$valor_ok $row['valor'];
            }
        
mysql_free_result($query);
        
mysql_close($conec);
        return (
$valor_ok);
}
?>
";

$nueva_duda = "
Es muy interesante lo que me planteas, Cluster. Eso de que la función devuelva un array con todos los resultados y no tener que hacer tantas consultas.
Mi problema para hacer eso es que extraigo los datos de diferentes tablas. Me explico. Yo tengo cuatro selects, y luego tengo cuatro tablas con el campo 'ID' y el campo 'valor'. Me estoy dando cuenta de que quizás sea una estructura errónea, y sería más conveniente crear una única tabla con los campos 'ID', 'valor' y 'select'. Así sólo tendría que hacer una consulta. Este proceso me iría de lujo con la función getvalores() con la que obtengo el valor de cada ID, pero a la hora de imprimir los selects en el formulario tendría que seguir utilizando varias consultas, ¿no? Para que en cada select me imprima los que en el campo select tienen 'x' "SELECT * FROM selects WHERE select='$select'" Hay alguna forma de conseguir este resultado con una única consulta?.

Ésta es la función con la que imprimo cada select:
Código PHP:
<?php
function imprimir_select($nombre) {
    include(
"conexion.php");
    
$conec mysql_connect($servidor$usuario$clave);
    
mysql_select_db($db$conec);
        
$datos mysql_query("SELECT * FROM " $nombre " ORDER BY valor ASC"$conec);
            print 
"<select name=\"$nombre\" class=\"formulario\">";
            while (
$row=mysql_fetch_array($datos)) {
                if (
$_POST[$nombre] == $row['ID']) {
                    
$selected "selected=\"selected\"";
                } else {
                    
$selected '';
                }
                print 
"<option value=\"$row[ID]\" $selected>" $row['valor'] . "</option>";
            }
            print 
'</select>';
        
mysql_free_result($datos);
        
mysql_close($conec);
    }
?>
¿En qué web puedo informarme sobre las funciones MYSQL? ¿Existe alguna al estilo de php.net? He buscado pero no he encontrado gran cosa.
";

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