I'm trying to pass a value from a button to an editing modal, the development I'm doing in php and mysqli the outputs are giving me a perfect way and the idea is not to leave the same page. to make modifications of the users, but I have found that it always allows me to edit the last user entered and not the one selected in the edit button.
I leave the complete function:
// LISTAR USUARIOS
function lista_usuarios(){
global $db, $username, $usua, $mes, $limit_end;
/* variables */
$order="id DESC";
$url = basename($_SERVER ["PHP_SELF"]);
if (isset($_GET['pos']))
$ini=$_GET['pos'];
else
$ini=1;
$init = ($ini-1) * $limit_end;
/* querys */
$count="SELECT COUNT(*) FROM users";
$user_tipo = 'user';
$query = " SELECT * FROM users
WHERE user_type = '$user_tipo'
ORDER BY id
DESC LIMIT $init, $limit_end";
$result = mysqli_query($db, $query);
$row = mysqli_num_rows($result);
if (!$row){
// $_SESSION['success'] = 'No hay datos que Mostrar del usuario ' .$_SESSION['user']['username'] . $mes;
$mensaje = 'No hay datos que Mostrar';
echo '<div class="alert alert-danger" role="alert" >';
echo '<h3>';
echo $mensaje;
echo '</h3>';
echo '</div>';
} else
{
//$mysql = new mysqli(HOST, USER, PASSWD, DB);
$num = $db->query($count);
$x = $num->fetch_array();
$total = ceil($x[0]/$limit_end);
<!-- Button trigger modal -->
<a class="btn btn-outline-primary btn-sm" data-toggle="modal" data-target="#exampleModal" href="usuarios.php?id='.$rowid.'">
Editar
</a>
echo '<div class="table-responsive">';
echo '<table id="tabla1" class="table table-bordered table-hover small stacktable">
<thead>
<tr>
<th>ID</th>
<th>Id de Usuario</th>
<th>Nombre</th>
<th>Email</th>
<th>Condicion</th>
<th>Accion</th>
</tr>
</thead>
<tbody>';
$c = $db->query($query);
while($row = $c->fetch_array(MYSQLI_ASSOC))
{
$date = date_create($row['fecha_ingreso']);
$fecha = date_format($date, 'd-m-Y');
if ($row['status']==1)
{
$stdp = 'ACTIVO <i class="fa fa-thumbs-up"></i> <a href="#" rel="noopener noreferrer"> Desactivar</a>';
} else {
$stdp = 'BLOQUEADO <i class="fa fa-thumbs-down"></i><a href="#" rel="noopener noreferrer"> Activar</a>';
}
$rowid = $row['id'];
$idusuario = $row['idusuario'];
$nombre_usuario = $row['nombre'];
$email_usuario = $row['email'];
$telefono_usuario = $row['tlf'];
$celular_usuario = $row['cel'];
$direccion_usuario = $row['direccion'];
$ciudad_usuario = $row['ciudad'];
$estado_usuario = $row['estado'];
$municipio_usuario = $row['municipio'];
$parroquia_usuario = $row['parroquia'];
//$password_usuario = $row['password'];
$status_usuario = $row['status'];
$acciones_usuario = '
<!-- Button trigger modal -->
<a class="btn btn-outline-primary btn-sm" data-toggle="modal" data-target="#exampleModal" href="usuarios.php?id='.$rowid.'">
Editar
</a>
<!-- Modal Boton Editar -->
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Editar Usuario</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">';
$acciones_usuario .= ' <form autocomplete="off" class="was-validated" method="post" action= "usuarios.php">';
$acciones_usuario .= 'Identificador: ' .$rowid;
$acciones_usuario .= '<div class="form-group">
<label for="idusuario">Id del Usuario</label>
<input type="text" class="form-control" id="idusuario" aria-describedby="idusuario" placeholder="Ingrese el idusuario" name="idusuario" value="';
$acciones_usuario .= $idusuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar el numero de ID del Usuario.</div>
</div>
<div class="form-group">
<label for="nombre_usuario">Nombre del Usuario</label>
<input type="text" class="form-control" id="nombre_usuario" aria-describedby="nombre_usuario" placeholder="Ingrese el Nombre del Usuario" name="nombre_usuario" value="';
$acciones_usuario .= $nombre_usuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar el numero de ID del Usuario.</div>
</div>
<div class="form-group">
<label for="email_usuario">Email del Usuario</label>
<input type="text" class="form-control" id="email_usuario" aria-describedby="email_usuario" placeholder="Ingrese el Email del Usuario" name="email_usuario" value="';
$acciones_usuario .= $email_usuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar el Email del Usuario.</div>
</div>
<div class="form-group">
<label for="telefono_usuario">Telefono del Usuario</label>
<input type="text" class="form-control" id="telefono_usuario" aria-describedby="telefono_usuario" placeholder="Ingrese el Telefono del Usuario" name="telefono_usuario" value="';
$acciones_usuario .= $telefono_usuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar el Telefono del Usuario.</div>
</div>
<div class="form-group">
<label for="celular_usuario">Celular del Usuario</label>
<input type="text" class="form-control" id="celular_usuario" aria-describedby="celular_usuario" placeholder="Ingrese el Celular del Usuario" name="celular_usuario" value="';
$acciones_usuario .= $celular_usuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar el Celular del Usuario.</div>
</div>
<div class="form-group">
<label for="direccion_usuario">Direccion del Usuario</label>
<input type="text" class="form-control" id="direccion_usuario" aria-describedby="direccion_usuario" placeholder="Ingrese la Direccion" name="direccion_usuario" value="';
$acciones_usuario .= $direccion_usuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar el Direccion del Usuario.</div>
</div>
<div class="form-group">
<label for="ciudad_usuario">Ciudad del Usuario</label>
<input type="text" class="form-control" id="ciudad_usuario" aria-describedby="ciudad_usuario" placeholder="Ingrese la Ciudad" name="ciudad_usuario" value="';
$acciones_usuario .= $ciudad_usuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar la Ciudad del Usuario.</div>
</div>
<div class="form-group">
<label for="estado_usuario">Estado del Usuario</label>
<input type="text" class="form-control" id="estado_usuario" aria-describedby="estado_usuario" placeholder="Ingrese el Estado" name="estado_usuario" value="';
$acciones_usuario .= $estado_usuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar el Estado de ubicacion del Usuario.</div>
</div>
<div class="form-group">
<label for="estado_usuario">Status del Usuario</label>
<input type="text" class="form-control" id="status_usuario" aria-describedby="status_usuario" placeholder="Ingrese el Status" name="status_usuario" value="';
$acciones_usuario .= $status_usuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar el Status del Usuario 1 Para activarlo y 0 para Desactivarlo.</div>
</div>
<button type="submit" class="btn btn-primary" name="editar_usuario_btn">Enviar</button>
</form>';
$acciones_usuario .= '</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cerrar</button>
<button type="button" class="btn btn-primary">Guardar Cambios</button>
</div>
</div>
</div>
</div>';
echo '<tr>';
echo '<td>'.$row['id'].'</td>
<td>'.$row['idusuario'].'</td>
<td>'.$row['nombre'] .'</td>
<td>'.$row['email'] .'</td>
<td>'.$stdp .'</td>
<td>'.$acciones_usuario .'</td>';
}
echo '</tr></tbody></table>';
/* numeración de registros*/
// echo "<div class='pagination'>";
echo '<nav aria-label="Page navigation example">';
echo '<ul class="pagination">';
/****************************************/
if(($ini - 1) == 0)
{
echo "<li class='page-item'><a class='page-link' href='#'>«</a></li>";
}
else
{
echo "<li class='page-item'><a class='page-link' href='$url?pos=".($ini-1)."'><b>«</b></a></li>";
}
/****************************************/
for($k=1; $k <= $total; $k++)
{
if($ini == $k)
{
echo "<li class='page-item'><a class='page-link' href='#'><b>".$k."</b></a></li>";
}
else
{
echo "<li class='page-item'><a class='page-link' href='$url?pos=$k'>".$k."</a></li>";
}
}
/****************************************/
if($ini == $total)
{
echo "<li class='page-item'><a class='page-link' href='#'>»</a></li>";
}
else
{
echo "<li class='page-item'><a class='page-link' href='$url?pos=".($ini+1)."'><b>»</b></a></li>";
}
/*******************END*******************/
echo "</ul>";
// echo "</div>";
echo '</nav>';
}
}
This function shows a list of data that it retrieves from the table users, recovering the following data ID User ID Name Email Condition Action, in this last column an action button is shown edit
<!-- Button trigger modal -->
<a class="btn btn-outline-primary btn-sm" data-toggle="modal" data-target="#exampleModal" href="usuarios.php?id='.$rowid.'">
Editar
</a>
Passing the mouse shows the id of the respective user that you want to modify when you click, it gives access to a modal that contains:
<div class="modal-body">';
$acciones_usuario .= ' <form autocomplete="off" class="was-validated" method="post" action= "usuarios.php">';
$acciones_usuario .= 'Identificador: ' .$rowid;
$acciones_usuario .= '<div class="form-group">
<label for="idusuario">Id del Usuario</label>
<input type="text" class="form-control" id="idusuario" aria-describedby="idusuario" placeholder="Ingrese el idusuario" name="idusuario" value="';
$acciones_usuario .= $idusuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar el numero de ID del Usuario.</div>
</div>
<div class="form-group">
<label for="nombre_usuario">Nombre del Usuario</label>
<input type="text" class="form-control" id="nombre_usuario" aria-describedby="nombre_usuario" placeholder="Ingrese el Nombre del Usuario" name="nombre_usuario" value="';
$acciones_usuario .= $nombre_usuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar el numero de ID del Usuario.</div>
</div>
<div class="form-group">
<label for="email_usuario">Email del Usuario</label>
<input type="text" class="form-control" id="email_usuario" aria-describedby="email_usuario" placeholder="Ingrese el Email del Usuario" name="email_usuario" value="';
$acciones_usuario .= $email_usuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar el Email del Usuario.</div>
</div>
<div class="form-group">
<label for="telefono_usuario">Telefono del Usuario</label>
<input type="text" class="form-control" id="telefono_usuario" aria-describedby="telefono_usuario" placeholder="Ingrese el Telefono del Usuario" name="telefono_usuario" value="';
$acciones_usuario .= $telefono_usuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar el Telefono del Usuario.</div>
</div>
<div class="form-group">
<label for="celular_usuario">Celular del Usuario</label>
<input type="text" class="form-control" id="celular_usuario" aria-describedby="celular_usuario" placeholder="Ingrese el Celular del Usuario" name="celular_usuario" value="';
$acciones_usuario .= $celular_usuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar el Celular del Usuario.</div>
</div>
<div class="form-group">
<label for="direccion_usuario">Direccion del Usuario</label>
<input type="text" class="form-control" id="direccion_usuario" aria-describedby="direccion_usuario" placeholder="Ingrese la Direccion" name="direccion_usuario" value="';
$acciones_usuario .= $direccion_usuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar el Direccion del Usuario.</div>
</div>
<div class="form-group">
<label for="ciudad_usuario">Ciudad del Usuario</label>
<input type="text" class="form-control" id="ciudad_usuario" aria-describedby="ciudad_usuario" placeholder="Ingrese la Ciudad" name="ciudad_usuario" value="';
$acciones_usuario .= $ciudad_usuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar la Ciudad del Usuario.</div>
</div>
<div class="form-group">
<label for="estado_usuario">Estado del Usuario</label>
<input type="text" class="form-control" id="estado_usuario" aria-describedby="estado_usuario" placeholder="Ingrese el Estado" name="estado_usuario" value="';
$acciones_usuario .= $estado_usuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar el Estado de ubicacion del Usuario.</div>
</div>
<div class="form-group">
<label for="estado_usuario">Status del Usuario</label>
<input type="text" class="form-control" id="status_usuario" aria-describedby="status_usuario" placeholder="Ingrese el Status" name="status_usuario" value="';
$acciones_usuario .= $status_usuario;
$acciones_usuario .= '" required>
<div class="invalid-feedback">Debe indicar el Status del Usuario 1 Para activarlo y 0 para Desactivarlo.</div>
</div>
<button type="submit" class="btn btn-primary" name="editar_usuario_btn">Enviar</button>
</form>'
But this is how you click the edit button of user 1 or user 2 will always recover the editing data of the last user added to the database.