Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/11/2011, 14:18
ireneisern
 
Fecha de Ingreso: noviembre-2011
Mensajes: 2
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta Insertar registros de un array comprobando que no existan

Hola, alguien puede ayudarme?
Tengo un formulario que me muestra el campo de la BD "doc" y selecciono varios a través de checkbox para poder asignarles permiso a un usuario (los usuarios los muestro en un desplegable) y todo ello grabarlo en la BD. Todo funciona bien pero ahora quiero comprobar que esos "doc" con ese usuario elegido no existen en la BD. Si existen, muestro un mensaje y si no, hago un INSERT por cada doc seleccionado. El problema es que siempre me inserta registros, aún cuando ya existen. Os pongo el código: (creo que el primer for donde recorro el array es donde está el fallo... )
<?PHP
require_once("conexion.php");
$usuario=$_POST["usuario"];
$archivo=$_POST["archivo"];
$url=$_POST["url"];
$carpeta=$_POST["carpeta"];


for($i = 0; $i < count($archivo); $i++){
$sql="SELECT * FROM archivos WHERE usuario='.$usuario.' AND doc='.$archivo[$i]'";
$consulta = mysql_query($sql,$conexion) or die(mysql_error());
echo $archivo[$i];

if (mysql_num_rows($consulta)>0){
echo "<font class='texto'><br>DATOS NO GUARDADOS. SE HA PRODUCIDO EL SIGUIENTE ERROR: <br></font>";
echo "<font class='normal'>El usuario <font class='texto'>".$usuario."</font> ya tiene permiso para descargar el archivo: <font class='texto'>".$archivo[$i]."</font><br></font>";
}
else{
$sql2 = "INSERT INTO archivos (usuario,doc,url) VALUES ('$usuario','$archivo[$i]','descargas/$carpeta/$archivo[$i]')";
if($consulta2 = mysql_query($sql2,$conexion)){
echo "<font class='normal'>Archivo <font class='texto'>".$archivo[$i]. "</font> asignado a <font class='texto'> ".$usuario."</font><br>";
}else{
echo "<font class='normal'>Error al asignar permiso.</font>";
}
}

}

mysql_close($conexion);

?>