Foros del Web » Programando para Internet » PHP »

select count

Estas en el tema de select count en el foro de PHP en Foros del Web. como hago un select count de los comentarios que tengan el id=8?? es decir, que todos los comentarios que tengan el id=8 se cuenten y ...
  #1 (permalink)  
Antiguo 25/12/2001, 08:25
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
select count

como hago un select count de los comentarios que tengan el id=8?? es decir, que todos los comentarios que tengan el id=8 se cuenten y despues se imprima el numero en pantalla. si no hay comentarios, que se ponga: sin comentarios

Byez & GooD Byez
El Menda
-_-
  #2 (permalink)  
Antiguo 25/12/2001, 20:06
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Re: select count

El menda, sería algo así:

<?
$query = "SELECT COUNT(*) as cantidad FROM tabla WHERE id=8";
$rs = mysql_query($query);
$cantidad = mysql_result($query, "cantidad");
if ($cantidad != 0)
echo $cantidad;
else
echo "sin comentarios";
?>


Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #3 (permalink)  
Antiguo 31/12/2001, 14:34
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: select count

Thank U

Byez & GooD Byez
El Menda
-_-
  #4 (permalink)  
Antiguo 07/01/2002, 13:37
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: select count

Ya funciona. Intento hacer esto pero me da error:

$query = &quot;SELECT COUNT(*) as cantidad FROM tabla WHERE id=$id&quot;;

No se como se pondria exactamente ese $id. Me da error de sintaxis

Byez & GooD Byez
El Menda no te ayuda
  #5 (permalink)  
Antiguo 07/01/2002, 14:19
 
Fecha de Ingreso: enero-2002
Ubicación: Dentro del corralón
Mensajes: 287
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: select count

Aparente estar bien. ¿Por qué no probás poner echo $query; después de la instrucción para ver como te queda armada la sentencia?. Estoy asumiendo que id es un campo numérico.
Contanos como te fué. Saludos!

Leonardo D'Angelo
Buenos Aires
Argentina
  #6 (permalink)  
Antiguo 07/01/2002, 14:56
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Re: select count

Me quiero imaginar que has reemplazado el nombre de &quot;tabla&quot; por el nombre de TU tabla, porque si no es asi me puedo llegar a enojar mucho. :P

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #7 (permalink)  
Antiguo 07/01/2002, 16:49
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: select count

si, lo e reemplazado. no entiendo eso de echo $query explicamelo por favor

Byez & GooD Byez
El Menda no te ayuda
  #8 (permalink)  
Antiguo 07/01/2002, 18:10
 
Fecha de Ingreso: enero-2002
Mensajes: 22
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: select count

tiene razon idangelo, parece que está bien
revisa caracter por caracter, ciertas tonterias como el punto y coma del final olvidado o cosas asi a veces lo joden todo y no caemos.
  #9 (permalink)  
Antiguo 07/01/2002, 18:20
 
Fecha de Ingreso: noviembre-2001
Ubicación: Quito - Ecuador
Mensajes: 87
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: select count

Creo que falta esto las comilas simples '$id', quedaria asi:
$query = &quot;SELECT COUNT(*) as cantidad FROM tabla WHERE id='$id'&quot;;



EduH
  #10 (permalink)  
Antiguo 07/01/2002, 20:27
 
Fecha de Ingreso: enero-2002
Ubicación: Dentro del corralón
Mensajes: 287
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: select count

Lo que dice Eduardo estaría bien si id es de tipo char. A lo que me refiero poniendo echo $query es a que te mostraría como queda el valor de la variable $query después de la asignación. Por ej. si $id tiene un valor 123, entonces echo $query debería mostrar
SELECT COUNT(*) as cantidad FROM tabla WHERE id=123. Si eso queda bien convertido sería bueno probarlo directamente en el mysql aunque es un select muy simple. ¿Estás seguro que es en esa linea donde dá el error?. ¿Por qué no posteas el error que dá?. Otra cosa que podés poner después de ejecutar el query es echo mysql_error(); para ver exactamente el error del MySQL, a no ser que sea un error del parser.
Bueno, El Menda, pasanos mas data asi lo sacamos andando.
Saludos.

Leonardo D'Angelo
Buenos Aires
Argentina
  #11 (permalink)  
Antiguo 08/01/2002, 16:39
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: select count

Ok. Lo que pongo aqui no me da error , pero no funciona. Lo unico que hace es ponerte &quot;sin comentarios&quot; mientras en el id 1 hay 2 comentarios. Si, me he asegurado de que el unico id de Mysql es 1. Asi que ese error no es, sino de sintaxis .


&lt;?php
$link = mysql_connect(&quot;localhost&quot;, &quot;root&quot;, &quot;root&quot;);
mysql_select_db(&quot;todo&quot;, $link);
$result = mysql_query(&quot;SELECT * FROM noticia ORDER by ID DESC;&quot;, $link);
?&gt;

&lt;?//Aqui esta el problem
$query = mysql_query(&quot;SELECT COUNT(*) as cantidad FROM comentario WHERE idn='$id'&quot;, $link);
$cantidad = mysql_result($query, &quot;cantidad&quot;);
if ($cantidad != 0)
echo $cantidad;
else
echo &quot;Sin comentarios&quot;;
?&gt;
Ahh, Gracias a todos los que me ayudais ;)


Byez & GooD Byez
El Menda no te ayuda
  #12 (permalink)  
