Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Comprobar registro en la base de datos

Estas en el tema de Comprobar registro en la base de datos en el foro de PHP en Foros del Web. Hola buenas, Tengo un problema que no consigo soluocionar por muchas vueltas que le de, lo malo es que a penas se algo de php ...
  #1 (permalink)  
Antiguo 19/10/2014, 03:08
 
Fecha de Ingreso: agosto-2013
Mensajes: 27
Antigüedad: 11 años, 3 meses
Puntos: 0
Pregunta Comprobar registro en la base de datos

Hola buenas,

Tengo un problema que no consigo soluocionar por muchas vueltas que le de, lo malo es que a penas se algo de php y nose donde puede estar el fallo.

El codigo es este
Código PHP:
   <?php
 $valormoneda 
mysql_query("SELECT users FROM monedatwitter WHERE id='".$data['id']."'");
            if(
$valormoneda == 0){
                
?>   
  muestra un boton
<? 
   $moneda 
mysql_query("UPDATE users SET monedatwitter=monedatwitter+1 WHERE id='".$data['id']."'");
   
$aumentar mysql_query("UPDATE users SET coins=coins+50 WHERE id='".$data['id']."'");
            }else{
                echo 
"intentalo otro dia";
       
            }
               
    
?>
Lo que quiero conseguir que se muestre el boton solo cuando en el registro monedatwitter haya un 0, si hay un numero superior que no se muestre el boton.

Pero ya haya un 0 o un 1000 en el registro, que sigue mostrando el boton...

Haber si algun experto ve el fallo. Saludos y mil gracias
  #2 (permalink)  
Antiguo 19/10/2014, 10:53
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 8 meses
Puntos: 36
Respuesta: Comprobar registro en la base de datos

Cita:
Iniciado por Drop4 Ver Mensaje
Hola buenas,

Tengo un problema que no consigo soluocionar por muchas vueltas que le de, lo malo es que a penas se algo de php y nose donde puede estar el fallo.

El codigo es este
Código PHP:
   <?php
 $valormoneda 
mysql_query("SELECT users FROM monedatwitter WHERE id='".$data['id']."'");
            if(
$valormoneda == 0){
                
?>   
  muestra un boton
<? 
   $moneda 
mysql_query("UPDATE users SET monedatwitter=monedatwitter+1 WHERE id='".$data['id']."'");
   
$aumentar mysql_query("UPDATE users SET coins=coins+50 WHERE id='".$data['id']."'");
            }else{
                echo 
"intentalo otro dia";
       
            }
               
    
?>
Lo que quiero conseguir que se muestre el boton solo cuando en el registro monedatwitter haya un 0, si hay un numero superior que no se muestre el boton.

Pero ya haya un 0 o un 1000 en el registro, que sigue mostrando el boton...

Haber si algun experto ve el fallo. Saludos y mil gracias
tu tienes esto

Código PHP:
Ver original
  1. if($valormoneda == 0)

cambialo por

Código PHP:
Ver original
  1. if($valormoneda == "0")

me dices si te funciona.

y es que no entiendo el $data['id']; puede repetirse mil veces y puede tener cualquier numero de 0 para arriba , pero el boton debe aparecer unicamente al tener valor 0 no importando si son mil lo que tienen este valor?

prueba asi , si no pues le hechamos vueltas a esto. ok

espero te sirva y es que estoy casi seguro que eso te ayudara.-
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..

Última edición por herzbazi; 19/10/2014 a las 10:58 Razón: responder
  #3 (permalink)  
Antiguo 19/10/2014, 12:46
 
Fecha de Ingreso: agosto-2013
Mensajes: 27
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Comprobar registro en la base de datos

Cita:
Iniciado por herzbazi Ver Mensaje
tu tienes esto

Código PHP:
Ver original
  1. if($valormoneda == 0)

cambialo por

Código PHP:
Ver original
  1. if($valormoneda == "0")

me dices si te funciona.

y es que no entiendo el $data['id']; puede repetirse mil veces y puede tener cualquier numero de 0 para arriba , pero el boton debe aparecer unicamente al tener valor 0 no importando si son mil lo que tienen este valor?

prueba asi , si no pues le hechamos vueltas a esto. ok

espero te sirva y es que estoy casi seguro que eso te ayudara.-
Muy buenas @herzbazi,

En primer lugar muchisimas gracias por contestar y ayudar.
He probado poniendo las 2 comillas y sigue si hacer la condicion..
El $data['id']; representa el id_usuario que tiene abierta la sesion en ese momento, para actualizar su registro en monedatwitter.

Los pasos que quiero:

