Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

444
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!