Alguien me heche una manita de gato

  • Autor Autor blogers
  • Fecha de inicio Fecha de inicio
B

blogers

Pi
SEO
Hola bueno no me quedo de otra que pedirles su ayuda y asesoria, lo que yo quiero hacer es lo siguiente

tengo esta tabla
89WqO.png
en donde se guardan las busquedas de los users (ejemplo: busco web php) se registra y si vielvo a buscarlo de nuevo se registra

Lo que yo quiero es con la ayuda de un script php coja los duplicados y lo convierta en un solo registro pero que sume los duplicados y deje el conteo en el campo HIt_counts
89WML.png
en otra tabla clonada

Alguien que me ayude o asesore
 
Insertar CODE, HTML o PHP:
select keyword, count(1) from tu_tabla group by keyword having count(1) > 1

con ese comando puedes saber los duplicados, es cuestion que en un archivo php gires por ese select y lo vayas registrando en otra tabla, ese select te permitirá saber los keyword que estan duplicados y la cantidad de veces que estan duplicados.


Te dejo un ejemplo, claro esta que mi tabla de ejemplo tiene 2 campos..
PHP:
<?php
$cone = new mysqli('localhost','root','', 'bd_laboratorio');
if ($cone->connect_errno) 
{
	echo "Fallo al conectar a MySQL: (" . $cone->connect_errno . ") " . $cone->connect_error;
}else{
	$sql = $cone->mysqli_query("select keyword, count(1) cantidad from tu_tabla group by keyword having count(1) > 1");
	while($rows = mysqli_fetch_assoc($sql))
	{
		$cone->mysqli_query("insert into tabla_clonada values(0, '". $rows['keyword'] ."', ". $rows['cantidad'] .")");
	}
}
?>
 
Última edición:
Mira as tengo la query

89ZlE.png


El update sirve para saber si google o el user entro de nuevo con esa key y lo suma en el campo
89Zv0.png


Esta parte es la que sirviria para el contador de duplicados y convierta en hits_counts?

PHP:
  $cone->mysqli_query("insert into tabla_clonada values(0, '". $rows['keyword'] ."', ". $rows['cantidad'] .")");
    }

Insertar CODE, HTML o PHP:
select keyword, count(1) from tu_tabla group by keyword having count(1) > 1

con ese comando puedes saber los duplicados, es cuestion que en un archivo php gires por ese select y lo vayas registrando en otra tabla, ese select te permitirá saber los keyword que estan duplicados y la cantidad de veces que estan duplicados.


Te dejo un ejemplo, claro esta que mi tabla de ejemplo tiene 2 campos..
PHP:
<?php
$cone = new mysqli('localhost','root','', 'bd_laboratorio');
if ($cone->connect_errno) 
{
	echo "Fallo al conectar a MySQL: (" . $cone->connect_errno . ") " . $cone->connect_error;
}else{
	$sql = $cone->mysqli_query("select keyword, count(1) cantidad from tu_tabla group by keyword having count(1) > 1");
	while($rows = mysqli_fetch_assoc($sql))
	{
		$cone->mysqli_query("insert into tabla_clonada values(0, '". $rows['keyword'] ."', ". $rows['cantidad'] .")");
	}
}
?>
 
El ejemplo que te pase, te permite recorrer toda la tabla para buscar duplicados y solo él agarra los que hay mas de 1 registro y luego al recorrer los va guardando en otra tabla clonada del anterior y le guarda la cantidad de veces que se busco esa palabra (cantidad de registros)
 
A okei la voy a adaptar gracias colega
El ejemplo que te pase, te permite recorrer toda la tabla para buscar duplicados y solo él agarra los que hay mas de 1 registro y luego al recorrer los va guardando en otra tabla clonada del anterior y le guarda la cantidad de veces que se busco esa palabra (cantidad de registros)


---------- Post agregado el 15-abr-2014 hora: 19:50 ----------

Me dio este errorsito que podra ser tengo xampp la version antigua por que no me coje la nueva por que todavia tengo windows xp
8a2SK.png

El ejemplo que te pase, te permite recorrer toda la tabla para buscar duplicados y solo él agarra los que hay mas de 1 registro y luego al recorrer los va guardando en otra tabla clonada del anterior y le guarda la cantidad de veces que se busco esa palabra (cantidad de registros)
 
El error esta en que ya no lleva el prefijo "mysqli_" por ejemplo:

PHP:
 $cone->mysqli_query

debería ser:

PHP:
 $cone->query
 
Pues no puedo ver todo tu codigo, por que no lo pegas bajo la etiqueta PHP, y si vas a trabajar orientado a objectos, cambia:


PHP:
mysqli_fetch_assoc($sql)

por:

PHP:
$cone->fetch_assoc()
 
Última edición:
´No es a objetos es solo pasar info a otra tabla eso es todo ya lo explique arriba ninguno de los codigos me ha servido tendre que contratar por que de plano la ayuda es nula
Pues no puedo ver todo tu codigo, por que no lo pegas bajo la etiqueta PHP, y si vas a trabajar orientado a objectos, cambia:


PHP:
mysqli_fetch_assoc($sql)