Antiguo 08/01/2002, 16:47
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: select count

Por si hay dudas. Yo hago esto:

$query = mysql_query(&quot;SELECT COUNT(*) as cantidad FROM comentario WHERE idn=1&quot;, $link);

Y me pone &quot;2&quot;, que son el numero de comentarios.


Byez & GooD Byez
El Menda no te ayuda
  #13 (permalink)  
Antiguo 09/01/2002, 10:51
 
Fecha de Ingreso: enero-2002
Ubicación: Dentro del corralón
Mensajes: 287
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: select count

OK. Pero fijate que cuando te funciona bien y te devuelve el número 2, en la sentencia where pones idn=1 y no idn='1'. Si revisás la sentencia $query = mysql_query(&quot;SELECT COUNT(*) as cantidad FROM comentario WHERE idn='$id' &quot;, $link);
estás poniendo el valor de la variable $id entre comillas simples como si se tratase de un campo de tipo CHAR y evidentemente cuando te funciona es de tipo numérico. Te aconsejo que le saques las comillas simples.


Leonardo D'Angelo
Buenos Aires
Argentina
  #14 (permalink)  
Antiguo 09/01/2002, 13:47
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: select count

Mira!!! Pongo esto:
$query = mysql_query(&quot;SELECT COUNT(*) as cantidad FROM comentario WHERE idn=$id&quot;, $link);

Y me da:
Warning: Supplied argument is not a valid MySQL result resource in c:\htdocs\public_html\index.php3 on line 109

Ayuda!!! Gracias

Byez & GooD Byez
El Menda no te ayuda
  #15 (permalink)  
Antiguo 09/01/2002, 14:15
 
Fecha de Ingreso: enero-2002
Ubicación: Dentro del corralón
Mensajes: 287
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: select count

Entonces verificá
1) Si está hecho el correspondiente $link=mysql_connect(....
2) Si está hecho el mysql_select_db(... que corresponda.
3) Si la tabla comentario -exactamente con ese nombre- existe en la base que estás intentando usar.

Vamos que tiene que salir andando ! Sino se va a convertir en uno de los post mas populares con la cantidad de respuestas que tiene ! ;)

Saludos.

Leonardo D'Angelo
Buenos Aires
Argentina
  #16 (permalink)  
Antiguo 09/01/2002, 16:04
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Re: select count

Yo te diría, Menda, que después del mysql_query(......) que haces, inmediatamente abajo pongas un :

echo mysql_error();

Para ver que error te informa el MySQL. Me parece que es la manera más directa de saber que es lo que está pasando.

Entonces, haces eso y nos decis que error te sale. listo?

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #17 (permalink)  
Antiguo 10/01/2002, 13:02
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: select count

He comprobado todo de mi sql. estoy sospechando que:
Estoy seleccionando 2 bds, y las 2 tienen el campo id, por eso una impide a la otra mostrar ese campo.

Cuando pongo esto no me sale nada:
echo mysql_error();
Gracias!!! seguire investigando y cambiare el nombre del campo id de Comentarios por idf
A ver que pasa



Byez & GooD Byez
El Menda no te ayuda
  #18 (permalink)  
Antiguo 12/01/2002, 07:05
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: select count

Pues no, he `puesto diferentes nombres a los campos id y nada. A ver si alguien puede hacer en su ordenador lo que he pedido y lo comprueba!!!! Le estaria eternamente agradecido

Byez & GooD Byez
El Menda no te ayuda
  #19 (permalink)  
Antiguo 14/01/2002, 13:33
Avatar de El Menda  
Fecha de Ingreso: junio-2001
Ubicación: Jaén
Mensajes: 516
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: select count

YA LO TENGO!!! GRACIAS A TODOS. AQUI VA EL CODIGO:
&lt;?php
$link = mysql_connect(&quot;localhost&quot;, &quot;root&quot;, &quot;root&quot;);
mysql_select_db(&quot;todo&quot;, $link);
$result = mysql_query(&quot;SELECT * FROM noticia ORDER by ID DESC;&quot;, $link);
?&gt;

&lt;?//AQUI SE PONE EL DESGRACIADO ESTE JEJE
$idp = mysql_result($result, &quot;id&quot;);

$query = mysql_query(&quot;SELECT COUNT(*) as cantidad FROM comentario WHERE idn='$id'&quot;, $link);
$cantidad = mysql_result($query, &quot;cantidad&quot;);
if ($cantidad != 0)
echo $cantidad;
else
echo &quot;Sin comentarios&quot;;
?&gt;
Vaya, que raro todo esto. Al menos mi quebradero de cabeza ha servido para algo. Ya sabeis ¡Usadlo!
Gracias a todos



Byez & GooD Byez
El Menda no te ayuda
  #20 (permalink)  
Antiguo 14/01/2002, 14:07
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Re: select count

Tan solo tengo un comentario que hacerte, respecto al primero Query que haces :

&quot;SELECT * FROM noticia ORDER by ID DESC;&quot;

No está mal, pero si solo vas a utilizar el último ID, entonces esta poco optimizado, ya que hacer un SELECT * estás pidiendo todos los datos cuando no es necesario y si no le indicas que quieres solo 1 resultado, te está trayendo todos. Yo la cambiaría por:

&quot;SELECT id FROM noticia ORDER by ID DESC LIMIT 1;&quot;

De esta manera solo recibes el id del último registro.

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
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 17:13.