$aux = $giro; $Rsngiro1 = mysql_query("select ngiro from giros",$link);
}while(mysql_fetch_array($Rsngiro1)!=$aux);
Ahora veo ..
No puedes pretender hacer eso!!!!!!!!!!!!!!!!!!!!!!!!!!
TU tienes que hacer una consulta SQL a tu BD para ver si ese "$giro" ya está en tu BD .. pero no de esa forma (eso realemnte no significa nada .. no es corecto).
Puedes usar SQL para contar el n° de registros que arroje una consulta SQL condicional ..
Como necesitas "generar" un nuevo "código" de giro si existe (supongo que esa era la finalidad?) .. uso una función para definir ese proceso y lo llamo de forma "recursiva" por el bucle while() si es que se alguno de los "$giro" generado se repite.
Código PHP:
function verifica_giro_existe($giro){
global $link;
$Rsngiro1 = mysql_query("select COUNT(*) from giros WHERE ngiro='".$giro."'",$link);
$exite_giro=mysql_result($Rsngiro1,0);
if ($exite_giro == 1){ // suponemos que ngiro es único?
return true;
} else {
return false;
}
}
While (verifica_giro_existe($giro)){
$giro=genera_password(4,"numerico");
}
// resto de tu script ....actula usando $giro directamente donde lo requieras para tus consultas SQL.
A todo esto .. ese $giro .. lo propagas a otro script (giros_encomiendas.php) por un campo oculto: <input type="hidden" name="giro" value="<? echo $giro;?>">
Realmente .. eso no deberías hacerlo así .. propaga ese dato en una variable de sesión (mas seguro . .imagina si "altero" ese valor a mano? .. que se puede).
Un saludo,
PD: (pruebalo . no he tenido oportunidad de probarlo pero por ahí va la cosa)