Foros del Web » Programando para Internet » PHP »

Ayuda con consulta con mysql y php...

Estas en el tema de Ayuda con consulta con mysql y php... en el foro de PHP en Foros del Web. Hola amigos tengo este problema, quiero hacer una busqueda a la vez sencilla pero ya se complico, ejemplo tengo una base de datos que haci ...
  #1 (permalink)  
Antiguo 14/08/2006, 12:26
 
Fecha de Ingreso: marzo-2005
Mensajes: 372
Antigüedad: 19 años, 1 mes
Puntos: 1
Ayuda con consulta con mysql y php...

Hola amigos tengo este problema, quiero hacer una busqueda a la vez sencilla pero ya se complico, ejemplo tengo una base de datos que haci me la diroen en mi trabajo:

estructura de la tabla:(cuenta con 11 campos)

campo1=rfc, campo2=concepto1, campo3=importe1, campo4=concepto2, campo5=importe2, campo6=concepto3, campo7=importe3, campo8=concepto4
campo9=importe4, campo10=concepto5, campo11=importe5

bueno la consulta es facil ya la hice el usuario inserta el nombre y el concepto a buscar en la tabla;

nombre a buscar= LUis Anaya
concepto a buscar=AA

Código PHP:
$sql=mysql_query("select * from empleado where nombre='$nombre' and (concepto01='$concepto' or concepto02='$concepto' or concepto03='$concepto' or concepto04='$concepto' or
 concepto05='$concepto')"
,$link);

$row=mysql_num_rows($sql);

    if(
$row==1)
       {
    echo
"Si existe Concepto $concepto"
       }
else
{
echo
"No existe Concepto $concepto"

si me imprime el concepto AA que quiere decir que lo encontro esto esta bien,

*mi problema es com imprimo su importe de este concepto, por que no se en que importe se encuentra (importe1,importe2,importe3,importe4,importe5)
ya que el concepto puede estar en alguno de los cinco campos de concepto(concepto1,concepto2,concepto3,concepto4,c oncepto5).
ejemplo de resultados en pantalla
que el resultado final seria concepto=AA(campo2) importe 25.36(importe2)
que el resultado final seria concepto=AA(campo5) importe 25.36(importe5)
que el resultado final seria concepto=AA(campo1) importe 25.36(importe1)

como puedo hacer esto ayuda por favor..saludos
  #2 (permalink)  
Antiguo 14/08/2006, 15:42
Avatar de jdelozar  
Fecha de Ingreso: agosto-2006
Ubicación: Madrid
Mensajes: 32
Antigüedad: 17 años, 8 meses
Puntos: 0
Deberías definir la BD de otro modo mas normalizado.
Deberías tener una tabla asociada a la que contiene el nombre con los campos concepto e importe, de forma que no limitas los conceptos a 5 ni malgastas el espacio de los conceptos que esten vacíos.

En su defecto lo único que te queda es comprobar uno por uno los 5 conceptos que te devuelve la query en el resulset.

Código PHP:
$sql=mysql_query("select * from empleado where nombre='$nombre' and (concepto01='$concepto' or concepto02='$concepto' or concepto03='$concepto' or concepto04='$concepto' or concepto05='$concepto')",$link); 
 
$row=mysql_num_rows($sql); 
 
    if (
$row==1) { 
        
$resul mysql_fetch_assoc($resultado)
        if ( 
$resul['concepto01'] == $concepto ) {
            echo
"Si existe Concepto $concepto importe:".$resul[importe01];  
        } elseif ( 
$resul['concepto02'] == $concepto ) {
            echo
"Si existe Concepto $concepto importe:".$resul[importe02];  
        } elseif ( 
$resul['concepto03'] == $concepto ) {
            echo
"Si existe Concepto $concepto importe:".$resul[importe03];  
        } elseif ( 
$resul['concepto04'] == $concepto ) {
            echo
"Si existe Concepto $concepto importe:".$resul[importe04];  
        } elseif ( 
$resul['concepto05'] == $concepto ) {
            echo
"Si existe Concepto $concepto importe:".$resul[importe05];  
        } else {
            echo
"Si existe Concepto $concepto";  
        }
    } else { 
        echo
"No existe Concepto $concepto";  
    } 
__________________
Un saludo:
Juan
  #3 (permalink)  
Antiguo 14/08/2006, 16:28
 
Fecha de Ingreso: agosto-2006
Mensajes: 177
Antigüedad: 17 años, 8 meses
Puntos: 1
concuerdo con jdelozar, iba a responder pero me dio lata, escribir el codigo XD

encuentro q te simplificarias el trabajo rediseñando la base de datos si es que se puede...

bueno suerte salu2.
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:26.