Foros del Web » Programando para Internet » PHP »

Insert y Update en Mysql con php

Estas en el tema de Insert y Update en Mysql con php en el foro de PHP en Foros del Web. hola nuevamente, tengo un script en php el cual me busca noticias y graba los resultados en un bd, las variables vienen desde una url, ...
  #1 (permalink)  
Antiguo 12/12/2011, 14:07
 
Fecha de Ingreso: junio-2010
Mensajes: 7
Antigüedad: 13 años, 10 meses
Puntos: 1
Insert y Update en Mysql con php

hola nuevamente, tengo un script en php el cual me busca noticias y graba los resultados en un bd, las variables vienen desde una url, el problema con el qeu me encuentro, es uqe los resultados no los actualiza sino que los duplica, he leido cantidad ingente de post de este foro y de otros muchos, y siempre es el mismo resultado (duplicacion de resultados). Miren a ver si me pueden echar una mano.
Desde ¡¡yá!!, gracias.
Código PHP:
Ver original
  1. <?php
  2. include ("conexion/conectar.php");
  3.  
  4. $sql = mysql_query ("SELECT * FROM valora WHERE valor = '".$valor."'");
  5.                             if (mysql_num_rows($sql)>0) {
  6.                                 $sql = mysql_query ("UPDATE valora SET valor = '".$valor."', noticias = '".$noticias."' WHERE valor = '".$valor."'");
  7.                             } else {
  8.                                 $sql = mysql_query ("INSERT INTO valora (valor) VALUES ('".$valor."')");
  9.                                 }
  10.  
  11. include ("conexion/cerrar_conexion.php");
  12. ?>
  #2 (permalink)  
Antiguo 12/12/2011, 14:18
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Insert y Update en Mysql con php

de dónde viene $valor, a lo sumo debes de obtenerlo así:

$valor = $_GET['valor'];
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 12/12/2011, 14:32
 
Fecha de Ingreso: junio-2010
Mensajes: 7
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Insert y Update en Mysql con php

Pongo parte del script:
$valor es parte de la url de busqueda.
Código PHP:
Ver original
  1. <?php
  2. include ("conexion/conectar.php");
  3. $val = file ("valores.txt");
  4.     foreach ($val as $num_lineas => $valor) {
  5.         $valor = str_replace (" ","+",$valor);
  6.             $url=file_get_contents('https://www.google.com/search?q='.$valor.'&biw=1440&bih=758');
  7.                 $doc = new DOMDocument();
  8.                 libxml_use_internal_errors(true);
  9.                 $doc->loadHTML($url);
  10.                 $fci = $doc->getElementById("resultStats");
  11.                 $spans = $fci->getElementsByTagName('div');
  12.                             for ($i = 0; $i < $spans->length; $i++) {
  13.                         $noticias = str_replace(",",".",$spans->item($i)->nodeValue);
  14.                         $valor = str_replace ("+"," ",$valor);
  15.                             echo"<table>";
  16.                             echo"<tr>";
  17.                             echo<td>".$valor."</td<td>".$noticias."</td>";
  18.                             echo"</tr>";
  19.                             echo"</table>";
  20.                            
  21.                             $sql = mysql_query ("SELECT * FROM valora WHERE valor = '".$valor."'");
  22.                             if (mysql_num_rows($sql)>0) {
  23.                                 $sql = mysql_query ("UPDATE valora SET valor = '".$valor."', noticias = '".$noticias."' WHERE valor = '".$valor."'");
  24.                             } else {
  25.                                 $sql = mysql_query ("INSERT INTO valora (valor) VALUES ('".$valor."')");
  26.                                 }
  27.                 }
  28.     }
  29.                            
  30. include ("conexion/cerrar_conexion.php");
  31.  
  32. ?>

espero que asi se vea mejor.

gracias
  #4 (permalink)  
Antiguo 12/12/2011, 14:46
Avatar de afrodriguez70  
Fecha de Ingreso: octubre-2011
Ubicación: Tulua-Colombia
Mensajes: 44
Antigüedad: 12 años, 6 meses
Puntos: 2
Respuesta: Insert y Update en Mysql con php

$valor no tiene un valor....
la estas poniendo por arte de magia, revisa de donde viene y la capturas y pruebas y si no funciona, pasa el mysql_query despues de que lo hagas a un mysql_fetch_array.
__________________
Si el hombre no ha descubierto nada por lo que morir, no es digno de vivir. <<Martin Luther King>>
  #5 (permalink)  
Antiguo 12/12/2011, 15:23
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Insert y Update en Mysql con php

exactamente yo no veo tampoco el valor de $valor

sobretodo aki ay un error

$valor = str_replace (" ","+",$valor);
  #6 (permalink)  
Antiguo 12/12/2011, 16:24
 
Fecha de Ingreso: junio-2010
Mensajes: 7
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Insert y Update en Mysql con php

buenas, y perdonar mi ignorancia en este asunto, pero $valor si que tiene un valor dinamico (creo que se dice asi), [URL="http://www.php.net/manual/es/function.file.php"]file[/URL] devuelve un array y ese lo paso a la url por medio de foreach,
Código:
$valor = str_replace (" ","+",$valor);
, no me causa ningun tipo de error y funciona bien (de momento), el problema viene a partir del Mysql, que no actulaiza la bd sino que duplica los valores.

gracias
  #7 (permalink)  
Antiguo 12/12/2011, 16:30
webankenovi
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Insert y Update en Mysql con php

$sql = mysql_query ("SELECT * FROM valora WHERE valor = '$valor' ");
if (mysql_num_rows($sql)>0) {
$sql = mysql_query ("UPDATE valora SET valor = '$valor' , noticias = '$noticias' WHERE valor = '$valor' ");
} else {
$sql = mysql_query ("INSERT INTO valora (valor) VALUES ('".$valor."')");
}
}
}

Etiquetas: insert, mysql, sql, update, variables
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 02:11.