Foros del Web » Programando para Internet » PHP »

Sobre validar RUT de base de datos...

Estas en el tema de Sobre validar RUT de base de datos... en el foro de PHP en Foros del Web. Bueno lo unico que quiero ahora, es que al momento de ingresar en el formulario el RUT, me aparesca "Ese RUT no se encuentra en ...
  #1 (permalink)  
Antiguo 30/01/2004, 17:46
 
Fecha de Ingreso: diciembre-2003
Mensajes: 34
Antigüedad: 14 años
Puntos: 0
Sobre validar RUT de base de datos...

Bueno lo unico que quiero ahora, es que al momento de ingresar en el formulario el RUT, me aparesca "Ese RUT no se encuentra en nuestra base de datos", de lo contrario no deberia aparecer ese mensajes sino que la información.

Bueno en resumen, quiero que salga ese mensaje en caso de no encontrar en la base de datos ese rut. Gracias!.

Este es el archivo 1.php
<form action="2.php" method="post">
<input type="text" name="rut" />
<input type="submit" value=" ver datos " />
</form>


Este es el archivo 2.php
<?
$dbhost="localhost";
$dbusuario="...";
$dbpassword="...";
$db="...";

mysql_connect($dbhost,$dbusuario,$dbpassword); //conectamos a la BD
mysql_select_db($db);

//Ahora haces la consulta sql a la BD.
$sql = "SELECT * FROM alumnos WHERE rut='{$_POST['rut']}'";
$result = mysql_query($sql);//Realizas la consulta
$row = mysql_fetch_assoc($result);//"Lees" la fila de resultado

//A partir de aquí tienes disponibles todas los datos del usuario.
//Sólo necesitas utilizar el array que has definido $row.

//Por ejemplo, si quisieras mostrarlas así no más pones algo asi:
echo $row['nombre1'];
echo $row['nombre2'];
echo $row['apellido1'];
echo $row['apellido2'];
echo $row['notas'];
echo $row['inasistencias'];
echo $row['rut']
?>
  #2 (permalink)  
Antiguo 30/01/2004, 18:02
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
asi esta bien, solo que no creo que tengas almacenado el rut asi:
{1515151-2} en el campo rut, por tanto la consulta seria asi:

$sql = "SELECT * FROM alumnos WHERE rut='".$_POST['rut']."'";

puse comillas simples, por si no se ven:

rut=(comilla simple)".$_POST['rut']."(comilla simple)";
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
  #3 (permalink)  
Antiguo 30/01/2004, 18:59
 
Fecha de Ingreso: diciembre-2003
Mensajes: 34
Antigüedad: 14 años
Puntos: 0
Claro si se, pero yo pregunto el como hago un mensaje de error q diga "El RUT no se encuentra en la bd" en caso que no este en la base de datos. Grax!
  #4 (permalink)  
Antiguo 31/01/2004, 16:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usando mysql_num_rows() .. así puedes ver el total de registros que te ha arrojado tu consulta .. si es > 0 ya sabes que existe .. sino . .no existe en tu BD bajo la consulta que has hecho.

Y .. más optimo (depende el caso) sería contar ese total de registros que cumplan la coincidencia (WHERE ....) de tu consulta desde SQL directo:

SELECT COUNT(*) FROM tabla WHERE campo='condicion'

Eso te arroja un sólo registro con el total de coincidencias .. (lo puedes leer con mysql_result() ..). Si bien esta consulta es más rápida para obtener el "existe o no existe" .. si a su vez necesitas obtener esos datos de ese(os) registro(s) igualmente vas a tener que hacer tu SELECT .. común y tu mysql_fecth_ ...)


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 01/02/2004, 00:41
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Cita:
Mensaje Original por claudiovega
...solo que no creo que tengas almacenado el rut asi:
{1515151-2} en el campo rut, por tanto...
claudiovega:
Las llaves "{}" se utilizan dentro de una cadena para que el parser de php pueda interpretar lo que hay dentro como una variable. Cuando las variables son "simples".. no hay problema, pero cuando se trata de arrays, obtendrás un error:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'...etc, etc

Código PHP:
//Si tú pones:
echo "el valor de la variable es $variable";//Esto funciona

echo "el valor de la variable es $variable['clave']";//Esto da el error que te menciono

//
//Lo anterior se soluciona de dos formas:
echo "el valor de la variable es {$variable['clave']}";

echo 
"el valor de la variable es ".$variable['clave'];


//Por eso poner:
"...WHERE rut='{$_POST['rut']}'";
//Dará exactamente lo mismo que tú propones:
"...WHERE rut='".$_POST['rut']."'"
Saludos
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 11:19.