1. Usuario hace click en un link
2. Redirecciono a pagina donde compruebo con $valormoneda si monedatwitter tiene valor 0
3. Si $valormoneda = 0 , entonces sumar 1 en monedatwitter
4. Si $valormoneda > 0 , entonces "intentalo otro dia"

El problema es que aunque $valormoneda sea = 1,2,3 o el que sea, sigue sumando 1 en monedatwitter, cosa que no quiero que haga y que si salte el mensaje.

Saludos y siento si no me estoy explicando bien.
Gracias de nuevo.
  #4 (permalink)  
Antiguo 19/10/2014, 13:07
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 8 meses
Puntos: 36
Respuesta: Comprobar registro en la base de datos

si quieres te ayudo pero dime como podemos tener una comuniccion mas rapida y pues con gusto te ayudo
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #5 (permalink)  
Antiguo 19/10/2014, 13:13
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 8 meses
Puntos: 36
Respuesta: Comprobar registro en la base de datos

y es que entiendo lo siguiente :

seleccionas a los users de la tabla monedatwitter donde el id = al id del logueo

si el contenido de esta consulta es = 0 entonces muestra un boton

es correcto?

por que de ser asi debemos de contar los registro que trae la consulta con un

$numRegistros = mysql_num_rows ($valormoneda );

para luego hacer la condicional if
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #6 (permalink)  
Antiguo 19/10/2014, 13:18
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Comprobar registro en la base de datos

Al conjunto de resultados provenientes de la consulta, debes de recuperarlos en un array asociativo, para lo cual existen diversas funciones. Una de ellas es mysql_fetch_array. Pero antes, debes de comprobar que la consulta haya devuelto registros, para lo cual puedes usar la función mysql_num_rows.

Código PHP:
Ver original
  1. <?php
  2. $query = mysql_query("SELECT users FROM monedatwitter WHERE id = {$data['id']}");
  3. if(mysql_num_rows($query)){
  4.     $row = mysql_fetch_array($query);
  5.     if ($row['users'] == 0){
  6. ?>
  7.         <button>El botón</button>
  8. <?php
  9.     }
  10.     $moneda = mysql_query("UPDATE users SET monedatwitter=monedatwitter+1 WHERE id = {$data['id']}");
  11.     $aumentar = mysql_query("UPDATE users SET coins=coins+50 WHERE id = {$data['id']}");
  12.     else{
  13.         echo "Inténtalo otro día";
  14.     }
  15. }

Ahora bien, en el código que muestras, 'monedatwitter' es el nombre de una tabla de la BD, pero luego dices esto:

Cita:
Iniciado por Drop4 Ver Mensaje
Lo que quiero conseguir que se muestre el boton solo cuando en el registro monedatwitter haya un 0...
Si 'monedatwitter' representa a una tabla, no puedes referirte a ella como un registro, son dos cosas completamente distintas, por eso es que tomé a 'users' como el campo a evaluar. Sin embargo, si lo que deseas es mostrar el botón en caso de que la primera consulta NO devuelva resultados, la figura cambia un poquito.

Código PHP:
Ver original
  1. <?php
  2. $query = mysql_query("SELECT users FROM monedatwitter WHERE id = {$data['id']}");
  3. if(!mysql_num_rows($query)){
  4. ?>
  5.     <button>El botón</button>
  6. <?php
  7.     $moneda = mysql_query("UPDATE users SET monedatwitter=monedatwitter+1 WHERE id = {$data['id']}");
  8.     $aumentar = mysql_query("UPDATE users SET coins=coins+50 WHERE id = {$data['id']}");
  9. }
  10. else{
  11.     echo "Inténtalo otro día";
  12. }

Ya no es necesario recuperar el conjunto de resultados de la primera consulta en un array asociativo, basta con saber si la consulta devolvió o no resultados.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 19/10/2014, 13:24
Avatar de herzbazi  
Fecha de Ingreso: febrero-2012
Mensajes: 612
Antigüedad: 12 años, 8 meses
Puntos: 36
Respuesta: Comprobar registro en la base de datos

Alexis88 te sume por tu respuesta completa.
__________________
Enseña todo lo que sepas...
Aprende todo lo que puedas..
  #8 (permalink)  
Antiguo 20/10/2014, 01:04
 
Fecha de Ingreso: agosto-2013
Mensajes: 27
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Comprobar registro en la base de datos

Muchisimas gracias @Alexis88, era eso precisamente lo que necesitaba, me ha funcionado con el primer codigo que has puesto, y ya de paso me has aclarado alguna duda, muchisimas gracias de verdad!!

Gracias a ti y a @herbazi que nos ayudais y dedicais vuestro tiempo a los que estamos empezando y eso se agradece muchisimo!

Saludos.

Etiquetas: bd, registro
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 22:20.