Si haces la consulta correcta, a nivel de SQL, el código PHP se te simplificará:
Código SQL:
Ver originalSELECT COUNT(per_documento) docs
FROM personas
WHERE per_documento = valorbuscado
Eso devolvería uno (1) o cero (0) dependiendo si encuentra o no el documento.
Ergo, el código se simplifica:
Código PHP:
Ver original<?php
$nombre= $_POST["txtnombre"];
$apellido= $_POST["txtapellido"];
$doc= $_POST["txtdocumento"];
$cat= $_POST["sltcategoria"];
$qry = "SELECT COUNT(per_documento) docs FROM personas WHERE per_documento = $doc";
if($consultaD)
{
if($rowD["docs"] > 0)
{
echo "Ya existe una persona con ese número de DNI: <b>$doc</b><br>";
echo "Haga <a href=usuarios.php>click</a> para volver a intentarlo";
break;
}
}
else
{
$qry = "INSERT INTO personas (per_nombre, per_apellido, per_documento, cat_codigo) ");
$qry .= "VALUES ('$nombre', '$apellido', '$doc', '$cat')"
}
echo "<br>";
?>
Tip 1: Usa variables para cargar las sentencias. Resulta mucho más simple modificar una variable, que buscar el bloque completo donde está el error. Además, mantiene más limpio el código PHP. Lo hace más legible.
Tip 2: Trata de armas las consultas de SQL en varios renglones, de modo que resulten más simples de leer.
Tip 3: Escribe los códigos de forma estructurada. Facilita la lectura.
Tip 4: Usa las etiquetas (Highlights) que provee el bloque de escritura para hacer que en el Foro el código se vea mejor.