Foros del Web » Programando para Internet » PHP »

Problema al Comparar Resultados (Mysql y PHP)

Estas en el tema de Problema al Comparar Resultados (Mysql y PHP) en el foro de PHP en Foros del Web. hola amigos, tengo el siguiente codigo Código PHP: //variables de entrada $code  =  $_REQUEST [ 'codigo' ]; $desc  =  $_REQUEST [ 'descripcion' ]; $punit  =  $_REQUEST [ ...
  #1 (permalink)  
Antiguo 08/03/2010, 10:33
 
Fecha de Ingreso: noviembre-2009
Mensajes: 63
Antigüedad: 11 años, 3 meses
Puntos: 7
Problema al Comparar Resultados (Mysql y PHP)

hola amigos, tengo el siguiente codigo

Código PHP:
//variables de entrada
$code $_REQUEST['codigo'];
$desc $_REQUEST['descripcion'];
$punit $_REQUEST['punit'];
$pventa $_REQUEST['pventa'];
$sw 0;

//verifico que el el producto exista
$con mysql_query("SELECT codigo FROM producto"$conexion) or die ("Se produjo el siguiente error: ".mysql_error());
while(
$row mysql_fetch_array($con)){
    if((
$row['codigo']) != $code){
    
$sw 1; }}
if(
$sw == 1){
echo
'No existe el producto';} 
Lo que hago es comparar cada codigo de mi base de datos con el codigo que ingreso, si son diferentes para mandar un error, pero aunque el codigo sea igual o distinto siempre me entra en el ciclo, hay algun error que estoy cometiendo?
Gracias de antemano
  #2 (permalink)  
Antiguo 08/03/2010, 10:38
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 11 años, 4 meses
Puntos: 334
Respuesta: Problema al Comparar Resultados (Mysql y PHP)

mm suponiendo que en la base de datos hay varios datos en la columna "codigo" es obio el error :S?
ya que estas recorriendo varios codigos diferentes ya que no filtras la consulta.. y lo compararas con solo 1 codigo que recives con request!.. entonces obviamente habra uno que no sea igual :P
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 08/03/2010, 10:38
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 11 años
Puntos: 55
Respuesta: Problema al Comparar Resultados (Mysql y PHP)

lo que pasa es que tienes un problema logico, porque el while recorre todos los registros de la tabla en caso de que cualquiera que encunetre sea diferente sw se convertira en 1 y como el if ==1 lo consulta al final siempre le dara que no existe.
  #4 (permalink)  
Antiguo 08/03/2010, 10:40
 
Fecha de Ingreso: noviembre-2009
Mensajes: 63
Antigüedad: 11 años, 3 meses
Puntos: 7
Respuesta: Problema al Comparar Resultados (Mysql y PHP)

Gracias amigos, pero la sintaxis que estoy usando es la correcta no?
  #5 (permalink)  
Antiguo 08/03/2010, 10:44
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 11 años, 4 meses
Puntos: 334
Respuesta: Problema al Comparar Resultados (Mysql y PHP)

solo arregla tu consulta sql agregándole un filtro por primary key para que solo te muestre 1 dato
__________________
More about me...
~ @rhyudek1
~ Github
  #6 (permalink)  
Antiguo 08/03/2010, 10:44
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 11 años
Puntos: 55
Respuesta: Problema al Comparar Resultados (Mysql y PHP)

Cita:
Iniciado por Drhank Ver Mensaje
Gracias amigos, pero la sintaxis que estoy usando es la correcta no?
si pero si quieres saber si el codigo esta en la bd

mejor haces

Código PHP:
$con =mysql_query("select * from producto where codigo ='$cod'",$conexion);

if(
mysql_num_rows($con) > 0){
   echo 
"Existe";
}
else{
   echo 
"No existe";

  #7 (permalink)  
Antiguo 08/03/2010, 10:48
Avatar de principiantedelphp  
Fecha de Ingreso: febrero-2010
Mensajes: 160
Antigüedad: 11 años
Puntos: 1
Respuesta: Problema al Comparar Resultados (Mysql y PHP)

Probá al revés a ver que te da. La columna "codigo" contiene solamente una secuencia de numeros y/o letras, sin espacios ni nada?
Cita:
.....
.....
if(($row['codigo']) == $code){
$sw = 0; }}
else($sw == 1){
  #8 (permalink)  
Antiguo 08/03/2010, 11:01
 
Fecha de Ingreso: noviembre-2009
Mensajes: 63
Antigüedad: 11 años, 3 meses
Puntos: 7
Respuesta: Problema al Comparar Resultados (Mysql y PHP)

Apenas estoy empezando en eso y entonces puse mi codigo como primary key y me funciono de lujo!
Era tambien un problema de logica y quedo asi:


Código PHP:
//verifico que el el producto exista
$con mysql_query("SELECT codigo FROM producto"$conexion) or die ("".mysql_error());
while(
$row mysql_fetch_array($con)){
    if((
$row['codigo']) == $code){
    
$sw 1; }}
        
if (
$sw == 0){
        echo
'Este Producto No Existe!.</b>';}
        
 if (
$sw == 1) {
        
$reg mysql_query("
        UPDATE producto SET 
            descripcion =  '$desc',
            punit = '$punit',
            pventa = '$pventa' 
        WHERE codigo = '$code';"
$conexion) or die ("Surgio el siguiente problema: ".mysql_error());
        echo
'Producto Modificado Correctamente';} 

Muchas gracias por la ayuda muchachos!
  #9 (permalink)  
Antiguo 17/05/2010, 00:32
 
Fecha de Ingreso: mayo-2010
Mensajes: 1
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Problema al Comparar Resultados (Mysql y PHP)

estoy intentando recorrer una columna la cual tiende fer, ecio, txpower ellas tienen color por ejemplo color fer celeste, color ecio, celeste, colorecio celeste mi pregunta es como puedo comparar los valores en caso de que uno sea falso... no se si se entendio

Etiquetas: mysql
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 17:18.