Hola amigos!
Primero que nada decir que soy ultra novato programando llevo un par de meses aprendiendo y no se si la pregunta será muy básica :P, les cuento tengo un sistema donde se ingresa el nombre, apellido e IP ,este ultimo se selecciona por un combo select obtenido de la base de datos, por medio de un formulario, mi idea es eliminar las IP a medida que se utilicen para así no tener duplicidad. Ojala me puedan orientar. Gracias!
Editado
Primero que nada decir que soy ultra novato programando llevo un par de meses aprendiendo y no se si la pregunta será muy básica :P, les cuento tengo un sistema donde se ingresa el nombre, apellido e IP ,este ultimo se selecciona por un combo select obtenido de la base de datos, por medio de un formulario, mi idea es eliminar las IP a medida que se utilicen para así no tener duplicidad. Ojala me puedan orientar. Gracias!
<?php
include ('conexion.php');
error_reporting(E_ALL ^ E_NOTICE);
$resultado = mysqli_query($conexion, ("SELECT * FROM listado_ip"));
$sql = "INSERT INTO funcionario (nombre, apellido, listado_ip_id)
VALUES('".$_POST['nombre']."','".$_POST['apellido']."','".$_POST['ip']."')";
$resultado2 = mysqli_query($conexion, $sql);
$resu = mysqli_query ($conexion, ("SELECT * FROM funcionario INNER JOIN listado_ip ON funcionario.listado_ip_id = listado_ip.id"));
$disponible = mysqli_query ($conexion, "SELECT * FROM funcionario RIGHT JOIN listado_ip ON funcionario.listado_ip_id = listado_ip.id where funcionario.id is NULL");
?>
<!--CUERPO HTML-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="estilo.css">
<title>Inventario de IP</title>
</head>
<body>
<div class="container col-md-5">
<header>
<br>
<center>
<h1>Asignación de IP</h1>
</center>
</header>
<div class="login-page">
<div class="form">
<form class="login-form"action="index.php" method="post" name="">
<div class="form-group">
<input class="form-control" type="text" name="nombre" placeholder="Nombre:">
</div>
<div class="form-group">
<input class="form-control" type="text" name="apellido" placeholder="Apellido:">
</div>
<div class="form-group">
<select class="form-control" name="ip">
<?php
while($consulta = mysqli_fetch_assoc($resultado))
{
?>
<option value='<?php echo $consulta['id'] ?>' ><?php echo $consulta['ip']?></option>
<?php
}
?>
</select>
</div>
<center>
<button type="submit" class="btn btn-success">Registrar</button>
<a href="http://localhost/pruebas/ipes/busqueda.php" class="btn btn-success">Buscar</a>
</center>
<br>
<div class="container">
<div class="error bg-warning">
<?php
if(isset ($_POST ['nombre'])){
$nombre = $_POST['nombre'];
$apellido = $_POST ['apellido'];
$campos = array();
if($nombre == "") {
array_push($campos, "ERROR: Ingrese Nombre <br>");
}
if($apellido == "") {
array_push($campos, "ERROR: Ingrese Apellido <br>");
}
if(count($campos) > 0){
for($i = 0; $i < count($campos); $i++){
echo$campos[$i];
}
}else{
echo"Datos Correctos";
}
}
?>
</div>
</div>
</form>
</div>
</div>
</div>
<script src="js/jquery-3.3.1.min.js" ></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>Editado
0
Puntos
Puntos
974
Visitas
Visitas
4
Resp
Resp
Por ossama hace 7 años
Novice
Respuesta #1
hola, yo lo haría mucho mas sencillo, crearía otra columna mas en la tabla listado_ip llamada "estado" por ejemplo con valor predeterminado 0 (disponible)
para sacar las ip disponibles tienes que cambiar la consulta de esta manera:
después al insertar el funcionario marcar esa ip como 1 (no disponible), es decir después de esto:
salu2
para sacar las ip disponibles tienes que cambiar la consulta de esta manera:
$resultado = mysqli_query($conexion, ("SELECT * FROM listado_ip WHERE estado=0"));después al insertar el funcionario marcar esa ip como 1 (no disponible), es decir después de esto:
$sql = "INSERT INTO funcionario (nombre, apellido, listado_ip_id)
VALUES('".$_POST['nombre']."','".$_POST['apellido']."','".$_POST['ip']."')";haces algo como esto://ACTUALIZAR REGISTRO $ipusada=$_POST['ip']; $update = mysqli_query($conexion,"UPDATE listado_ip SET estado=1 WHERE ip=$ipusada") or die(mysqli_error());de esta manera para el siguiente filtrado esa ip no estará disponible por estar marcada en 1 (en uso)
salu2
1
Puntos
Puntos
Por alber hace 7 años
Admin
Respuesta #2
sorry cambie el título para ser mas descriptivo :P
0
Puntos
Puntos
Por alber hace 7 años
Admin
Respuesta #3
disculpa, cuando haces el update tienes que pasar el estado=1 (ip usada)
eh actualizado mi primera respuesta que me acabo de dar cuenta que faltó eso
eh actualizado mi primera respuesta que me acabo de dar cuenta que faltó eso
0
Puntos
Puntos
Por alber hace 7 años
Admin
Respuesta #4
Muchas gracias lo intentaré
0
Puntos
Puntos
Por ossama hace 7 años
Novice