Foros del Web » Programando para Internet » PHP »

Select con metodo dentro se puede?

Estas en el tema de Select con metodo dentro se puede? en el foro de PHP en Foros del Web. a ver tengo una gran duda porque yo arme los siguiente a ver si se puede de alguna forma. yo tengo en una clase un ...
  #1 (permalink)  
Antiguo 23/08/2012, 08:19
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
Select con metodo dentro se puede?

a ver tengo una gran duda porque yo arme los siguiente a ver si se puede de alguna forma.
yo tengo en una clase un metodo que con un select de otra tabla da un resultado a partir de la id_sugerencia que seria ahi el getDatesubmittedbyIdsugerencia , ahora el tema es que yo necesito hacer el select y ordenar por el resultado de ese metodo, pero necesito ahi meterle en el select el id_sugerencia del mismo select , como se puede hacer ahi eso. espero que se haya entendido bien.
Saludos y gracias,. espero ayudass.

Código PHP:
$sql "SELECT id_sugerencia,titulo,".$estado->getDateSubmittedbyIdSugerencia('id_sugerencia')." as date from " self::TABLE_DEFAULT 
  #2 (permalink)  
Antiguo 23/08/2012, 08:34
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Select con metodo dentro se puede?

Siempre que esos métodos retornen un String valido dentro de la secuencia SQL no veo porque no debería de funcionar.

saludos.
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 23/08/2012, 08:40
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
Respuesta: Select con metodo dentro se puede?

si retorna un string en este caso un time() , ahora como pongo las comillas para que tome el id_sugerencia de la select el metodo porque asi como esta no anda.

gracias
  #4 (permalink)  
Antiguo 23/08/2012, 08:52
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Select con metodo dentro se puede?

no entiendo mucho lo que quieres decir, podrías hacer un print($sql) y pegarlo aquí para ver que es lo que está retornando exactamente tu consulta ?


saludos.
__________________
More about me...
~ @rhyudek1
~ Github
  #5 (permalink)  
Antiguo 23/08/2012, 09:00
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
Respuesta: Select con metodo dentro se puede?

a ver . si le pongo a mano el id_sugerencia al metodo por ej 8 queda asi

Código PHP:
$sql "SELECT id_sugerencia ,titulo,".$estado->getDateSubmittedbyIdSugerencia(8)." from " self::TABLE_DEFAULT 
eso esta devolviendo

SELECT id_sugerencia ,titulo,1344655198 from sugerencias WHERE id_sugerencia IN (6,7,8,12,13,15,18,19,22) ORDER by id_sugerencia DESC LIMIT 10

osea el 1344655198 es lo que da como resultado del metodo, ahora yo lo que necesito que en ves de poner el 8 a mano, ponga el Id_sugerencia del select el que remarque con negrita. como pongo ese id_sugerencia dentro de la funcion para que ande. $estado->getDateSubmittedbyIdSugerencia("aca va el idsugerencia" ).
porque no encuentro la forma de que ande. hablo de sintaxis mas que nada.

gracias
  #6 (permalink)  
Antiguo 23/08/2012, 09:07
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Select con metodo dentro se puede?

creo que estás dándote vueltas en algo que se hace al momento de recorrer los resultados de la consulta.


Código PHP:
while (/** $r = fetch_assoc **/) {
    echo 
$estado->getDateSubmittedbyIdSugerencia($r->id_sugerencia);

si no es eso lo que tienes pensado hacer, es muy probable que el enfoque que le estás dando esté mal planteado. intenta buscar una solución alternativa aunque esto signifique dar más pasos de los que tenías pensado dar.

saludos.
__________________
More about me...
~ @rhyudek1
~ Github
  #7 (permalink)  
Antiguo 23/08/2012, 09:11
 
Fecha de Ingreso: abril-2009
Mensajes: 409
Antigüedad: 15 años
Puntos: 3
Respuesta: Select con metodo dentro se puede?

es que yo necesito ordenar por lo que da el metodo ahi esta el tema por eso tiene que ir dentro del select. si lo hago fuera ya no me sirve porque no puedo ordenar.

a ver si me explico mejor asi

SELECT id_sugerencia as id,titulo,(SELECT date_submitted FROM cambios_estado WHERE id_sugerencia = id ORDER by id_cambio_estado DESC LIMIT 1) as date from sugerencias WHERE id_sugerencia IN (6,7,8,12,13,15,18,19,22) ORDER by date DESC LIMIT 10

ese es el select con select dentro ( el SELECT que esta dentro del parentesis es el que hace el metodo , ahi estoy poniendo id_sugerencia = id donde id es el id_sugerencia del select primero, yo necesito poner ese id_sugerencia pero en el metodo , tiene que haber una forma de hacerlo....

muchas gracias..
  #8 (permalink)  
Antiguo 23/08/2012, 09:17
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Select con metodo dentro se puede?

pues para ordenar podrias utilizar Arrays con sus funciones respectivas como ksort()
te agrego una idea adjunta a lo que ya había escrito

Código PHP:
while (/** $r = fetch_assoc **/) {
    
$res[$estado->getDateSubmittedbyIdSugerencia($r->id_sugerencia)] = $r;
}
ksort($res);
foreach (
$res as $valor) {
    
/** etc etc etc **/

es solo una idea, no lo he probado pero creo que es suficiente para entender lo que intento decir.

saludos
__________________
More about me...
~ @rhyudek1
~ Github

Etiquetas: metodo, select, sql, tabla
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 23:23.