por:

PHP:
$cone->fetch_assoc()


---------- Post agregado el 16-abr-2014 hora: 00:04 ----------

Por que este codigo no funciona [MENTION=9679]cicklow[/MENTION] lo tenog en xampp

PHP:
 <?php
$cone = new mysqli('localhost','root','', 'botsearch');
if ($cone->connect_errno) 
{
    echo "Fallo al conectar a MySQL: (" . $cone->connect_errno . ") " . $cone->connect_error;
}else{
    $sql = $cone->mysqli_query("select keyword, count(1) cantidad from search group by keyword having count(1) > 1");
    while($rows = mysqli_fetch_assoc($sql))
    {
        $cone->mysqli_query("insert into search2 values(0, '". $rows['keyword'] ."', ". $rows['hit_counts'] .")");
    }
}
?>
 
PHP:
<?php
$cone = new mysqli('localhost','root','', 'botsearch');
if ($cone->connect_errno) 
{
    echo "Fallo al conectar a MySQL: (" . $cone->connect_errno . ") " . $cone->connect_error;
}else{
    $sql = $cone->mysqli_query("select keyword, count(1) cantidad from search group by keyword having count(1) > 1");
    while($rows = $sql->fetch_assoc())
    {
        $cone->mysqli_query("insert into search2 values(0, '". $rows['keyword'] ."', ". $rows['hit_counts'] .")");
    }
}
?>
 
Me da este error mira

8am7e.png


Y no hace el proceso
PHP:
<?php
$cone = new mysqli('localhost','root','', 'botsearch');
if ($cone->connect_errno) 
{
    echo "Fallo al conectar a MySQL: (" . $cone->connect_errno . ") " . $cone->connect_error;
}else{
    $sql = $cone->mysqli_query("select keyword, count(1) cantidad from search group by keyword having count(1) > 1");
    while($rows = $sql->fetch_assoc())
    {
        $cone->mysqli_query("insert into search2 values(0, '". $rows['keyword'] ."', ". $rows['hit_counts'] .")");
    }
}
?>
 
Me da este error mira

8am7e.png


Y no hace el proceso

porque no existe esa funcion XD
PHP:
 <?php
$cone = new mysqli('localhost','root','', 'botsearch');
if ($cone->connect_errno) 
{
    echo "Fallo al conectar a MySQL: (" . $cone->connect_errno . ") " . $cone->connect_error;
}else{
    $sql = $cone->query("select keyword, count(1) cantidad from search group by keyword having count(1) > 1");
    while($rows = $sql->fetch_assoc())
    {
        $cone->query("insert into search2 values(0, '". $rows['keyword'] ."', ". $rows['hit_counts'] .")");
    }
}
?>
 
Pues ya se quito el error pero no me pasa la info a la tabla search2 de los duplicados y con el hit_count

8amt9.png
porque no existe esa funcion XD
PHP:
 <?php
$cone = new mysqli('localhost','root','', 'botsearch');
if ($cone->connect_errno) 
{
    echo "Fallo al conectar a MySQL: (" . $cone->connect_errno . ") " . $cone->connect_error;
}else{
    $sql = $cone->query("select keyword, count(1) cantidad from search group by keyword having count(1) > 1");
    while($rows = $sql->fetch_assoc())
    {
        $cone->query("insert into search2 values(0, '". $rows['keyword'] ."', ". $rows['hit_counts'] .")");
    }
}
?>
 
Pues ya se quito el error pero no me pasa la info a la tabla search2 de los duplicados y con el hit_count

8amt9.png

esto:
Insertar CODE, HTML o PHP:
select keyword, count(1) cantidad from search group by keyword having count(1) > 1
en phpmyadmin regresa algo? sino regresa nada es porque no cumple esas reglas
 

si ves solo seleccionas keyword y cantidad...
Insertar CODE, HTML o PHP:
select keyword, count(1) cantidad from search group by keyword having count(1) > 1
Y en tu code estas tratando de usar: hit_counts
 
Si el hit_counts es el que contara los repetidos de la tabla search donde estan los repetidos y los pasara como hit_counts en la tabla search2 las dos tablas son identicas

8anxi.png


Pero ayi es donde me pierdo

8anAE.png


si ves solo seleccionas keyword y cantidad...
Insertar CODE, HTML o PHP:
select keyword, count(1) cantidad from search group by keyword having count(1) > 1
Y en tu code estas tratando de usar: hit_counts
 
Si el hit_counts es el que contara los repetidos de la tabla search donde estan los repetidos y los pasara como hit_counts en la tabla search2 las dos tablas son identicas

8anxi.png


Pero ayi es donde me pierdo

8anAE.png

jejej tienes que agregarlo en la seleccion:
Insertar CODE, HTML o PHP:
select hit_counts,keyword, count(1) cantidad from search group by keyword having count(1) > 1
 
Me dio error mira

8anXy.png

no se debe cumplir la consulta sql... ponela en phpmyadmin antes a ver que te dice... yo te lo puse como tendria que ir... por ahi search no tiene esa columna...
 

Temas similares

Atrás
Arriba