Foros del Web » Programando para Internet » PHP »

SE PUEDE HACER ESTO? como..o.O!

Estas en el tema de SE PUEDE HACER ESTO? como..o.O! en el foro de PHP en Foros del Web. Buenas, mis mas sinceros saludos a mis compañeros del foros del web. tengo tiempo que no hago una pregunta como esta, la cosa es la ...
  #1 (permalink)  
Antiguo 19/01/2011, 20:55
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Pregunta SE PUEDE HACER ESTO? como..o.O!

Buenas, mis mas sinceros saludos a mis compañeros del foros del web.
tengo tiempo que no hago una pregunta como esta, la cosa es la siguiente empiezo explicando el proyecto y lo que se me a ocurrido, si alguno tiene alguna idea mejor, o como darle la vuelta a este enredo. (QUE LO MAS SEGURO ES QUE SI, Siempre hay alguien que ve la luz cuando otro ve la oscuridad)

El tema es el siguiente, resulta que quiero hacer un sistema, (proyecto, es por esto que quisas me enredo un poco ya que los sistemas que e realizado es para mi propia utilidad, y noi para ofrecer.. ) donde la persona ponga, la razón de un cobro, por ejemplo, se registro jose al sistema, y coloco sus 3 razones, con sus montos:


agua 100
luz, 100
jardin 100

la tabla lo que se me ocurre es una idea asi,
ID (uno nunk sabe cuando puede ser util) - NOMBRE -RAZON-MONTO-MES/AÑO

------------------------------------------------------------------------------------------------
ENTONCES SE INSERTARIA en este caso:

ID - NOMBRE RAZON MONTO - MES/AÑO
1 JOSE AGUA 100 NOV-2011
2 JOSE LUZ 100 NOV-2011
3 JOSE JARDIN 100 NOV-2011

------------------------------------------------------------------------------------------------

Aqui la pregunta... supongamos que se registra otro usuario por ejemplo Miguel.
y coloca 4 razones: agua , luz , jardin ,gaz

quedaria entonces:

1 Miguel agua 100 nov-2011
2 Miguel luz 0 nov-2011
3 Miguel jardin 100 nov-2011
4 Miguel gaz 100 nov-2011

Lo que no entiendo como podria yo hacerlo es:
Como hacer, un codigo general, por que yo no se cuando algun usuario ponga mas razones.. para sumar por ejemplo Todos los Montos por razones de Jose! por ejemplo sumar todos los montos de las Aguas de Jose.
por que al mes siguiente el lo colocara.. es decir al mes siguiente abra un:

1 Jose Agua 150 dic-2011

pero dicho codigo le sirva tambien a miguel.. lo digo por que si yo hago una SUMA

de todos los montos, donde nombre es igual a jose, y sea igual a agua ?
y otra donde sea igual a luz..
... otra sea igual a jardin..

Pero cuando miguel se meta al sistema.. el tendra una razon mas (GAZ)
y en el codigo no esta... como haria yo, para que el codigo fuera generico..
es decir yo NO se cuantas razones pueden poner infinidad de usuarios..

por eso quiero algo generico.. se me a ocurrido que, el primer dato del form es decir la primera razon siempre tenga id=1, la siguiente 2.. y asi sucesivamente..
pero estoy en la misma por que, no se cuantas razones pondran.. :S

Ose alo que estaria buscando seria una consulta del tipo:
Código PHP:
$Resultado=mysql_query("SELECT * FROM actual where id=1, 2, 3, 4... ,); 
Pero no se cuantos es decir no se cuantos son si 1 , 2 o 3 ..

también se me a ocurrido que puedo hacer lo siguiente, contar todas las razones, de jose, las cuales se guardan en alguna tabla, ´para no lijarse con la de los otros meses.. y ese numero por ejemplo sumo todos los registros de las razones de jose. me da 3!

y hacer lago como que..
se vayan haciendo consultas, y cada uno con su numero. desde 1 hasta el numero final del conteo es decir 3.

Pero no se como hacer esto ultimo que dije, y pues también si a alguno de ustedes se les ocurre algo al respecto..

o cualquier duda sobre lo que dije, yo la aclaro si no logran entender lo explicado arriba..

de ante mano gracias, espero su pronta ayuda, no se de que otra manera puedo hacerlo..
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #2 (permalink)  
Antiguo 19/01/2011, 21:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: SE PUEDE HACER ESTO? como..o.O!

podrías usar el operador IN() de SQL...
Cita:
SELECT * FROM tabla WHERE id IN(1,2,3,4)
aunque deberías pensar bien lo que necesitas, si tu problema tiene que ver mas con los datos, y la forma de la consulta entonces el foro de PHP no es el correcto!!

deberías investigar en el foro de base de datos, pues parece que ahí es donde tienes problemas...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/01/2011, 22:08
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: SE PUEDE HACER ESTO? como..o.O!

Hola pateketrueke ! Como estas? ..:) BUENO SI PERO EL PUNTO ES QUE YO NO SE CUantos numeros son..

