Foros del Web » Programando para Internet » PHP »

insert php

Estas en el tema de insert php en el foro de PHP en Foros del Web. Hola. tengo este codigo de un contador simple con php. Código PHP: <?  $bdhost  =  "localhost" ;  $bdusername  =  "asdfg" ;  $bdpassword  =  "asdfg" ;  ...
  #1 (permalink)  
Antiguo 25/09/2010, 21:46
 
Fecha de Ingreso: noviembre-2009
Mensajes: 64
Antigüedad: 15 años
Puntos: 1
insert php

Hola.

tengo este codigo de un contador simple con php.

Código PHP:
<? 
$bdhost 
"localhost"
$bdusername "asdfg"
$bdpassword "asdfg"
$bdname "asdfg"
$con mysql_connect($bdhost$bdusername$bdpassword); 
mysql_select_db($bdname$con);
$ip $REMOTE_ADDR

$sql "INSERT INTO articulos ( post_lecturas)"
$sql.= "VALUES ('post_lecturas+1')"
$es mysql_query($sql$con) or die("Error al grabar un mensaje: ".mysql_error); 


?>

me explico, tengo 100 posts en la tabla articulos y quiero que cada que visiten cada uno de los 100 distintos articulos se agregue una visita en el campo post_lecturas . cada post tiene un id. $id

entonces la pregunta específica es como hago para que en un post con una id especifica se agregue una visita cada vez que el artículo es leido.

algo asi como

Código PHP:
$sql "INSERT INTO articulos ( id, post_lecturas)"
$sql.= "VALUES ('id,', 'post_lecturas+1')"
$es mysql_query($sql$con) or die("Error al grabar un mensaje: ".mysql_error); 
pero esto que acabo de poner no funciona, porque lo que hace es agregar un nuevo post, y no una nueva visita.

por favor

saludos

gracias
  #2 (permalink)  
Antiguo 25/09/2010, 21:49
Avatar de silvanha  
Fecha de Ingreso: marzo-2006
Ubicación: En mi mundo de sueños
Mensajes: 653
Antigüedad: 18 años, 8 meses
Puntos: 65
Respuesta: insert php

hola!

Porque no checas si este hilo, tiene la respuesta que buscas...

saludos! ^^
__________________
●•· No hay nada imposible..
●•· Vico-X.. ;)
  #3 (permalink)  
Antiguo 25/09/2010, 22:15
 
Fecha de Ingreso: febrero-2009
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 9
Respuesta: insert php

No es con insert, si lo que tenes que hacer es sumar 1, hacelo con UPDATE.
Código PHP:
Ver original
  1. $query="update nombretabla set post_lecturas=post_lecturas+1 where id='$id_articulo'";
  #4 (permalink)  
Antiguo 28/09/2010, 09:04
 
Fecha de Ingreso: noviembre-2009
Mensajes: 64
Antigüedad: 15 años
Puntos: 1
Pregunta Respuesta: insert php

Gracias por las respuestas. Ya había tratado con update, pero no funciona... simplemente no aumenta el valor

he construido dos funciones. una que lee las lecturas y otra que cuenta las lecturas. aunque no se si ambas podrían ir en la misma función.

Código PHP:
function lecturas () { 
   global 
$tableposts,$id
   
$sql mysql_query("SELECT post_lecturas FROM $tableposts WHERE id = '$id'"); 
   
$lecturas mysql_fetch_array($sql); 
   echo 
"$lecturas[0]"
}

