Foros del Web » Programando para Internet » PHP »

true & false

Estas en el tema de true & false en el foro de PHP en Foros del Web. Hola. bueno, tengo duda con una función en php. la variable $foto viene de un formulario donde el usuario escoge si quiere poner fotos o ...
  #1 (permalink)  
Antiguo 17/12/2009, 12:57
 
Fecha de Ingreso: noviembre-2009
Mensajes: 64
Antigüedad: 14 años, 5 meses
Puntos: 1
true & false

Hola.

bueno, tengo duda con una función en php.

la variable $foto viene de un formulario donde el usuario escoge si quiere poner fotos o no, y solo acepta valores true/false. 1 o 0. hasta ahi bien, porque el valor se imprime en la base de datos.

pero tengo duda como recuperar ese valor mediante una función.

<?php echo $foto ?>


Código PHP:

function get_foto($before='',$after='') {
    global 
$id$postdata;
    
$foto get_foto();
    echo 
$postdata["Foto"];
    

o así

Código PHP:

function foto() {
    global 
$id $postdata;
    echo 
$postdata["Foto"];


alguien pudiera orientarme. solo necesito la parte básica. que aun no la entiendo bien.

gracias
  #2 (permalink)  
Antiguo 17/12/2009, 13:01
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 18 años, 2 meses
Puntos: 3
Respuesta: true & false

Si ya tienes guardado el valor 1 ó 0 en la base de datos, desde la propia función puedes establecer una conexión a la BBDD y generar una consulta donde obtener el registro deseado.

A la función pásale como parámetros de entrada el campo clave por el que tendrá que buscar en el registro y obtener de esa forma el valor que te interesa.

Despues simplemente retornas el valor obtenido con: return $valor;

Para llamar a la funcion:

$mivalor = get_foto($campo_clave);

y en $mivalor tendrás el 1 o el 0 que deseas.

Recuerda:

Dentro de la función debes crear la conexión con "select * from tabla where campo_clave='$variable_clave'";

$variable_clave sería el valor pasado como parámetro de entrada a la función.

Saludos.
  #3 (permalink)  
Antiguo 17/12/2009, 13:15
 
Fecha de Ingreso: noviembre-2009
Mensajes: 64
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: true & false

algo así?

Código PHP:


function get_foto() {
    global 
$id,$postdata,$tableposts;
    
$foto $postdata['Foto'];
    if {
        
$query="SELECT * FROM $tablepost  WHERE  post_foto = '$foto'";
        
$result=mysql_query($query);
        
$querycount++;
        
$myrow mysql_fetch_array($result);
        
$post_foto$myrow[0];
        
    } 
    return(
$foto);

  #4 (permalink)  
Antiguo 19/12/2009, 04:44
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 18 años, 2 meses
Puntos: 3
Respuesta: true & false

Hola.

No lo he probado aunque según veo, utilizas variables globales, entonces:

$tableposts = obtienes el nombre de tu tabla (previamente deberás darle un nombre fuera de la función.

$foto = entiendo que esta variable obtiene el campo 1 ó 0 que necesitamos para saber si se devuelve true o false.

Ahora vamos con la SQL:

PHP]$query="SELECT * FROM $tablepost WHERE post_foto = '$foto'"; [/PHP]

Según entiendo: selecciona todos los registros de $tablepost donde post_foto sea igual a $foto.

Es decir, va a seleccionar todos los registros de la tabla que cumplan la condicion $foto.

En esa tabla supongo que tendrás muchos usuarios y cada uno de ellos con $foto=0 ó 1.

Necesitamos una SQL que diga: selecciona el ID y $foto del usuario que cumpla la condicion:

Entonces verías más correcta esta SQL:

Código PHP:
$query "SELECT id, post_foto FROM $tablepost WHERE id='AQUI_PONES_TU_VARIABLE_CLAVE_DEL_ID_DEL_USUARIO'"
Con la sentencia anterior, obtienes el campo ID y el valor de POST_FOTO (0 ó 1) de un usuario en concreto. Esta query te devuelve un registro.

Para obtener el valor, simplemente:

Código PHP:
$rs mysql_query($query) or die('Error en la consulta');
$row mysql_fetch_assoc($rs);

return 
$row['post_foto']; //esta linea te devuelve 1 ó 0 al script principal. 
Por último, en el script principal, solo debes comprobar el valor retornado por la función y continuar el procedimiento que lleves en ese momento.

Si te surge algún problema más, ya nos dices porque todo esto te lo he dicho de memoria y puede ser que me haya dejado alguna coma o punto olvidado.

Saludos.
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 06:09.