Foros del Web » Programando para Internet » PHP »

problemas pintando un select WHERE

Estas en el tema de problemas pintando un select WHERE en el foro de PHP en Foros del Web. Hola tengo un select que me saca de una tabla los registros que tengan como usuario a$ usaurio , entonces me lo sac separado , ...
  #1 (permalink)  
Antiguo 21/02/2003, 11:59
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 15 años, 10 meses
Puntos: 2
problemas pintando un select WHERE

Hola tengo un select que me saca de una tabla los registros que tengan como usuario a$ usaurio , entonces me lo sac separado , peor como puedo hacer para que me sume los resultados de los 2 ? en 1

es decir si cada uno de lso registros tiene 20 votos , como puedo hacer paar que me imprima la suma de ambos?



el codigo es este:
Código PHP:

?>

$dbh = mysql_connect("localhost", "musikaid_user", "pass");
mysql_select_db("musikaid_temas");
$sql = "SELECT * FROM temas WHERE usuario='$usuario_login'";
$result = mysql_query($sql,$link);
echo mysql_error();
while ($row = mysql_fetch_row($result)){
    
<td width="730" class="normalnegrita" align="center" bgcolor="#FFFF66" border="1" bordercolor="#999999">

Estadisticas del tema  <?echo $row['1']?>
</TD>
</TR>
<tr>
    <td width="730" class="normal" align="center">

    Escuchado:  <?echo $row['13']?> veces
</TD>
</TR>
<tr>
    <td width="730" class="normal" align="center">

    Descargado:  <?echo $row['14']?> veces
</TD>
</TR>
<tr>
    <td width="730" class="normal" align="center">



    Votos en Total :  <?echo $row['11']?> 
</TD>
</TR>
<tr>
    <td width="730" class="normal" align="center">

    Puntos en Total:  <?echo $row['12']?> 
</TD>
</TR>
<tr>
    <td width="730" class="normal" align="center">
<?$media = (int)($row['12']/$row['11']);?>

    Valoración media: <?echo $media?>  
</TD>
</TR>
<tr>
    <td width="730" class="normal" align="center">
    <?
$dbh 
mysql_connect("localhost""musikaid_user""pass");
     
mysql_select_db ("musikaid_datos"$dbh);
 
$sql "SELECT * FROM ranking  WHERE puntuacion='$media'";
    
$result mysql_query($sql);
echo 
mysql_error();
while (
$row mysql_fetch_row($result)){
$valoracion$row['1'];
}
?>
    Valoración media en estrellas: <img src=../<?echo $valoracion?>  >
</TD>
<?
}

saludos

Última edición por lochorui; 21/02/2003 a las 12:14
  #2 (permalink)  
Antiguo 21/02/2003, 12:50
 
Fecha de Ingreso: febrero-2003
Ubicación: Viña del Mar
Mensajes: 85
Antigüedad: 14 años, 9 meses
Puntos: 2
perdona pero no te entendi nada de nada...!!

si pudieras explicar el problema mas lento ... quizas te entenderiamos..!!

^_^
__________________
http://www.zypper.cl/blues.gif
(web-hosting)

  #3 (permalink)  
Antiguo 21/02/2003, 14:38
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 15 años, 10 meses
Puntos: 2
Pues mira basicamente seria que yo hago un select , de una tabla , con la condicion Whree usuario = pedro , esto me da de resultado dos coincidencias dentro de la base de datos que tienen dicho usuario, pedro.

uno de lso campos de esta tabla es visitas,en este campo la primera coincidencia tiene x ejemplo 30 y la segunda tiene 15 , como puedo sumar las visitas de las 2 coincidencias con pedro?

saludos
  #4 (permalink)  
Antiguo 21/02/2003, 14:52
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
pues mira, es facil, pero no tienes que conservar una conexiòn seguida, solo una sola

Ademas en tu codigo veo un error de sintaxis en:

Código PHP:
echo mysql_error();
while (
$row mysql_fetch_row($result)){
    
// adivina que te falta AQUÍ
<td width="730" class="normalnegrita" align="center" bgcolor="#FFFF66" border="1" bordercolor="#999999"
Para contar uno mas, ponle un update, con otra tabla que diga un numero mas, junto con el usuario, y la url, para que asi te registre un numero mas.

Espero y me haya entendido

Salu2
  #5 (permalink)  
Antiguo 21/02/2003, 14:59
 
Fecha de Ingreso: febrero-2003
Ubicación: Viña del Mar
Mensajes: 85
Antigüedad: 14 años, 9 meses
Puntos: 2
a ver..

segun lo que entendi...

hay 2 formas de hacer esto...(en estricto rigor hay millones, pero en terminos generales 2)

1ro .- que en la consulta te salga sumado ambos registros
2do.- que sumes por codigo los dos campos..!!

la decision depende de si vas a utilizar los otros datos aparte del campo que vas a utilizar...

ejemplo 1ro.

usa una sentencia mas o menos asi..

"Select sum(campo_a_sumar) as cuenta from tabla_a_usar where nombre='Pedro' "

o en PHP
$sel= "Select sum($campo_a_sumar) as cuenta from tabla_a_usar where nombre='$nombre' ";

ahora bien .... estas sentencias te generaran un resultado de un solo registro y un solo campo(cuenta), en el cual se almacenara la suma del campo *campo_a_sumar* de todos los registros en donde nombre sea igual a *Pedro*...

Código PHP:
<?
$sel
="select sum(visitas) as cuenta from sitios where creador='Pepe'";
$fila=mysql_fetch_array(mysql_query($sel));
?>

Los Sitios de Pepe tienen en total : <? echo $fila['cuenta'?> visitas
ejemplo 2do.-

sumar por codigo las visitas...
mas o menos asi..

Código PHP:
<?
$sel
="select * from sitios where creador='Pepe'";
$res=mysql_query($sel);
?>

Los sitios de Pepe son:
<?
$total_visitas
=0;
while (
$fila=mysql_fetch_array($res)){
    echo 
$fila['nombre']."- visitas:".$fila['visitas']."<br>";
    
$total_visitas+=$fila['visitas'];
}
?>

Total Visitas :<? echo $total_visitas ?>
en este segundo ejemplo se creara un listado de los sitios con la cantidad de visitas y luego mostrara el total de ellas...


Espero que te sirva.!
SaluDoS.
__________________
http://www.zypper.cl/blues.gif
(web-hosting)

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 05:04.