es decir para jose podrian ser 3! y el codigo:

Código:
SELECT * FROM tabla WHERE id IN(1,2,3)
pero para miguel serian 4..
entonces el codigo expresado arriba no serviria..

por eso estoy buscando la manera de que sea generico, o alguna otra forma de extructurar lo que quiero..

se me a ocurrido quisas, en alguna otra tabla parte donde se registren solo las razones de los user.. hacer un conteo..

de todas esas razones.. luego ese numero resultante, me va a decir cuantas consultas hacer, con sus respectivos where, algo como:

$filastotales=$resultado;
luego algo que, establezca, por decirlo asi:
variable1=1 ;
variable2=2 ;
variable3=3;

por que el maximo esta definido por el conteo..

y luego algo que genere las respectivas consultas.. :s
si se puede hacer algo asi, o hay alguna otra manera de hacerlo?
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #4 (permalink)  
Antiguo 19/01/2011, 22:57
Avatar de JoseGMariani  
Fecha de Ingreso: diciembre-2008
Ubicación: Edo Lara
Mensajes: 251
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: SE PUEDE HACER ESTO? como..o.O!

Creo que ya tengo una solucion pero no se como colocar la sintasis correctamente, es decir no se, si se puede.. lo que estaba buscando creo que se llama "Group By"

Algo asi por ejemplo:
Código:
SELECT razon, SUM(monto)
FROM mi_tabla
GROUP BY razon
Pero me faltaría colocare un where. indicando que solo sean las del usuario jose.
no se como se haría.. :s sera que me quedaría buena si lo colocase así?

Código:
SELECT razon, SUM(monto)
FROM mi_tabla
GROUP BY razón WHERE nombre='$nombre
? así estaría correcto?

otra pregunta y esto si es referente a php mas que todo, como hago para que por cada user , cuando mande a imprimir en la impresora, me imprima cada user en una pagina.. como hago eso? .. :S..

por ejemplo una consulta donde me aparescan 20, pedro juan... etc.. y yo ponga todo eso acomodado para que se imprima en una tabla..

cuando yo pise imprimir.. que me imprima cada 1 en una pagina.. como hago eso? OSEA cada resultado en una pagina..?

***como hago para agarrar el valor de la suma? ejemplo; SI FUERA UN VALOR NORMAL YO LO MOSTRARIA EN UN ECHO CON: .$row["fecha"]. ..
Pero en este caso como se muestra la suma de los montos?
__________________
"Nunca seas arrogante con los humildes, ni humilde con los arrogantes." Paulo Coelho..
  #5 (permalink)  
Antiguo 20/01/2011, 19:00
Avatar de hOpEx  
Fecha de Ingreso: junio-2006
Mensajes: 34
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: SE PUEDE HACER ESTO? como..o.O!

Para lo del valor de suma puedes usar un alias en la consulta :
SELECT razon, SUM(monto)
FROM mi_tabla
GROUP BY razón WHERE nombre='$nombre' as ALIAS

y luego un row alias
  #6 (permalink)  
Antiguo 22/01/2011, 15:46
Avatar de triibhals  
Fecha de Ingreso: agosto-2010
Mensajes: 93
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: SE PUEDE HACER ESTO? como..o.O!

Código PHP:

SELECT razon
SUM(monto) as total
FROM mi_tabla
GROUP BY razón WHERE nombre
=$nombre


y los Muestras $row
["total"]; 

Etiquetas: Ninguno
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:56.