Foros del Web » Programando para Internet » PHP »

Problema al utilizar una funcion.

Estas en el tema de Problema al utilizar una funcion. en el foro de PHP en Foros del Web. $albummm=albumm($id); if ( $albummm == "" ) {echo $albummm."-";} else { echo "-"; } Estoy intentando poner en una variable es resultado de una funcion ...
  #1 (permalink)  
Antiguo 17/09/2006, 07:01
 
Fecha de Ingreso: junio-2003
Mensajes: 104
Antigüedad: 20 años, 10 meses
Puntos: 1
Problema al utilizar una funcion.

$albummm=albumm($id);
if ( $albummm == "" ) {echo $albummm."-";} else { echo "-"; }


Estoy intentando poner en una variable es resultado de una funcion para luego comprobar si esta vacia o no.. y segun lo que salga me ejecute una cosa u otra pero siempre me sale q esta vacia y no lo esta.

No veo el problema ni la solucion.
Ayuda :/
__________________
Ado_k2 :adios:
  #2 (permalink)  
Antiguo 17/09/2006, 07:11
 
Fecha de Ingreso: agosto-2006
Mensajes: 121
Antigüedad: 17 años, 9 meses
Puntos: 0
deberías enviar el código de la función albumm() para ver dónde está el error, porque parece que viene de allí.

Por ciert, no sé si lo del if() es sólo una prueba, pero siempre te dará como resultado la misma salida, es decir, un guión. Aunque mejor envía la función para ver qué devuelve en realidad.
  #3 (permalink)  
Antiguo 17/09/2006, 07:26
 
Fecha de Ingreso: junio-2003
Mensajes: 104
Antigüedad: 20 años, 10 meses
Puntos: 1
Cita:
Iniciado por GikaJavi Ver Mensaje
deberías enviar el código de la función albumm() para ver dónde está el error, porque parece que viene de allí.

Por ciert, no sé si lo del if() es sólo una prueba, pero siempre te dará como resultado la misma salida, es decir, un guión. Aunque mejor envía la función para ver qué devuelve en realidad.
function albumm($post_ID) {

global $wpdb, $tableposts;

$sql = "SELECT album ";
$sql .= "FROM ".$tableposts." ";
$sql .= "WHERE ID = ".$post_ID;

$posts = $wpdb->get_results($sql);

foreach ($posts as $post) {
echo $post->album;
}
}


Lo del if lo he puesto aqui asi para no copiar todo el codigo y si te fijas delante del guion... tienes la variable .. en el caso de que este vacia no tendira que ponerme nada mas que el guion pues me pone la variable.

Por la variable me sale lo que quiero yo.. pero al llegar al if no me lo hace bien y no se la razon.
__________________
Ado_k2 :adios:

Última edición por Ado_k2; 17/09/2006 a las 07:27 Razón: Añadi la ultima linea :)
  #4 (permalink)  
Antiguo 17/09/2006, 07:55
 
Fecha de Ingreso: agosto-2006
Mensajes: 121
Antigüedad: 17 años, 9 meses
Puntos: 0
No veo que en la función tengas un return en ningún lado, por lo que no devuelve valor alguno. Lo que sí tiene es un echo al final, deduzco que del valor que quieres que devuelva. Entonces esa salida te está confundiendo y crees que es la del if(), pero en realidad no es más que la de la función. Supongo que deberías cambiar tu función así:

function albumm($post_ID) {

global $wpdb, $tableposts;

$sql = "SELECT album ";
$sql .= "FROM ".$tableposts." ";
$sql .= "WHERE ID = ".$post_ID;

$posts = $wpdb->get_results($sql);

foreach ($posts as $post) {
return $post->album;
}
}
  #5 (permalink)  
Antiguo 17/09/2006, 08:37
 
Fecha de Ingreso: junio-2003
Mensajes: 104
Antigüedad: 20 años, 10 meses
Puntos: 1
Cita:
Iniciado por GikaJavi Ver Mensaje
No veo que en la función tengas un return en ningún lado, por lo que no devuelve valor alguno. Lo que sí tiene es un echo al final, deduzco que del valor que quieres que devuelva. Entonces esa salida te está confundiendo y crees que es la del if(), pero en realidad no es más que la de la función. Supongo que deberías cambiar tu función así:

function albumm($post_ID) {

global $wpdb, $tableposts;

$sql = "SELECT album ";
$sql .= "FROM ".$tableposts." ";
$sql .= "WHERE ID = ".$post_ID;

$posts = $wpdb->get_results($sql);

foreach ($posts as $post) {
return $post->album;
}
}


gracias era eso :)
__________________
Ado_k2 :adios:
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 16:37.