Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Acerca de mi aplicacion web

Estas en el tema de Acerca de mi aplicacion web en el foro de Mysql en Foros del Web. Hola a todos chicos (as), tengo un problemita con la bd, miren estoy desarrollando una app que escanea los links de la web o de ...
  #1 (permalink)  
Antiguo 13/11/2010, 14:35
 
Fecha de Ingreso: abril-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
Acerca de mi aplicacion web

Hola a todos chicos (as), tengo un problemita con la bd, miren estoy desarrollando una app que escanea los links de la web o de un sitio en general y para ello guardo los links en una tabla, ahora bien, para que no existan repetidos, el unico mecanismo que encuentro es verificar nuevamente que no exista dicho link en "TODA LA BD", me podrian decir alguna forma de optimizar esto.

aqui esta el codigo:
for ($i = 0; $i <= $level; $i++) {

$padres = $this->Link->Get_LinksAtLevel($i);
// var_dump($padres);
for ($j = 0; $j < count($padres); $j++) {
$padre = $padres[$j]['Url'];

$childrens = $this->webtool->Get_All_Links_On($padre);

foreach ($childrens as $child) {
$result = $child->Get_Url();
$ISOUT = '';
if (intval($this->webtool->EsLinkExterno($this->root_url, $child->Get_Url())) > 0)
$ISOUT = 1; else
$ISOUT = 0;
if ($ISOUT == 0) {

//Buscando la verdadera url

if ($result != '')
if (strpos($result, '/') == 0)
$result = $this->root_url . substr($result, 1);
else if (gettype(strpos($result, '://')) == 'boolean')
$result = $this->root_url . $result;

// $INFO_ROOT = $this->webtool->Get_Info_Url($result);
if (!$this->Link->Find_Link($result)) //verifico que no se encuentre
$this->Link->Add_Link($result, $ISOUT, $child->Get_Tag(), '', '', $i + 1, '', $padre);
} else if(!$this->Link->Find_Link($result)) //verifico que no se encuentre
{
$this->Link->Add_Link($result, $ISOUT, $child->Get_Tag(), '', '', $i + 1, '', $padre);
}
}
}//for

Saludos y gracias
  #2 (permalink)  
Antiguo 13/11/2010, 15:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Acerca de mi aplicacion web

Lo más simple en realidad es definir el campo donde almacenas el link como UNIQUE, ya que eso impedirá que se dupliquen, sin importar si la consulta se envía o no.
Lo máximo que te sucedería es que te devuelva un error de clave duplicada, por lo que incluso podrías saber si ya está o no capturando el numero de error de MySQL devuelto por la consulta.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: aplicaciones
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:24.