Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-02-2012
Avatar de Adrian Murua
Adrian Murua Adrian Murua is offline
Miembro
 
Registrado: oct 2003
Ubicación: Tucuman - Argentina
Posts: 45
Poder: 0
Adrian Murua Va por buen camino
Question Como hacer una consulta cuanto tengo varias opciones para el WHERE ?

Hola Amigos :

Tengo la siguiente situacion : 2 tablas prestamos y cuotas.

Prestamos
----------

id int pk,
monto decimal,
cant_cuotas int,
afiliados_id int fk,
....

Cuotas
-------
id int pk,
numero int,
vence date,
importe decimal,
pagada int,
prestamos_id int fk.
...

relacionada la tabla cuota con prestamos, mediante el campo prestamos_id.

Estas tablas forman parte de un sistema de prestamos donde un afiliado puede tener hasta tres prestamos paralelos, es decir, puede presentarse la situacion de tener cuotas adeudadas en los tres prestamos.
Considerando esto , despues de una consulta a la tabla prestamos tengo en un array los id de los tres prestamos del afiliado y necesito presentar por pantalla la informacion de la/las cuotas de los prestamos adeudadas por el afiliado.

Mi duda es como hacer la consulta de las cuotas de cada prestamo, uso como lenguaje anfitrion el PHP, y lo que se me ocurre hacer es un bucle y dentro de este la consulta :

Código:
  
foreach( $arrayprestamos as $item ) {
  
     $resultado = mysql_query("Select * from cuotas where prestamos_id = $item->id ");
  }
Pero no se como seguir o si esto se hacer mejor de otra manera.

Gracias por su tiempo.

Saludos.
__________________
Adrián Murúa.
Responder Con Cita
  #2  
Antiguo 28-02-2012
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
No conozco mucho PHP, pero el concepto es la concatenación.
Concatena el select con varias sentencias "(or prestamo_id = XXX)".
Código PHP:
// debo asegurarme de que por lo menos tengo un item
// el foreach debe empezar en el segundo elemento

$sql "Select * from cuotas where (prestamos_id = $item->id) ";
foreach( 
$arrayprestamos as $item ) {  
     
$sql $sql "or (prestamos_id = $item->id ")";
  }
$resultado = mysql_query($sql); 
El sql debería ser algo como
Código SQL [-]
Select * from cuotas where 
(prestamos_id = ??? )
or (prestamos_id = ??? )
or (prestamos_id = ??? )
...

Última edición por duilioisola fecha: 28-02-2012 a las 00:58:57.
Responder Con Cita
  #3  
Antiguo 28-02-2012
Avatar de Adrian Murua
Adrian Murua Adrian Murua is offline
Miembro
 
Registrado: oct 2003
Ubicación: Tucuman - Argentina
Posts: 45
Poder: 0
Adrian Murua Va por buen camino
Thumbs up

Gracias por tu respuesta duilioisola, me paso por la cabeza el concepto de la concatenacion, pero no sabia como implementarlo, ahora con tu explicación me quedo mas claro, muchas gracias por tu tiempo. saludos.
__________________
Adrián Murúa.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Cómo imprimo un campo con varias opciones? edwin.simon Impresión 4 08-10-2011 18:19:16
como hacer para q una tabla aparezca en varias ventanas a la vez!! _CALI SQL 3 28-11-2009 22:15:18
Como puedo seleccionar varias opciones esimon OOP 7 14-06-2006 09:21:11
Que componentes tengo que utilizar para hacer esto: gontxalo OOP 11 12-07-2005 16:32:57
Tengo problemas para conectar varias base de datos abe Conexión con bases de datos 4 06-04-2004 18:46:09


La franja horaria es GMT +2. Ahora son las 15:57:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi