Foros del Web » Programando para Internet » PHP »

Obtener respuesta booleana...

Estas en el tema de Obtener respuesta booleana... en el foro de PHP en Foros del Web. Buenas tardes o lo q sea en su locacion amigos! La pregunta esta... Como hago para obtener una respuesta de true o false a partir ...
  #1 (permalink)  
Antiguo 20/10/2010, 14:33
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 13 años, 10 meses
Puntos: 63
Sonrisa Obtener respuesta booleana...

Buenas tardes o lo q sea en su locacion amigos!

La pregunta esta...

Como hago para obtener una respuesta de true o false a partir de una consulta sql sencilla.. ejemplo:

Código PHP:
Ver original
  1. $sql="Select * From cc_id Where login_user='".$usuario."'";
  2.     $consulta=mysql_query($sql);

Muchas gracias por anticipado!
  #2 (permalink)  
Antiguo 20/10/2010, 14:37
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Obtener respuesta booleana...

Hola
intenta esto
Código PHP:
Ver original
  1. $res_bool = mysql_num_rows($consulta);

obteniendo 0 si no hay datos o mayor a 0 si los hay
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 20/10/2010, 14:54
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 13 años, 10 meses
Puntos: 63
Respuesta: Obtener respuesta booleana...

muchas gracias por responder tan rapido mortiprogramador!

al parecer el problema esta por otro lado... porq no me acepta de ese modo y me faltaba algo...
resulta q estoy haciendo un xml pero no me acepta el mysql_num_rows, me dice: mysql_num_rows(): supplied argument is not a valid MySQL result resource in...

de todos modos dejo el codigo a ver si me puedes ayudar, estoy casi seguro q es un lio de posiciones...

Código PHP:
Ver original
  1. <?php
  2. header('Content-Type: text/xml');
  3. include("../conf/conexion.php");
  4.  
  5.     $usuario = $_GET["usuario"];
  6.  
  7.     $sql="Select * From cc_id Where login_user='".$usuario."'";
  8.     $res_bool = mysql_num_rows($consulta);
  9.    
  10.     if($res_bool!=0){
  11.         $answer="true"; }else{
  12.         $answer="false"; }
  13.    
  14.     $xml = "<?xml version='1.0' standalone='yes'?>";
  15.     $xml = $xml."<existe>";
  16.     $xml = $xml."<exist>".$answer."</exist>";
  17.     $xml = $xml."</existe>";
  18.    
  19.     echo $xml;
  20.    
  21.    
  22. ?>
  #4 (permalink)  
Antiguo 20/10/2010, 15:01
Avatar de bng5  
Fecha de Ingreso: junio-2009
Ubicación: 127.0.0.1
Mensajes: 269
Antigüedad: 14 años, 10 meses
Puntos: 24
Respuesta: Obtener respuesta booleana...

$sql y $consulta NO son la misma variable.
  #5 (permalink)  
Antiguo 20/10/2010, 15:06
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 13 años, 10 meses
Puntos: 63
Respuesta: Obtener respuesta booleana...

bng5, muchas gracias por recordarme que tengo q visitar un oftalmologo... pero aun sigue sin funcionarme.. pongo de nuevo el codigo (modificado)...

Código PHP:
Ver original
  1. <?php
  2. header('Content-Type: text/xml');
  3. include("../conf/conexion.php");
  4.  
  5.     $usuario = $_GET["usuario"];
  6.  
  7.     $sql="Select * From cc_id Where login_user='".$usuario."'";
  8.     $res_bool = mysql_num_rows($sql);
  9.    
  10.     if($res_bool!=0){
  11.         $answer="true";
  12.     }else{
  13.         $answer="false";
  14.     }
  15.    
  16.     $xml = "<?xml version='1.0' standalone='yes'?>";
  17.     $xml = $xml."<existe>";
  18.     $xml = $xml."<exist>".$answer."</exist>";
  19.     $xml = $xml."</existe>";
  20.     echo $xml;
  21.    
  22. ?>

ahh y lo q me dice es q en la interpretacion existe esta vacio y q mysql_num_rows(): supplied argument is not a valid MySQL result resource in.. :S agrego esa porcion tambien por si acaso..

Código Javascript:
Ver original
  1. function procesarRespuesta(){
  2.  
  3.  respuesta = req.responseXML;
  4.  var existe = respuesta.getElementsByTagName('existe').item(0).firstChild.data;
  5.    if (existe=="true"){
  6.     document.getElementById("error").style.visibility = "visible";
  7.    }else{
  8.     document.getElementById("error").style.visibility = "hidden";}
  9. }
  #6 (permalink)  
Antiguo 20/10/2010, 15:09
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: Obtener respuesta booleana...

no tendrias que ejecutar el query primero para poder usar el mysql_num_rows()

es decir algo asi:

Código PHP:
Ver original
  1. $sql="Select * From cc_id Where login_user='".$usuario."'";
  2. $res = mysql_query($sql) or die(mysql_error());
  3. $res_bool = mysql_num_rows($res);

esperto haber ayudado
__________________
--No todos aprendemos de la misma forma, ni a la misma velocidad---
  #7 (permalink)  
Antiguo 20/10/2010, 15:14
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Obtener respuesta booleana...

bueno, pues yo lo haría de este modo

Código PHP:
Ver original
  1. $sql = 'SELECT * FROM tabla';
  2. $consulta = mysql_query($sql);
  3. $res_bol = mysql_num_rows($consulta);

saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #8 (permalink)  
Antiguo 20/10/2010, 15:15
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 13 años, 10 meses
Puntos: 63
Respuesta: Obtener respuesta booleana...

gracias zapt142!

ahora veo porq tenia $consulta y $sql.. al parecer borre la linea y no me habia fijado.. pero sin embargo sigue sin funcionar correctamente.. no me da el error del mysql_num_rows, pero no cambia la respuesta y siempre envia false.. pongo de nuevo el codigo modificado para ver si hay algo...

gracias a todos de nuevo..

Código PHP:
Ver original
  1. <?php
  2. header('Content-Type: text/xml');
  3. include("../conf/conexion.php");
  4.  
  5.     $usuario = $_GET["usuario"];
  6.  
  7.     $sql="Select * From cc_id Where login_user='".$usuario."'";
  8.     $consulta=mysql_query($sql);
  9.     $res_bool = mysql_num_rows($consulta);
  10.    
  11.     if($res_bool!=0){
  12.         $answer="true";
  13.     }else{
  14.         $answer="false";
  15.     }
  16.     $answer="false";
  17.     $xml = "<?xml version='1.0' standalone='yes'?>";
  18.     $xml = $xml."<existe>";
  19.     $xml = $xml."<exist>".$answer."</exist>";
  20.     $xml = $xml."</existe>";
  21.     echo $xml;
  22.    
  23. ?>
  #9 (permalink)  
Antiguo 20/10/2010, 15:18
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Obtener respuesta booleana...

uhm, intaneta hacer esto

Código PHP:
Ver original
  1. echo $sql;

para ver el query recien ejecutado,
y luego copia eso y pegalo en phpmyadmin
y pruebalo
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #10 (permalink)  
Antiguo 20/10/2010, 15:21
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Obtener respuesta booleana...

www.php.net/mysql_query
En la parte de return..
mysql_query en consultas SELECT, SHOW, DESCRIBE, EXPLAIN.. devuelve false en caso de fallar...
Y en INSERT, UPDATE, DELETE, DROP devuelve true o false dependiendo del resultado

entonces basta con esto
Código PHP:
Ver original
  1. $consulta=mysql_query($sql);
  2. if ($consulta != false) {
  3.     // foobar
  4. }

saludos.
__________________
More about me...
~ @rhyudek1
~ Github
  #11 (permalink)  
Antiguo 20/10/2010, 15:24
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 13 años, 10 meses
Puntos: 63
Respuesta: Obtener respuesta booleana...

Hecho... se ejecuta perfectamente y me da la linea q tengo de como resultado... pongo la consulta de todos modos...

Código MySQL:
Ver original
  1. Select * From cc_id Where login_user='pepe'
  #12 (permalink)  
Antiguo 20/10/2010, 15:28
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Obtener respuesta booleana...

Bueno, yo me aseguro más con rows porque si hago un print al mysql_query
obtengo esto

Resource id #4

por ej
pero pues no he probado como tal un boolean con eso,
pero pues no hablan de esto en la documentación,
así que tal vez funcione directamente sin problemas
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #13 (permalink)  
Antiguo 20/10/2010, 15:28
Avatar de bng5  
Fecha de Ingreso: junio-2009
Ubicación: 127.0.0.1
Mensajes: 269
Antigüedad: 14 años, 10 meses
Puntos: 24
Respuesta: Obtener respuesta booleana...

Fijate en la línea 16 del último código que enviaste.
Estás sobrescribiendo $answer asignandole siempre "false". Por eso $answer siempre es "false".
  #14 (permalink)  
Antiguo 20/10/2010, 15:30
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: Obtener respuesta booleana...



bng5 vista de águila jajaj
__________________
--No todos aprendemos de la misma forma, ni a la misma velocidad---
  #15 (permalink)  
Antiguo 20/10/2010, 15:30
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Obtener respuesta booleana...

Cita:
Iniciado por bng5 Ver Mensaje
Fijate en la línea 16 del último código que enviaste.
Estás sobrescribiendo $answer asignandole siempre "false". Por eso $answer siempre es "false".
true, esa visita al oftalmologo haran descuentos en grupos?
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #16 (permalink)  
Antiguo 20/10/2010, 15:31
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 13 años, 10 meses
Puntos: 63
Respuesta: Obtener respuesta booleana...

Excelente Hidek1... ya cambia si es true o false... pero sigue diciendome que la existe esta vacio... dejo el codigo de la interpretacion a ver si hay algo malo...

Código Javascript:
Ver original
  1. function procesarRespuesta(){
  2.  
  3.  respuesta = req.responseXML;
  4.  var existe = respuesta.getElementsByTagName('existe').item(0).firstChild.data;
  5.    if (existe=="true"){
  6.     document.getElementById("error").style.visibility = "visible";
  7.    }else{
  8.     document.getElementById("error").style.visibility = "hidden";}
  9. }

muchas gracias nuevamente por el apoyo!!!
  #17 (permalink)  
Antiguo 20/10/2010, 15:32
Avatar de Heiroon  
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 13 años, 10 meses
Puntos: 63
Respuesta: Obtener respuesta booleana...

Cita:
Iniciado por bng5 Ver Mensaje
Fijate en la línea 16 del último código que enviaste.
Estás sobrescribiendo $answer asignandole siempre "false". Por eso $answer siempre es "false".
si ya lo quite...

mmmm pues me parece q el problema esta por otro lado, asi q voy a abrir otro post en XML amigos muchas gracias a todos por su gran ayuda!

el otro post: http://www.forosdelweb.com/f77/probl...2/#post3604787

Última edición por Heiroon; 20/10/2010 a las 15:54

Etiquetas: respuesta
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 08:16.