function 
contador () { 
    global 
$tableposts$id;
    
$sql mysql_query("Update $tableposts Set post_lecturas = post_lecturas+1 where id='$id'");
    
$contador mysql_fetch_array($sql);
    echo 
"$contador[0]";


Para saber el número de lecturas llamo la función haciendo un
Código PHP:
<?php lecturas(); ?>
. Funciona.



pero tengo duda como llamo la función del contador, para que cada vez que es visitado el articulo, se active y aumente el valor.

sería con un <?php contador();?>

o con un include donde pongo la función contador??

gracias
  #5 (permalink)  
Antiguo 28/09/2010, 09:27
 
Fecha de Ingreso: julio-2008
Mensajes: 208
Antigüedad: 16 años, 4 meses
Puntos: 5
Respuesta: insert php

Yo diria que invoques la funcion contador() al inicio del archivo que tiene el articulo...es lo mas logico...asi cada vez que alguien ve el articulo (o refresca la pagina con F5) se incrementa el numro de visitas.

Saludos.
  #6 (permalink)  
Antiguo 28/09/2010, 10:26
Avatar de dayanirojas  
Fecha de Ingreso: septiembre-2010
Mensajes: 31
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: insert php

hola estoy un poco perdida soy nueva en el foro y queria saber si me pueden ayudar es que tengo un problema
tengo un script que me genera campos dinamicos en php pero no logro guardarlos en una base de datos

si alguine me puede ayudarr graciass[
HIGHLIGHT="PHP"][/HIGHLIGHT]
  #7 (permalink)  
Antiguo 28/09/2010, 10:31
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 14 años, 5 meses
Puntos: 36
Respuesta: insert php

que eso no debes de hacer un tema nuevo corazon?
  #8 (permalink)  
Antiguo 28/09/2010, 13:52
 
Fecha de Ingreso: noviembre-2009
Mensajes: 64
Antigüedad: 15 años
Puntos: 1
Respuesta: insert php

pues, pasa que llamo la función desde la plantilla del articulo

Código PHP:
<?php contador(); ?>
pero salta un error:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource


vuelvo a poner la función que he escrito antes. la cual no estoy seguro que sea correcta porque apenas me inicio en esto de las funciones php mysql.

Código PHP:
  function contador () { 
    global 
$tableposts$id;
    
$sql mysql_query("Update $tableposts Set post_lecturas = post_lecturas+1 where id='$id'");
    
$contador mysql_fetch_array($sql);
    echo 
"$contador[0]";

________

he probado con esta otra funcion, no arroja error, pero no funciona. creo que está incompleta.

Código PHP:
function contador () { 
    global 
$tableposts$id;
    
$query "Update $tableposts Set post_lecturas = post_lecturas+1 where id='$id'";
    
$query mysql_query($query);
    

alguna idea??

gracias.
  #9 (permalink)  
Antiguo 28/09/2010, 17:23
 
Fecha de Ingreso: julio-2008
Mensajes: 208
Antigüedad: 16 años, 4 meses
Puntos: 5
Respuesta: insert php

Código:
function contador () { 
    global $tableposts, $id;
    $result = mysql_query("UPDATE $tableposts SET post_lecturas = post_lecturas+1 where id= '$id' ");//ESTO SUPONE id es un campo char si es int saca las comillas simples
    
    if (!$result){
         //Ocurrio un error
        return -1;
    }else{
        //Si no ocurrio error ya aprovecho y consulto el total actual
        $actualizar = mysql_query("SELECT post_lecturas FROM $tablepost WHERE id= '$id' ");
        $resultado = mysql_fetch_array  ( $actualizar);
        if ($resultado == false)
            return -1;
        return $resultado[0];
   }

}
Esta funcion actualiza y devuelve la cantidad de lecutras y en caso de que ocurra un error devuelve -1.

Saludos.
  #10 (permalink)  
Antiguo 29/09/2010, 09:16
 
Fecha de Ingreso: noviembre-2009
Mensajes: 64
Antigüedad: 15 años
Puntos: 1
Respuesta: insert php

Hey, gracias!! el codigo funciona, aunque te has equivocado en la última linea, se imprime con echo, y no con return. De todos modos, muchas gracias, tenía un tiempo sin poder hacer que este script funcionara. gracias de nuevo.

Código PHP:
function contador () { 
    global 
$tableposts$id;
    
$result mysql_query("UPDATE $tableposts SET post_lecturas = post_lecturas+1 where id= 

$id "
);
    
//ESTO SUPONE id es un campo char si es int saca las comillas simples
    
    
if (!$result){
         
//Ocurrio un error
        
return -1;
    }else{
        
//Si no ocurrio error ya aprovecho y consulto el total actual
        
$actualizar mysql_query("SELECT post_lecturas FROM $tableposts WHERE id= '$id' 

"
);
        
$resultado mysql_fetch_array  $actualizar);
        if (
$resultado == false)
            return -
1;
        echo 
"$resultado[0]";
   }


Además, he aprendido un poco más de como hacer funciones php...

saludos

Etiquetas: insert
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 21:16.