Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

443
Visualizações
Quiero seleccionar una fila específica cuando hago clic en el botón usando php/mysql

Quiero seleccionar una fila específica cuando hago clic en el botón eliminar o editar en mi tabla porque cada fila en mi tabla tiene 2 botones, uno para eliminar y otro para editar, pero elimina la fila que tiene la última identificación, no la fila que quiero. Quiero que cuando haga clic en el botón en la misma fila, la fila se elimine. busque la imagen de abajo para entender lo que quiero decir

cuadro para la mesa

Estoy usando este código para crear la tabla.

 while($row = mysqli_fetch_assoc($result)) { echo ' <tr class="w3-hover-orange"> <td> <a class="links" href="topic.php?id=' . $row['topic_id'] . '">' . $row['topic_subject'] . '</a> </td> <td> ' . date('dm-Y', strtotime($row['topic_date'])) . ' </td> <td> </td> <td> <a href="edit_topic.php" name="topicEdit" id = "topicEdit" class = "w3-button tableButtons" >Edit</a> <button href="#" name="topicDelete" type="button" id="topicDelete" data-toggle="modal" data-target="#myModal" class ="w3-button tableButtons">Delete</button> </td> </tr>'; $_SESSION['topic_id_number'] = $row['topic_id']; $_SESSION['topciSubject'] = $row['topic_subject']; } echo'</table></form></div>';

Y debajo el código para el tema de eliminación

 if(isset($_POST['topicDelete'])){ $delete = $_SESSION['topic_id_number']; $query = "DELETE FROM topics WHERE topic_id =".$delete; $result = mysqli_query($con,$query); header ("location: awareness-projects.php"); }
over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Creo que $row['topic_id'] identifica la identificación contra la cual se realizará la eliminación.

Realice los siguientes cambios:

 <button href="#" name="topicDelete" type="button" id="topicDelete" data-toggle="modal" data-target="#myModal" class ="w3-button tableButtons">Delete</button>

cámbielo a un anchor y en su href pase este $row['topic_id'] y obtenga su valor en la página de eliminación como:

 <a href="xyz.php?id='".$row['topic_id'] ."'"
over 4 years ago · Santiago Trujillo Relatório

0

Como las entradas de la tabla se generan dinámicamente a través del ciclo, siempre tomará la última identificación cuando finalice el ciclo porque el nombre de la sesión que usa es el mismo para cada entrada del ciclo while. por lo que se sobrescribirá cada vez y la última identificación estará en la variable de sesión. Hay varias opciones que puedes probar

  1. Asigne un nombre a la variable de sesión para cada ciclo de tal manera que sea diferente para cada ciclo
  2. el segundo es almacenar la identificación del registro actual en el atributo de datos de la etiqueta de anclaje, por lo que debe cambiar la etiqueta del botón a la etiqueta de anclaje, luego siga lo siguiente:

<a href="#" name="topicDelete" type="button" id="topicDelete" data-toggle="modal" data-target="#myModal" class ="w3-button tableButtons" data-cid="$row['topic_id']">Delete</a>

luego, cuando haga clic en el enlace, obtenga el valor del enlace actual usando el siguiente código de jquery y guárdelo en el campo oculto del modal

 $(".tableButtons").click(function(){ var id=$(this).data("cid"); alert(id);//check the id if you are getting current id or not $("#temp").attr("value",id);//this is the hidden field in modal which id is temp and name it to whatever name you use to get the value of it in your delete code });

cada vez que envíe el formulario, el valor de este campo oculto se establecerá con el valor de la identificación y se enviará si está utilizando el método de acción del formulario. luego puede recuperar su valor como un cuadro de texto normal como ya lo ha hecho muchas veces, eso espero. Mis mejores deseos. Personalmente estoy usando este código para mi trabajo y funciona completamente bien;)

over 4 years ago · Santiago Trujillo Relatório

0

Envíe topic_id con cadena de consulta de la siguiente manera

 <a href="xyz.php?id='".$row['topic_id']."'" name="topicDelete" type="button" id="topicDelete" data-toggle="modal" data-target="#myModal" class ="w3-button tableButtons">Delete</a>

Eliminar código -

 if(isset($_POST['topicDelete'])){ $delete = $_GET['id']; $query = "DELETE FROM topics WHERE topic_id =".$delete; $result = mysqli_query($con,$query); header ("location: awareness-projects.php"); }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda