Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/02/2011, 10:36
Krlinhos_
 
Fecha de Ingreso: octubre-2010
Mensajes: 103
Antigüedad: 13 años, 6 meses
Puntos: 0
Buscar coincidencia en campo clave.

Hola, tengo hecha esta función para buscar en una tabla si el valor introducido en un input existe ya en la tabla. (no debe existir porque es el campo clave, y no puede haber 2 valores iguales.)

Código PHP:

<?php

$w_clase 
$_POST["w_clase"];
$w_valor $_POST["w_valor"];
$w_campo $_POST["w_campo"];

echo 
$w_clase.",".$w_valor.",".$w_campo;

$encontrado 0;

include_once(
"../clases/dbmanager.php");

$conex = new dbmanager;
            
if(
$conex->conectar()==true){
    
$consulta "select "$w_campo." from " $w_clase;
    
$resultado mysql_query($consulta);
    if(!
$resultado)
        die(
"Invalid query: " mysql_error());
    else
        while(
$row=mysql_fetch_array($resultado)){
              if(
$row[0]==$w_valor){
                    
$encontrado 1;
              }
        }
}

echo 
$encontrado;
?>
Esta función va correctamente, pero recorre todos los registros de la tabla, aunque haya encontrado una coincidencia en la primera iteración.
Entonces si en el while añado otra condición
Código PHP:
while($row=mysql_fetch_array($resultado)&& $encontrado != 0
Para que si ha encontrado una coincidencia, parase. La función falla.

He repasado, pero la verdad es que no veo el fallo.

Alguien ve el porque?

Un saludo, gracias.