INFORMATICA Y OCIO

Foros de informática
  Inicio    Normas    Buscar   Miembros   Clanes   Regístrese   Perfil   Conéctese para revisar sus mensajes   Conectarse 
[informatica] + [videos graciosos] + [ultimos mensajes] + [top usuarios] + [contacto]
Problema con el borrado de registros

 
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Foroz comunity :: Webmasters
Ver tema anterior :: Ver siguiente tema  
Autor Mensaje
dmartin
Nuevo Miembro
Nuevo Miembro


Registrado: 05 May 2004
Mensajes: 1

MensajePublicado: Mie May 05, 2004 2:13 am    Título del mensaje: Problema con el borrado de registros Responder citando
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) Very Happy

Un saludo
Volver arriba
Ver perfil del usuario Enviar mensaje privado Enviar correo
bacano
Forero
Forero


Registrado: 13 Ene 2004
Mensajes: 134
Ubicación: barcelona

MensajePublicado: Mie May 05, 2004 3:56 pm    Título del mensaje: Responder citando
hola..... Mr. Green

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
Ver perfil del usuario Enviar mensaje privado
Mostrar mensajes anteriores:   
Publicar Nuevo Tema   Responder al Tema    Índice del Foro Foroz comunity :: Webmasters Todas las horas están en GMT + 1 Hora
Página 1 de 1
Saltar a:  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
 
Articulos relacionados
En Hardware >> Problema con mi 9800GTx+
En General >> Problema gamepark
En Webmasters >> Problema con Dreamweaver
En Hardware >> problema con mp4
En Webmasters >> Problema con Menu emergente
 

 
Foroz comunity Tema RSS 




by phpBB  
informatica Videos graciosos webmasters theme by Scott Stubblefield Top foroz