Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Poner botón eliminar en cada fila de una columna

Estas en el tema de Poner botón eliminar en cada fila de una columna en el foro de PHP en Foros del Web. Buenas, Se hacer la función eliminar, però ahora no sé como poner el link eliminar en cada fila de la tabla y de las nuevas ...
  #1 (permalink)  
Antiguo 20/10/2015, 02:21
 
Fecha de Ingreso: octubre-2015
Ubicación: Barcelona
Mensajes: 66
Antigüedad: 4 años
Puntos: 0
Pregunta Poner botón eliminar en cada fila de una columna

Buenas,

Se hacer la función eliminar, però ahora no sé como poner el link eliminar en cada fila de la tabla y de las nuevas filas que pueda crear.

Gràcias de antemano!!!

pd: soy principiante


CODIGO: (trocito del codigo)

<center>

<table border="1" bordercolor="FFFFF" align="center" bgcolor="#A9E2F3" >

<td align="left"><strong>Id</strong></td>
<td align="left"><strong>Data</strong></td>
<td align="left"><strong>Suppliers</strong></td>
<td align="left"><strong>Project Part Number</strong></td>
<td align="left"><strong>RM Part Number</strong></td>
<td align="left"><strong>Price</strong></td>
<td align="left"><strong>Cry2</strong></td>
<td align="left"><strong>MOQ</strong></td>
<td align="left"><strong>Volume</strong></td>









<td><a href="EmpFrmModificar.php?NIF=<?php echo $NIF ?>">Modificar</td>
<td><a href="EmpEliminar.php?IdRFQ=<?php echo $IdRFQ ?>">Delate</td>





<?php



require_once ('../conexion.inc.php');
$db1 = @mysql_connect($servidor,$usuario,$password) or die("Error al conectar al DBMS.");
@mysql_select_db($basedatos) or die("Error al conectar a la BD");

$Data = $_POST['txtdata'];

$query = "Select * from rfq ";
$result =mysql_query($query,$db1);




while ($fila = mysql_fetch_assoc($result)) {
echo("\n <tr>

<td>".$fila['IdRFQ']."</td>

<td>".$fila['Data']."</td>

<td>".$fila['Suppliers']."</td>

<td>".$fila['Project Part Nombre']."</td>

<td>".$fila['RM Part Number']."</td>

<td>".$fila['Price']."</td>

<td>".$fila['Cry2']."</td>

<td>".$fila['MOQ']."</td>

<td>".$fila['Volume']."</td>







</tr>");
}
echo "</table></center>";
mysql_close($link);


?>

</table>
</center>
</body>
</html>
  #2 (permalink)  
Antiguo 20/10/2015, 09:04
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 626
Antigüedad: 15 años, 8 meses
Puntos: 69
Respuesta: Poner botón eliminar en cada fila de una columna

Así como estás haciendo está bien pero falta cerrar la etiqueta a:
Código PHP:
Ver original
  1. <td><a href="EmpEliminar.php?IdRFQ=<?php echo $IdRFQ ?>">Delete</a></td>

Pero eso debes colocarlo dentro del while para que se repita con cada fila que vas creando:
Código PHP:
Ver original
  1. while ($fila = mysql_fetch_assoc($result)) {
  2. echo("\n <tr>
  3.  
  4. <td>".$fila['IdRFQ']."</td>
  5.  
  6. <td>".$fila['Data']."</td>
  7.  
  8. <td>".$fila['Suppliers']."</td>
  9.  
  10. <td>".$fila['Project Part Nombre']."</td>
  11.  
  12. <td>".$fila['RM Part Number']."</td>
  13.  
  14. <td>".$fila['Price']."</td>
  15.  
  16. <td>".$fila['Cry2']."</td>
  17.  
  18. <td>".$fila['MOQ']."</td>
  19.  
  20. <td>".$fila['Volume']."</td>
  21.  
  22. <td><a href="EmpEliminar.php?IdRFQ=<?php echo $IdRFQ ?>">Delete</a></td>
  23.  
  24.  
  25.  
  26.  
  27. </tr>");
  28. }
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #3 (permalink)  
Antiguo 21/10/2015, 01:12
 
Fecha de Ingreso: octubre-2015
Ubicación: Barcelona
Mensajes: 66
Antigüedad: 4 años
Puntos: 0
Respuesta: Poner botón eliminar en cada fila de una columna

Muchas gracias por la ayuda!
Pero haciendo lo que me has comentado me sale este error:

Parse error: syntax error, unexpected 'EmpEliminar' (T_STRING) in C:\Archivos de programa\EasyPHP-DevServer-14.1VC9\data\localweb\scripts\EmpConsultar1.php on line 126

Estoy intentando solucionar-lo, pero no lo consigo.
  #4 (permalink)  
Antiguo 21/10/2015, 03:06
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 15 años, 11 meses
Puntos: 154
Respuesta: Poner botón eliminar en cada fila de una columna

Hola ommmm,

Ponlo así:

Código PHP:
Ver original
  1. <td><a href=\"EmpEliminar.php?IdRFQ=<?php echo $IdRFQ ?>\">Delete</a></td>

Faltaban las \ antes de las ".
  #5 (permalink)  
Antiguo 21/10/2015, 04:48
 
Fecha de Ingreso: octubre-2015
Ubicación: Barcelona
Mensajes: 66
Antigüedad: 4 años
Puntos: 0
Respuesta: Poner botón eliminar en cada fila de una columna

Muchas gracias a todos, ahora me ha funcionado!

Y me encuentro con el siguiente problema, cuando hago click en el link eliminar, me lleva al otro script 'EmpEliminar.php' pero me deja la pagina en blanco.
Supongo que debe ser por alguna cosa relacionada con el GET,
pero no consigo sacar-lo.

Os dejo el cofigo de los dos scripts, se que es largo, pero llevo ya unos dias con esto y no me sale, es por eso que pregunto tanto.

Muchissimas gracias de verdad!!!!!




CODIGO: 'EmpConsultar1.php' LISTADO DE LA TABLA CON COLUMNAS DELETE Y MODIFY

Código PHP:
 <?php require_once ('../conexion.inc.php');?>
    <?php include '../header.php';?>

                <center>

                    <table border="1" bordercolor="FFFFF" align="center"  bgcolor="#A9E2F3" >
                        
        <td align="left"><strong>Id</strong></td>                  
        <td align="left"><strong>Data</strong></td>
        <td align="left"><strong>Suppliers</strong></td>
        <td align="left"><strong>Project Part Number</strong></td>
        <td align="left"><strong>RM Part Number</strong></td>
        <td align="left"><strong>Price</strong></td>
        <td align="left"><strong>Cry2</strong></td>
        <td align="left"><strong>MOQ</strong></td>
        <td align="left"><strong>Volume</strong></td>
        <td align="left"><strong>Delete</strong></td>
        <td align="left"><strong>Modify</strong></td>


         <?php    
            
            
require_once ('../conexion.inc.php');
            
$db1 = @mysql_connect($servidor,$usuario,$password) or die("Error al conectar al DBMS.");
            @
mysql_select_db($basedatos) or die("Error al conectar a la BD");

             
$IdRFQ $_GET['IdRFQ'];

            
$query "Select * from rfq ";
            
$result =mysql_query($query,$db1);
      
                
  while (
$fila mysql_fetch_assoc($result)) {
                            echo(
"\n                                <tr> 

                                    <td>"
.$fila['IdRFQ']."</td> 

                                    <td>"
.$fila['Data']."</td> 
                                      
                                    <td>"
.$fila['Suppliers']."</td>

                                    <td>"
.$fila['Project Part Nombre']."</td>

                                    <td>"
.$fila['RM Part Number']."</td>

                                    <td>"
.$fila['Price']."</td>

                                    <td>"
.$fila['Cry2']."</td>

                                    <td>"
.$fila['MOQ']."</td>

                                    <td>"
.$fila['Volume']."</td>

                                    <td><a href=\"EmpEliminar.php?IdRFQ=<?php echo $IdRFQ ?>\">Delete</a></td>

                                    <td><a href=\"EmpFrmModificar.php?IdRFQ=<?php echo $IdRFQ ?>\">Modify</td>

                                    
                                </tr>"
);
                        }
                   echo 
"</table></center>";
mysql_close($link);
?>


CODIGO:'EmpEliminar.php'
Código PHP:
 <?php
            

            
include '../header.php';

            require_once (
'../conexion.inc.php');
            
$db1 = @mysql_connect($servidor,$usuario,$password) or die("Error al conectar al DBMS.");
            @
mysql_select_db($basedatos) or die("Error al conectar a la BD");

              
$IdRFQ $_GET['IdRFQ'];

            
$query "Select IdRFQ from rfq where IdRFQ='$IdRFQ'";
            
$result =mysql_query($query,$db1);

            if (
$fila mysql_fetch_assoc(($result))){

                
$query "Delete from rfq where IdRFQ='$IdRFQ'";
                if(
mysql_query($query,$db1)) echo 'Se ha eliminado correctamente';
                else echo 
'¡¡Error en la eliminación!!</br>El servidor responde: '.mysql_error();  
            }
            
            
mysql_close();
           
        
?>
        
        
        <script type="text/javascript">

        // confirmar antes de eliminar registro mysql
<!--
function confirmation() {
    if(confirm("Realmente desea eliminar?"))
    {
        return true;
    }
    return false;
}
//-->
</script>
  #6 (permalink)  
Antiguo 21/10/2015, 07:44
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 626
Antigüedad: 15 años, 8 meses
Puntos: 69
Respuesta: Poner botón eliminar en cada fila de una columna

Tienes que ir probando con var_dump si las variables están tomando los valores que tu quieres que tomen. Aparentemente se ve bien el código debería funcionar pero sin poderlo ejecutar es difícil saber. La parte final donde confirmas si realmente se quiere eliminar el registro no sirve para nada ahí, esa deberías haberla colocado en la página anterior, para que al dar clic en Eliminar salte esa función de JS y si el usuario presiona Aceptar ahí si se envíe la información a la siguiente página.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #7 (permalink)  
Antiguo 23/10/2015, 02:07
 
Fecha de Ingreso: octubre-2015
Ubicación: Barcelona
Mensajes: 66
Antigüedad: 4 años
Puntos: 0
Respuesta: Poner botón eliminar en cada fila de una columna

Hola de nuevo chronos682!!

Primero de todo muchas gracias por las respuestas y la paciencia conmigo...

Por otro lado siguiendo con el tema, no domino mucho el var_dump, pero lo he puesto en el EmpEliminar.php y me sale string(14)"", que no entiendo que quiere decir.

Es por eso que os pregunto, he puesto bien el var_dump? Que debo cambiar para que me haga la función de eliminar la fila del listado?

A continuación os adjunto el código, para que podáis entender de donde sale el string(14)"".

Muchas gracias de nuevo!!!


EmpEliminar.php

Código PHP:
<?php
            

            
include '../header.php';

            require_once (
'../conexion.inc.php');
            
$db1 = @mysql_connect($servidor,$usuario,$password) or die("Error al conectar al DBMS.");
            @
mysql_select_db($basedatos) or die("Error al conectar a la BD");

              
$IdRFQ $_GET['IdRFQ'];
              
var_dump($IdRFQ);

            
$query1 "Select IdRFQ from rfq where IdRFQ='$IdRFQ'";
            
$result =mysql_query($query1,$db1);

            if (
$fila mysql_fetch_assoc(($result))){

                
$query2 "Delete IdRFQ from rfq where IdRFQ='$IdRFQ'";
                if(
mysql_query($query,$db1)) echo 'Se ha eliminado correctamente';
                else echo 
'¡¡Error en la eliminación!!</br>El servidor responde: '.mysql_error();  
            }
            
            
mysql_close();
           
        
?>

Última edición por ommmm; 23/10/2015 a las 02:31
  #8 (permalink)  
Antiguo 23/10/2015, 05:03
 
Fecha de Ingreso: julio-2015
Ubicación: Barcelona
Mensajes: 93
Antigüedad: 4 años, 2 meses
Puntos: 3
Respuesta: Poner botón eliminar en cada fila de una columna

El var_dump muestra información sobre una variable, en tu caso te dice que tienes una cadena de caracteres (string) de 14 caracteres, por lo tanto se supone que has introducido algo y lo coge por el metodo POST.

Otra manera de probarlo es simplemente poniendo un echo y sabiendo que te muestra lo que tu has puesto.

Yo cambiaría todo tu código a MYSQLI primero de todo, te muestro como debería ser la parte de la conexión y querys de base de datos, intenta apañartelas con lo demás.
Código PHP:
$query1 mysqli_query($con"Select IdRFQ from rfq where IdRFQ='$IdRFQ'");

if(
mysqli_num_rows($query1)>0//Si tienes como mínimo 1 resultado
{
$row mysqli_fetch_array($query1);
mysqli_query($con,"DELETE FROM rqf WHERE IdRFQ='$IdRFQ'"); //Borra toda la fila, si solo quieres borrar el campo rqf, deberías hacer un update.
echo "Se ha eliminado correctamente".
}else{
echo 
"No se ha encontrado ningún rqf".

  #9 (permalink)  
Antiguo 23/10/2015, 08:55
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 626
Antigüedad: 15 años, 8 meses
Puntos: 69
Respuesta: Poner botón eliminar en cada fila de una columna

El var_dump está bien puesto, lo que veo es que lo que está mostrando no es correcto, por eso no te está funcionando el código, no creo que el id a eliminar tenga 14 caracteres. Viendo tu código del archivo EmpConsultar1.php veo que cuando haces el link para eliminar pasas como parámetro la variable $IdRFQ que también la obtienes por GET, no se de dónde vendrá esa variable. Tampoco sé cómo tendrás diseñada la tabla rfq pero me causa curiosidad el campo IdRfq de la tabla, si ese es realmente el id del registro que quieres eliminar, por qué mejor no colocas ese en el link así:

Código PHP:
Ver original
  1. <td><a href=\"EmpEliminar.php?IdRFQ=<?php echo $fila['IdRFQ']; ?>\">Delete</a></td>
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #10 (permalink)  
Antiguo 23/10/2015, 10:16
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 1 mes
Puntos: 214
Respuesta: Poner botón eliminar en cada fila de una columna

Saludo
Hagamos algo más fácil, dale clic al link de eliminar,
y fijate en la barra de dirección del explorador sí te sale un valor

Debería salir algo como:
Código HTML:
Ver original
  1. EmpEliminar.php?IdRFQ=valorqueviene

Por otra parte, en el DELETE sobra el campo IdRFO antes del FROM (Creo que ya lo arreglaste)

Revisando un poco más, falta el ; al final del echo de $fila['IdRFQ']
Finalmente, esta dentro de un echo, podría quedar
Código PHP:
Ver original
  1. <td><a href='EmpEliminar.php?IdRFQ=".$IdRFQ."'>Delete</a></td>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 23/10/2015 a las 10:25
  #11 (permalink)  
Antiguo 26/10/2015, 03:09
 
Fecha de Ingreso: octubre-2015
Ubicación: Barcelona
Mensajes: 66
Antigüedad: 4 años
Puntos: 0
Respuesta: Poner botón eliminar en cada fila de una columna

Hola de nuevo, muchas gracias por la ayuda de todos!

Pero no consigo que me elimine la fila...

He probado todo lo que me habéis dichoy ya no se que más puedo hacer, estoy un poco frustrado porqué llevo así una semana. He hecho una BBDD, me funcionan todos los scripts, pero llevo una semana atascado con la función elminiar, modificar y intentando subir un archivo (tema que también he comentado por el foro).


Cuando he probado lo que me habéis comentado, no me sale error, pero no me elimina la fila.
Y también me comentabais que salia en la barra de dirección del explorador, pone esto:

http://127.0.0.1/scripts/EmpEliminar.php?IdRFQ=<?php%20echo%20%20?>

No se si pueden ayudar-me, pero gracias de todas formas!
  #12 (permalink)  
Antiguo 26/10/2015, 03:42
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 1 mes
Puntos: 214
Respuesta: Poner botón eliminar en cada fila de una columna

Saludo

Uhm, el asunto en lo que sale en la url es que el valor no se
está imprimiendo correctamente, ese es el problema.

Lee con calma mi respuesta anterior a esta,
y has el cambio en el link como comenté,
con eso se debería arreglar.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #13 (permalink)  
Antiguo 27/10/2015, 02:11
 
Fecha de Ingreso: octubre-2015
Ubicación: Barcelona
Mensajes: 66
Antigüedad: 4 años
Puntos: 0
Respuesta: Poner botón eliminar en cada fila de una columna

Buenas

He hecho el cambio y ahora en la barra de dirección del explorador pone esto:

http://127.0.0.1/scripts/EmpEliminar.php?IdRFQ=

Gracias y saludos
  #14 (permalink)  
Antiguo 27/10/2015, 04:20
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 1 mes
Puntos: 214
Respuesta: Poner botón eliminar en cada fila de una columna

Saludo
Ahora sí mejoró, y se evidencia que no está viajando
el valor de la variable.

Ante eso, hay que mirar una página atrás,
pues se supone según el código,
que el valor llega por GET.
en cuyo caso se tiene que revisar sí la página
en donde se dibuja el link recibe ese valor.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #15 (permalink)  
Antiguo 27/10/2015, 05:05
 
Fecha de Ingreso: octubre-2015
Ubicación: Barcelona
Mensajes: 66
Antigüedad: 4 años
Puntos: 0
Respuesta: Poner botón eliminar en cada fila de una columna

Hola de nuevo,

En principio si que me recibe los valores de IdRFQ, ya que cuando la pido los valores para que me los muestre por web aparecen sin ningún problema.

Código de la página del link:

Muchas gracias!

Código PHP:
 <?php    

            
            
require_once ('../conexion.inc.php');
            
$db1 = @mysql_connect($servidor,$usuario,$password) or die("Error al conectar al DBMS.");
            @
mysql_select_db($basedatos) or die("Error al conectar a la BD");

            
             

            
$query "Select * from rfq ";
            
$result =mysql_query($query,$db1);
      
                
  while (
$fila mysql_fetch_assoc($result)) {
                            echo(
"\n                                <tr> 

                                    <td>"
.$fila['IdRFQ']."</td> 

                                    <td>"
.$fila['Data']."</td> 
                                      
                                    <td>"
.$fila['Suppliers']."</td>

                                    <td>"
.$fila['Project Part Nombre']."</td>

                                    <td>"
.$fila['RM Part Number']."</td>

                                    <td>"
.$fila['Price']."</td>

                                    <td>"
.$fila['Cry2']."</td>

                                    <td>"
.$fila['MOQ']."</td>

                                    <td>"
.$fila['Volume']."</td>

                                    
                                    <td><a href='EmpEliminar.php?IdRFQ="
.$IdRFQ."'>Delete</a></td>


                                    <td><a href=\"EmpFrmModificar.php?IdRFQ=<?php echo $IdRFQ ?>\">Modify</td>

                                    
                                </tr>"
) ;
                        }
                        
                   echo 
"</table></center>";
mysql_close($link);
?>
  #16 (permalink)  
Antiguo 27/10/2015, 07:18
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 626
Antigüedad: 15 años, 8 meses
Puntos: 69
Respuesta: Poner botón eliminar en cada fila de una columna

Yo insisto en que deberías usar la variable idrfq que obtienes desde la base de datos:

Código PHP:
<?php    

            
            
require_once ('../conexion.inc.php');
            
$db1 = @mysql_connect($servidor,$usuario,$password) or die("Error al conectar al DBMS.");
            @
mysql_select_db($basedatos) or die("Error al conectar a la BD");

            
             

            
$query "Select * from rfq ";
            
$result =mysql_query($query,$db1);
      
                
  while (
$fila mysql_fetch_assoc($result)) {
                            echo(
"\n                                <tr> 

                                    <td>"
.$fila['IdRFQ']."</td> 

                                    <td>"
.$fila['Data']."</td> 
                                      
                                    <td>"
.$fila['Suppliers']."</td>

                                    <td>"
.$fila['Project Part Nombre']."</td>

                                    <td>"
.$fila['RM Part Number']."</td>

                                    <td>"
.$fila['Price']."</td>

                                    <td>"
.$fila['Cry2']."</td>

                                    <td>"
.$fila['MOQ']."</td>

                                    <td>"
.$fila['Volume']."</td>

                                    
                                    <td><a href='EmpEliminar.php?IdRFQ="
.$fila['IdRFQ']."'>Delete</a></td>


                                    <td><a href='EmpFrmModificar.php?IdRFQ="
.$fila['IdRFQ']."'>Modify</a></td>

                                    
                                </tr>"
) ;
                        }
                        
                   echo 
"</table></center>";
mysql_close($link);
?>
No veo por qué se complican pasando variables por get. Se supone que el código muestra todos los rfq disponibles en la tabla y debe aparecer el link de eliminar y modificar en cada registro pues usa el IdRFQ que está en la BD, me imagino que debe ser único ese id.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #17 (permalink)  
Antiguo 28/10/2015, 04:05
 
Fecha de Ingreso: octubre-2015
Ubicación: Barcelona
Mensajes: 66
Antigüedad: 4 años
Puntos: 0
Respuesta: Poner botón eliminar en cada fila de una columna

Si, tienes razón, no lo habia cambiado en el modificar.
A parte de esto el eliminar sigue sin borrar... Parece que sea imposible!!
Tienes idea de cual puede ser el por qué?

Muchas gracias!!
  #18 (permalink)  
Antiguo 28/10/2015, 08:01
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 15 años, 11 meses
Puntos: 154
Respuesta: Poner botón eliminar en cada fila de una columna

Hola ommmm,

Después de tanto lío, creo que lo mejor es que vuelvas a poner el código del archivo EmpEliminar.php, así podremos ver con más detalle qué es lo que puede estar ocurriendo.

No olvides usar el highlight para que tu código se lea mejor, así facilitas el ayudarte.
  #19 (permalink)  
Antiguo 28/10/2015, 12:16
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 1 mes
Puntos: 214
Respuesta: Poner botón eliminar en cada fila de una columna

Saludo.
¿Entonces ya quedó finalmente arregladas las variables?
¿El problema ahora es en eliminar? ¿Y cual error da?
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #20 (permalink)  
Antiguo 28/10/2015, 12:53
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 626
Antigüedad: 15 años, 8 meses
Puntos: 69
Respuesta: Poner botón eliminar en cada fila de una columna

Tienes mal el código para eliminar el registro. Si miras aquí:

Código PHP:
Ver original
  1. if(mysql_query($query,$db1)) echo 'Se ha eliminado correctamente';

Tienes $query, cuando la variable debería ser:
Código PHP:
Ver original
  1. $query2 = "Delete IdRFQ from rfq where IdRFQ='$IdRFQ'";

Según ese código $query2. Pon el código del archivo EmpEliminar.php porque estoy seguro debes tener errores por el estilo. Lo importante es que al menos ya esté llegando el id por la url. Espero que sea así. O no está llegando???
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #21 (permalink)  
Antiguo 29/10/2015, 02:34
 
Fecha de Ingreso: octubre-2015
Ubicación: Barcelona
Mensajes: 66
Antigüedad: 4 años
Puntos: 0
Respuesta: Poner botón eliminar en cada fila de una columna

Saludos de nuevo.
Muchas gracias a todos!!

Ahora estoy en la siguiente situación:

-Primero de todo comentar que en el EmpConsultar1.php (que me carga una lista de la tabla rfq) me aparece este error repetido muchisimas veces y después del error me sale todo el listado perfecto:

Notice: Undefined variable: IdRFQ in C:\Archivos de programa\EasyPHP-DevServer-14.1VC9\data\localweb\scripts\premo\EmpConsultar1. php on line 80

Notice: Undefined variable: IdRFQ in C:\Archivos de programa\EasyPHP-DevServer-14.1VC9\data\localweb\scripts\premo\EmpConsultar1. php on line 86


-Por otro lado cuando hago click en el link de delate, me dice:
Se ha eliminado correctamente, pero cuando vuelvo al listado no se ha borrado la fila ni nada.

Perdón por hacer un post tan largo, gracias por seguir ayudando-me!!



CODIGO: EmpConsultar1.php

Código PHP:
 <?php require_once ('../conexion.inc.php');?>
    <?php include '../header.php';?>

                <center>

                    <table border="1" bordercolor="FFFFF" align="center"  bgcolor="#A9E2F3" >
                        
        <td align="left"><strong>Id</strong></td>                  
        <td align="left"><strong>Data</strong></td>
        <td align="left"><strong>Suppliers</strong></td>
        <td align="left"><strong>Project Part Number</strong></td>
        <td align="left"><strong>RM Part Number</strong></td>
        <td align="left"><strong>Price</strong></td>
        <td align="left"><strong>Cry2</strong></td>
        <td align="left"><strong>MOQ</strong></td>
        <td align="left"><strong>Volume</strong></td>
        <td align="left"><strong>Delete</strong></td>
        <td align="left"><strong>Modify</strong></td>




</script>

         <?php    

            
            
require_once ('../conexion.inc.php');
            
$db1 = @mysql_connect($servidor,$usuario,$password) or die("Error al conectar al DBMS.");
            @
mysql_select_db($basedatos) or die("Error al conectar a la BD");

            
             

            
$query "Select * from rfq ";
            
$result =mysql_query($query,$db1);
      
                
  while (
$fila mysql_fetch_assoc($result)) {
                            echo(
"\n                                <tr> 

                                    <td>"
.$fila['IdRFQ']."</td> 

                                    <td>"
.$fila['Data']."</td> 
                                      
                                    <td>"
.$fila['Suppliers']."</td>

                                    <td>"
.$fila['Project Part Nombre']."</td>

                                    <td>"
.$fila['RM Part Number']."</td>

                                    <td>"
.$fila['Price']."</td>

                                    <td>"
.$fila['Cry2']."</td>

                                    <td>"
.$fila['MOQ']."</td>

                                    <td>"
.$fila['Volume']."</td>

                                    
                                    <td><a href='EmpEliminar.php?IdRFQ="
.$IdRFQ."'>Delete</a></td>


                                    <td><a href='EmpFrmModificar.php?IdRFQ="
.$IdRFQ."'>Modify</a></td>

                                    
                                </tr>"
) ;
                        }
                        
                   echo 
"</table></center>";
mysql_close($link);
?>



        </table>
        </center>


CODIGO: EmpEliminar.php

Código PHP:
 <center>
        <?php
            

            
include '../header.php';

            require_once (
'../conexion.inc.php');
            
$db1 = @mysql_connect($servidor,$usuario,$password) or die("Error al conectar al DBMS.");
            @
mysql_select_db($basedatos) or die("Error al conectar a la BD");

              
$IdRFQ $_GET['IdRFQ'];
              

           

                     
$query "Select from rfq where IdRFQ='$IdRFQ'";

 

                
$query "Delete from rfq where IdRFQ='$IdRFQ'";
                if(
mysql_query($query,$db1)) echo 'Se ha eliminado correctamente';
                else echo 
'¡¡Error en la eliminación!!</br>El servidor responde: '.mysql_error(); 
           
        
?>


        


            <p></p>
            <a href="headerlist.php">Return</a>
        

      
        </center>
  #22 (permalink)  
Antiguo 29/10/2015, 03:08
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 15 años, 11 meses
Puntos: 154
Respuesta: Poner botón eliminar en cada fila de una columna

Hola ommmm,

Según tu código, te puedo hacer las siguientes sugerencias:

El error que te muestra es porque no has definido la variable $IdRFQ, además, tal como la usas, creo que no es lo correcto, debería ser algo así:

Código PHP:
Ver original
  1. <td>".$fila['Volume']."</td>
  2.  
  3.                                    
  4.                                     <td><a href='EmpEliminar.php?IdRFQ=".$fila['IdRFQ']."'>Delete</a></td>
  5.  
  6.  
  7.                                     <td><a href='EmpFrmModificar.php?IdRFQ=".$fila['IdRFQ']."'>Modify</a></td>

Eso para el archivo EmpConsultar1.php, en cuanto al archivo EmpEliminar.php, yo le pondría una validación, algo tal que así, no obstante, creo que el problema lo tenías en el archivo anterior, puesto que al hacerlo de la forma que te he puesto, ya tienes definida la variable $IdRFQ, aun así, es mejor validar:

Código PHP:
Ver original
  1. //Con esto validas que te llegue algo en la variable $_GET['IdRFQ']
  2.               if ( isset($_GET['IdRFQ']) && !empty($_GET['IdRFQ'])) {
  3.               $IdRFQ = $_GET['IdRFQ'];
  4.               }
  5.  
  6.            
  7.  
  8.                      $query = "Select from rfq where IdRFQ='$IdRFQ'";
  9.  
  10.  
  11.  
  12.                 $query = "Delete from rfq where IdRFQ='$IdRFQ'";
  13.                 if(mysql_query($query,$db1)) echo 'Se ha eliminado correctamente';
  14.                 else echo '¡¡Error en la eliminación!!</br>El servidor responde: '.mysql_error();
  #23 (permalink)  
Antiguo 29/10/2015, 05:26
 
Fecha de Ingreso: octubre-2015
Ubicación: Barcelona
Mensajes: 66
Antigüedad: 4 años
Puntos: 0
Respuesta: Poner botón eliminar en cada fila de una columna

Hola rbczgz,

Muchas gracias, ya funciona al fin!!!!

Ahora tengo una ultima preguntita, si en el listado hay filas en blanco, hay alguna manera para poder eliminar-la, ahora no me deja porqué no el campo de IdRFQ está en blanco supongo.

No se si me he explicado.

MUCHAS GRACIAS A TODOS POR DEDICAR-ME VUESTRO TIEMPO!!
  #24 (permalink)  
Antiguo 29/10/2015, 07:43
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 15 años, 11 meses
Puntos: 154
Respuesta: Poner botón eliminar en cada fila de una columna

Hola ommmm,

Evidentemente, si en el listado tienes filas que no contienen nada en la columna IdRFQ, no las podrás eliminar desde la aplicación, deberás hacerlo desde PHPMyadmin o crear un script que te elimine las filas en blanco, para evitar esto, lo que debes hacer es validar que, quien introduce los datos, no deje en blanco los campos que tú consideres necesarios, como es el caso del IdRFQ.
  #25 (permalink)  
Antiguo 30/10/2015, 03:17
 
Fecha de Ingreso: octubre-2015
Ubicación: Barcelona
Mensajes: 66
Antigüedad: 4 años
Puntos: 0
Respuesta: Poner botón eliminar en cada fila de una columna

De acuerdo, muchas gracias a todos otra vez!

Saludos a todos.

Etiquetas: cada, columna, fila, html, mysql, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 04:52.