Foros del Web » Programando para Internet » PHP »

Ayuda con consulta especifica (SOLUCIONADO)

Estas en el tema de Ayuda con consulta especifica (SOLUCIONADO) en el foro de PHP en Foros del Web. Hola, este es el INSERT, @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código sql: Ver original $sQuery1 = "INSERT INTO descargados SET usuario='$usuario', name='$nombre_archivo', descargas=1, avatar='$avatar', fecha='" . DATE ( ...
  #1 (permalink)  
Antiguo 25/09/2010, 00:09
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 3
Ayuda con consulta especifica (SOLUCIONADO)

Hola, este es el INSERT,

Código sql:
Ver original
  1. $sQuery1 = "INSERT INTO descargados SET usuario='$usuario', name='$nombre_archivo', descargas=1, avatar='$avatar', fecha='".DATE("d-n-Y")."';";  
  2.  
  3.  
  4. $result1 = mysql_query($sQuery1) OR die(mysql_error());


y esta es la consulta que me muestra todos los registros entre una fecha y otra, pero si el usuario fulanito tiene 7 descargas el avatar de fulanito se va a repetir 7 veces (obvio) al momento de imprimir los registros, y lo que quiero es que se sumen las descargas de fulanito y que su avatar y nombre se muestre una sola ves y asi con los demas fulanos, ordenados por el numero de descargas que tenga cada uno gracias, espero me puedan ayudar con esto...

Código sql:
Ver original
  1. include "conexion.php";
  2. mysql_connect($server, $db_user, $db_pass) OR die (mysql_error());
  3. $result = mysql_db_query($database, "select * from descargados  where fecha between '$fecha' and '$today' order by descargas desc limit 0, 6") OR die (mysql_error());
  4. IF (mysql_num_rows($result)) {
  5. while ($qry = mysql_fetch_array($result)) {
  6.  
  7. }




  #2 (permalink)  
Antiguo 25/09/2010, 00:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Ayuda con consulta.

¿que se sumen?

pues usa el operador SUM() para SQL:
Cita:
SELECT SUM(columna) AS total FROM tabla WHERE id=99
y que conste que nada tiene que ver con PHP, para la próxima trata de indagar mas antes de disparar preguntas!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 25/09/2010, 00:42
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Ayuda con consulta.

Cita:
Iniciado por pateketrueke Ver Mensaje
¿que se sumen?

pues usa el operador SUM() para SQL:


y que conste que nada tiene que ver con PHP, para la próxima trata de indagar mas antes de disparar preguntas!!
Mi no entender...

y con eso boy a lograr lo qu quiero hacer? acomodar los usuarios por la suma de sus descargas pero sin que se repitan?

Alguien podria explicarme un poco mejor como hacer esta consulta? Gracias...

Última edición por Ojete; 25/09/2010 a las 02:14
  #4 (permalink)  
Antiguo 25/09/2010, 02:47
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 2 meses
Puntos: 14
Respuesta: Ayuda con consulta especifica

a ver supongo que te lo muestra 7 veces es que el problema lo tienes en el while...si lo pegases podriamos verlo. Ademas cada vez que hace una descarga hace un insert into? eso no tiene mucho sentido lo idel es comprobar si ya ha hecho una descarga si es asi hace un update del campo descarga sumandole uno y sino existe pues hace el insert. Siendo esto asi tu sentencia que tienes ahora con el order by te serviria y no tendrias el problema de que se te repita el avatar. No se si me explicado o te entendido bien.
  #5 (permalink)  
Antiguo 25/09/2010, 05:12
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Ayuda con consulta especifica

Cita:
Iniciado por AdrianSeg Ver Mensaje
a ver supongo que te lo muestra 7 veces es que el problema lo tienes en el while...si lo pegases podriamos verlo. Ademas cada vez que hace una descarga hace un insert into? eso no tiene mucho sentido lo idel es comprobar si ya ha hecho una descarga si es asi hace un update del campo descarga sumandole uno y sino existe pues hace el insert. Siendo esto asi tu sentencia que tienes ahora con el order by te serviria y no tendrias el problema de que se te repita el avatar. No se si me explicado o te entendido bien.
Hola AdrianSeg, haora si ando mas atravezado que antes, no se si me explique bien, pero aqui va otra ves... Tengo un campo en otra tabla donde se suman las descargacs y si ago la consulta a esa tabla todo esta bien me muestra su avatar y sus descargas totales, pero lo que quiero es es hacer una consulta que me traga la suma de las descargas de cada usuario entre una fecha especifica como por ejemplo el mes pasado y mostrar su avatar nombre y la suma de sus descargas, es por eso que cree esa tabla donde se registra cada archivo poniedole un 1 en el campo descargas a la ora del hacer el incert, para despues sumar las descargas de cada usuario dependiendo de la fecha y mostralos cada uno con su suma de descargas, pero no quiero que se repita el usuario y el avatar por cada registro si no que me muestre el usuario y avatar una sola ves pero que me sume sus descargas, gracias espero que se entienda...

Última edición por Ojete; 25/09/2010 a las 05:27
  #6 (permalink)  
Antiguo 25/09/2010, 16:24
Avatar de AdrianSeg  
Fecha de Ingreso: enero-2010
Mensajes: 595
Antigüedad: 14 años, 2 meses
Puntos: 14
Respuesta: Ayuda con consulta especifica.( SIN RESOLVER )

Pues usa la función sum como te dijeron o en este caso si todos los valores son 1 podrias usar count() creo que te serviria igual. Si te muestra 7 veces el avatar entonce tienes mal el while que saca los datos...escribenos el codigo.


Prueba quitando esto:

desc limit 0, 6
  #7 (permalink)  
Antiguo 25/09/2010, 16:53
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Ayuda con consulta especifica.( SIN RESOLVER )

Cita:
...escribenos el codigo


Claro este es el codigo...

Código PHP:




<?php
include "config.php"

mysql_connect($server$db_user$db_pass) or die (mysql_error()); 
$result mysql_db_query($database"select * from descargados where descargas order by descargas desc limit 0, 6") or die (mysql_error()); 
if (
mysql_num_rows($result)) { 
while (
$qry mysql_fetch_array($result)) { 
    

     
echo 
"<div class='picuser'> 
<a href='profile.php?sbbu=$qry[usuario]' target='_blank'> 
<img src='$qry[avatar]' class='avat' width='90' height='90' /> </a> 
<a href='profile.php?sbbu=$qry[usuario]'target='_blank'>$qry[usuario] 
</a><br><font face='leelawadee'  color='yellow' >$qry[descargas] Descargas</font>
</div>
"
;
}  
}  
?>
  #8 (permalink)  
Antiguo 25/09/2010, 18:37
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Ayuda con consulta especifica.( SIN RESOLVER )

bueno amigo lo primero que t voy a decir es que mysql_db_query() esta obsoleta se usa es mysql_query
otra cosa silo que kieres es contar cuantos registros tienes has una consulta count y lo agrupas por usuario para saber lo que tiene un usuario ej
Código PHP:
Ver original
  1. $query=mysql_query("SELECT COUNT(*) FROM descargados WHERE fecha BETWENN '$fecha' and '$today' GROUP BY usuario_quew_descargo") or die (mysqwl_error());
el group by para que te lo ponga por el usuario que fue descargado ejemplo te deberia salir
Cita:
carlos_belisario 1
ojete 10
bueno esto sino te entendi mal espero te sea util
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #9 (permalink)  
Antiguo 25/09/2010, 18:58
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Ayuda con consulta especifica.( SIN RESOLVER )

Hola carlos_belisario Gracias, creo que esa es la consulta pero por que al momento de imprimir no me muestra los datos. solo muestra los avatares vacios?
  #10 (permalink)  
Antiguo 25/09/2010, 19:23
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Ayuda con consulta especifica.( SIN RESOLVER )

muestranos que tienes y que resultado te da xq no puedo adivinar que te esta pasando
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #11 (permalink)  
Antiguo 25/09/2010, 19:24
 
Fecha de Ingreso: agosto-2010
Ubicación: Oakland california
Mensajes: 393
Antigüedad: 13 años, 8 meses
Puntos: 3
Respuesta: Ayuda con consulta especifica.( SIN RESOLVER )

Solucionado, Esta es la consluta que buscaba, y aunque este tema no corresponda a este foro PHP, pues de cualquier modo espero le pueda servia a alguien en un futuro...


Código PHP:
$query mysql_query"SELECT avatar,usuario,sum(descargas) as descargas FROM descargados  where fecha between '$fecha' and '$today' GROUP BY usuario order by descargas desc limit 0, 6") or die (mysql_error()); 
Gracias x su ayuda, Carlos_belisario, AdrianSeg , paketetrueke....

Última edición por Ojete; 26/09/2010 a las 08:23

Etiquetas: especifica, solucionado
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 00:46.