| Ver tema anterior :: Ver siguiente tema |
| Autor |
Mensaje |
dmartin Nuevo Miembro

Registrado: 05 May 2004
Mensajes: 1
|
Publicado: Mie May 05, 2004 2:13 am Título del mensaje: Problema con el borrado de registros |
|
|
Actualmente mi jefe a decidido que me coma el marrón de hacer un portal en php ....... eso por mostrarle tres chorradas que hice y funcionaron a la primera pero aquí uno no tiene ni papa de php.
La cuestión es que tengo un formulario en donde muestro la relación de registros en una tabla y un checkbox para la selección del registro en caso de querer borrarlo.
Os pongo el código
Código del Formulario que muestra los registros
| Cita: |
//generamos la query
$result = mysql_query("SELECT CODIGOPAIS, DESCRIPCION FROM pais ORDER BY DESCRIPCION", $Conex);
if ($row = mysql_fetch_array($result))
{
echo "<font size='3' face='Verdana, Arial, Helvetica, sans-serif'>";
//ponemos los títulos de la cabecera de la tabla
echo "<table CELLSPACING=1 CELLPADDING=1 width='80%' border='1' align='center'> \n";
echo "<tr><td>Cod Pais</td><td>Descripcion</td><td>Seleccionar</td></tr> \n";
echo "<form name='borrar' method='post' action='Borrar.php'>";
do
{
// nos recorremos los registros Cargamos los datos en una tabla y añadiendo un objeto chekbox
echo "<tr><td>".$row["CODIGOPAIS"]."</td><td>".$row["DESCRIPCION"]."<td align=center> <input type='checkbox' name=borra[".$row[0]."] value='Si'></td></tr> \n";
} while ($row = mysql_fetch_array($result));
//ponemos la última fila de la tabla un bótón de borrado
echo "<tr><td> </td><td> </td><td><INPUT TYPE='submit' VALUE='Borrar Seleccionados'></td></tr>\n";
echo "</form> \n";
echo "</table> \n";
echo "</font>";
}
else
{
echo "¡ No se ha encontrado ningún registro !", "<br>";
}
|
Código del Formulario que borra
| Cita: |
<?php
$base="dvaldemoro";
//establecemos la conexión con el servidor
$conexion=mysql_connect ("localhost");
//seleccionamos la BASE DE DATOS en la que PRETENDEMOS TRABAJAR
mysql_select_db ($base, $conexion);
//recogemos del formulario la matriz borra[] que tiene como indices
//los dni de todos los registros de las bases de datos
//en los que la variable contenga el valor Si (los marcados)
//los registros no marcados (en el checkbox) no son transferidos
//por lo que TODOS LOS ELEMENTOS DEL ARRAY CORRESPONDEN A DNI'S ELEGIDOS PARA BORRAR
//leemos ese array completo usando el bucle foreach y
//recogemos el indice y el valor en $indice y $valor
foreach ($borra as $indice=>$valor)
{
//ejecutamos la instruccion DELETE filtrada por WHERE
// para que borre el registro en el que coincida DNI con el indice echo "Borrado ", "<br>";
mysql_query("DELETE FROM pais WHERE (CODIGOPAIS="$indice")",$conexion);
// cerramos el bucle while
}
// cerramos la conexion
echo "adios";
mysql_close($conexion);
// cerramos es script PHP y desde HTML
// CARGAMOS LA PÁGINA QUE NOS PERMITE VISUALIZAR
// LOS CONTENIDOS DE LAS CUATRO TABLAS
// DEBERA NOTARSE LA AUSENCIA DE LOS REGISTROS BORRADOS
?>
|
Bueno pues por el bucle foreach no entra ni jarto grifa
¿que hago mal?
(tener en cuenta que soy novato)
Un saludo |
|
| Volver arriba |
|
 |
bacano Forero


Registrado: 13 Ene 2004
Mensajes: 134
Ubicación: barcelona
|
Publicado: Mie May 05, 2004 3:56 pm Título del mensaje: |
|
|
hola.....
he modificado un poquito tus paginas pero nada de importante, lo bueno es que funcciona.....
para la primera pagina trata eso:
| Cita: |
<?
$db=mysql_connect('localhost','root','')or die ("error connexion base");
$base=mysql_select_db('dvaldemoro',$db)or die ("error connect database");
//generamos la query
$result = mysql_query("SELECT CODIGOPAIS, DESCRIPCION FROM pais ORDER BY DESCRIPCION");
if ($row = mysql_fetch_array($result))
{
echo "<font size='3' face='Verdana, Arial, Helvetica, sans-serif'>";
//ponemos los títulos de la cabecera de la tabla
echo "<table CELLSPACING=1 CELLPADDING=1 width='80%' border='1' align='center'> \n";
echo "<tr><td>Cod Pais</td><td>Descripcion</td><td>Seleccionar</td></tr> \n";
echo "<form name='borrar' method='post' action='Borrar.php'>";
do
{
// nos recorremos los registros Cargamos los datos en una tabla y añadiendo un objeto chekbox
echo "<tr><td>".$row["CODIGOPAIS"]."</td><td>".$row["DESCRIPCION"]."<td align=center>
<input type='checkbox' name=borra[".$row[0]."] value='Si'></td></tr> \n";
} while ($row = mysql_fetch_array($result));
//ponemos la última fila de la tabla un bótón de borrado
echo "<tr><td> </td><td> </td><td><INPUT TYPE='submit' VALUE='Borrar Seleccionados'></td></tr>\n";
echo "</form> \n";
echo "</table> \n";
echo "</font>";
}
else
{
echo "¡ No se ha encontrado ningún registro !", "<br>";
}
?>
|
luego para la segunda pagina te recommiendo que trate esto :
| Cita: |
<?php
//establecemos la conexión con el servidor
$db=mysql_connect('localhost','root','')or die ("error connexion base");
$base=mysql_select_db('dvaldemoro',$db)or die ("error connect database");
//seleccionamos la BASE DE DATOS en la que PRETENDEMOS TRABAJAR
//recogemos del formulario la matriz borra[] que tiene como indices
//los dni de todos los registros de las bases de datos
//en los que la variable contenga el valor Si (los marcados)
//los registros no marcados (en el checkbox) no son transferidos
//por lo que TODOS LOS ELEMENTOS DEL ARRAY CORRESPONDEN A DNI'S ELEGIDOS PARA BORRAR
//leemos ese array completo usando el bucle foreach y
//recogemos el indice y el valor en $indice y $valor
foreach ($borra as $indice=>$valor)
{
//ejecutamos la instruccion DELETE filtrada por WHERE
// para que borre el registro en el que coincida DNI con el indice echo "Borrado ", "<br>";
$do=mysql_query("DELETE FROM pais WHERE CODIGOPAIS='$indice'");
// cerramos el bucle while
}
// cerramos la conexion
mysql_close();
header("Location:index.php");
/* el "header" he puesto esto para que vuelva para la pagina de borrador de registro pero tendras que cambiarlo*/
/* cerramos es script PHP y desde HTML
// CARGAMOS LA PÁGINA QUE NOS PERMITE VISUALIZAR
// LOS CONTENIDOS DE LAS CUATRO TABLAS
DEBERA NOTARSE LA AUSENCIA DE LOS REGISTROS BORRADOS*/
?>
|
espero que te he ayudado..[/b] _________________ A mi no me importa si tengo razon ò no !!!!
lo que me importa es saber en lo que crees. !
|
|
| Volver arriba |
|
 |
|
|
|