Autor Tema: Contar cuantas veces se repite una palbra en php  (Leído 4135 veces)

0 Usuarios y 1 Visitante están viendo este tema.

razon4

  • dr
  • Mensajes: 9
  • Liked: 0
  • la razon nos ciega
Contar cuantas veces se repite una palbra en php
« : octubre 07, 2011, 04:43:26 pm »
Hola buenas a todos primeramente agradecer por la ayuda prestada

tengo un sitio con un formulario de gustos en general desde música hasta cine etc..
necesito hacer una lista de las palabras mas ingresadas debo hacerlo en php

para rellenar la BD los usuarios llenan 15 formas cada forma es para cada tabla ósea que hay 15 tablas para esto field_c1_lista_value, field_c2_lista_value, field_c3_lista_value, field_c4_lista_value,... hasta llegar a  field_c15_lista_value

quiero que me aparezca así mas o menos:
the ramones (5)
maria bonita (4)
Los Fabulosos Cadilacs (3)
caimanes (3)


la base del sitio esta algo asi
-----------------------------------------
field_c1_lista_value                     |
-----------------------------------------
| vid | nid | field_l1_lista_value      |
|  1  |  1  | Los Fabulosos Cadilacs |
|  2  |  2  | caifanes                      |
|  3  |  3  | the ramones               |
|  4  |  4  | null                            |
|  5  |  5  | maria bonita               |
|  6  |  6  | null                            |
|  7  |  7  | null                            |

----------------------------------------
field_c2_lista_value                     |
----------------------------------------
| vid | nid | field_l2_lista_value      |
|  1  |  1  | Los Fabulosos Cadil     |
|  2  |  2  | caifanes                      |
|  3  |  3  | the ramones               |
|  4  |  4  | Los Fabulosos Cadilacs |
|  5  |  5  | maria bonita               |
|  6  |  6  | null                            |
|  7  |  7  | maria bonita               |
-----------------------------------
field_c3_lista_value                     |
-----------------------------------
| vid | nid | field_l3_lista_value      |
|  1  |  1  | the ramones               |
|  2  |  2  | caifanes                     |
|  3  |  3  | the ramones              |
|  4  |  4  | null                            |
|  5  |  5  | maria bonita              |
|  6  |  6  | the ramones              |
|  7  |  7  | nulo                           |
-----------------------------------------
no se como lograrlo estube leyendo sobre count(*) de mysql pero no me queda, y quiero saber como podré utilizar menos recursos

muchas gracias de antemano agradeceré su ayuda
« Última Modificación: octubre 07, 2011, 05:12:14 pm por razon »
la razon nos ciega

razon4

  • dr
  • Mensajes: 9
  • Liked: 0
  • la razon nos ciega
Re: Contar cuantas veces se repite una palbra en php
« Respuesta #1 : octubre 20, 2011, 06:35:07 pm »
ya que si me queda y doy por resuelto este tema ufff me ha hecho llorar casi casi

pero gracias a la ayuda de todos voy concluyendolo

con esta consulta me sale bien como lo quiero solo que no se como ponerlo en php para que me lo muestre los rows en una tabla y otro detallito esque los null me los pone hasta arriba aunque eso ya no me importa tanto

gracias por su ayuda y opiniones


Código: [Seleccionar]
CREATE TEMPORARY TABLE final 
SELECT `content_field_l1_lista`.`field_l1_lista_value`
FROM content_field_l1_lista
UNION ALL
SELECT `content_field_l2_lista`.`field_l2_lista_value`
FROM content_field_l2_lista
UNION ALL
SELECT `content_field_l3_lista`.`field_l3_lista_value`
FROM content_field_l3_lista;
 
SELECT COUNT( * ) , `final`.`field_l1_lista_value`
FROM final
GROUP BY `final`.`field_l1_lista_value`
HAVING COUNT( * )
ORDER BY COUNT( * ) DESC
LIMIT 0 , 30;
la razon nos ciega

MokoOverride

  • Mensajes: 2
  • Liked: 0
Re: Contar cuantas veces se repite una palbra en php
« Respuesta #2 : enero 26, 2012, 05:33:48 am »
Realmente no tengo muy claro que es lo que quieres hacer.
Pero para que el resultado lo puedas poner en php e imprimirlo en el explorador sería así:

$sql 
= 'SELECT count(*),"final"."field_l3_lista_value" FROM final GROUP BY "final"."field_l1_lista_value" HAVING COUNT (*) ORDER BY COUNT(*) DESC LIMIT 0 20';  // En dado caso de que esta sentencia que has escrito funcione la seteas en un variable.
$query mysql_query($sql); // Consulta en variable
if(!$query){ // si tu consulta falla te mostrara el error
print('Error: '.mysql_error());
}else{ // Si no hay error 
while( $resultado mysql_fetch_array($query)){ // Ponemos el resultado en un array
print(&#39;Primer campo &#39;.$resultado[&#39;campo&#39;].&#39;<br /> Segundo campo&#39;.$resultado[&#39;campo2&#39;].&#39;<br />&#39;;
}
}



Espero te sirva.

Saludos.