Foros del Web » Programando para Internet » PHP »

Cargar archivo php si hago click en sistema de votos

Estas en el tema de Cargar archivo php si hago click en sistema de votos en el foro de PHP en Foros del Web. Buenas a todos. Pongo este hilo aqui por que lo que quiero al final es cargar un fichero php pero si en el fondo pertenece ...
  #1 (permalink)  
Antiguo 05/02/2013, 11:24
 
Fecha de Ingreso: enero-2010
Mensajes: 30
Antigüedad: 14 años, 10 meses
Puntos: 0
Cargar archivo php si hago click en sistema de votos

Buenas a todos.

Pongo este hilo aqui por que lo que quiero al final es cargar un fichero php pero si en el fondo pertenece a otra seccion no tengo inconveniente en cambiarlo.

Tengo una web en la que por cada ficha que genero creo un sistema para que cada usuario pueda votar.

El plugin que he adaptado es este. http://masugadesign.com/software/unobtrusive-ajax-star-rating-bar/

Ya lo tengo puesto y funciona perfectamente, pero hay un problama, una vez hago click en los votos me gustaria que cargara otro fichero php para guardar otros datos de usuario en otra tabla, es decir, quiero que una vez dado click en votos cargue el php db.php del plugin mas uno mio.

Para empezar dire que la etiqueta donde esta los votos es esta.

Código PHP:
<div style="margin-top:-110px;margin-left:600px;max-width:350px;"><?php echo rating_bar($id_real,''); ?></div>
No hacer caso del style y de la variable $id_real, es para saber el id de la ficha.

He pensado varias posibilidades a la hora de cargar el otro fichero php, desde la mas inutil por probar

Código PHP:
<div style="margin-top:-110px;margin-left:600px;max-width:350px;" onclick="<?include('usuario.php');?>"><?php echo rating_bar($id_real,''); ?></div>
Que es la unica que me ha funcionado, pero se ejecuta al cargar la pagina y no cuando pulso en los votos, esto tiene que ser por que javascript no soporta codigo de servidor

A usar una funcion jquery.

Código PHP:
<div style="margin-top:-110px;margin-left:600px;max-width:350px;" id="contenido"><?php echo rating_bar($id_real,''); ?></div>
                <script type="text/javascript">
                    $(document).click(function() {
                        $('#contenido').load('usuario.php', function() {
                            alert('Archivo cargado correctamente');
                        });
                    });
                    </script>
Consigo que al pinchar sobre el div (en sus margenes) o en los votos si me sale el mensaje alert pero no me ejecuta el php (por cierto, la ruta esta a la misma alguna donde esta el archivo php de las fichas).

Mi pregunta es, como puedo hacer para que al ejecutar el voto me cargue ese fichero php??

Se puede saber en php si he hecho click en alguna parte de la pagina (etiqueta) por ejemplo en id="contenido"??

Ah por cierto si quereis saber lo que hace usuario.php es meter el id de la ficha mas el numero de sesion de usuario seguido del tiempo unix.

Código PHP:
<?php
if(!isset($_COOKIE['phpbb3_pznpa_u'])) {
    
$id_usuario="1";
} else {
 
$id_usuario $_COOKIE['phpbb3_pznpa_u'];}
include(
$_SERVER['DOCUMENT_ROOT'].'/conexion.php');



$existeVotoSql "SELECT * FROM ratings_usuarios WHERE id_juego='$id_real';";
$votosUsuarioSql "SELECT * FROM ratings_usuarios WHERE id_juego='$id_real' AND usuarios_votos REGEXP $id_usuario;";
$resultadovotosUsuarioSqlmysql_query($votosUsuarioSql) or die(mysql_error());
$arrayvotosUsuarioSql mysql_fetch_array($resultadovotosUsuarioSql);
$comprobarVotoUsuario mysql_num_rows(mysql_query($votosUsuarioSql));
$comprobarExisteVotoUsuario mysql_num_rows(mysql_query($existeVotoSql));

$contenido $arrayvotosUsuarioSql['usuarios_votos'];
$fecha_votado $id_usuario."-".time().",";


if(
$comprobarExisteVotoUsuario==0){
    
mysql_query("INSERT INTO `ratings_usuarios` ( `id_juego` , `usuarios_votos` ) VALUES ('$id_real', '$id_usuario');");
}

if(
$comprobarExisteVotoUsuario==1){
    if(
$comprobarVotoUsuario==0){
        
mysql_query("UPDATE ratings_usuarios SET usuarios_votos = ',$fecha_votado' WHERE id_juego = $id_real;");
      }
}
?>
Este scritp funciona solo si lo ejecuto directamente o si hago lo de onclick="include php"

Espero que me puedan ayudar muchas gracias, un saludo.
  #2 (permalink)  
Antiguo 05/02/2013, 15:43
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Cargar archivo php si hago click en sistema de votos

No puedes combinar PHP y Javascript de esa forma, porque Javascript se ejecuta en el navegador y, como tú mismo dijiste, no soporta código de servidor.

Entonces, cuando haces lo del onclick="<?php include 'archivo.php'; ?>" el archivo de incluye desde el momento en que se está generando el código de la página en el servidor y, para cuando el navegador lo recibe, ya se ejecutó y actualizó la base de datos.

Puedes intentar:
a) Modificar el código del sistema de votos para que ahí mismo se incluya tu otro php
b) Ejecutar primero tu script y desde ahí incluir y ejecutar el sistema de votos
c) Ejecutar otra llamada AJAX al finalizar la primera, es un poco más complicado
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: mysql, select, sistema, sql, tabla, usuarios, votos
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 12:14.