Foros del Web » Programando para Internet » PHP »

borrar registros

Estas en el tema de borrar registros en el foro de PHP en Foros del Web. mi base de datos se llama videoteca, la tabla genero y dentro de genero esta id, nombre, descripcion tengo dos paginas php la primera llama ...
  #1 (permalink)  
Antiguo 17/03/2006, 17:45
 
Fecha de Ingreso: enero-2006
Mensajes: 140
Antigüedad: 11 años, 11 meses
Puntos: 0
borrar registros

mi base de datos se llama videoteca, la tabla genero y dentro de genero esta id, nombre, descripcion


tengo dos paginas php la primera llama a la segunda.

la 1ª
Código PHP:
<html>
<head>
<title> mostrar, añadir, borrar registros</title>
</head>
<body>
<p><h3>Borrar registros</h3>

<?php

//contiene dos paginas registros.php y registros2.php
//conexion con mysql
$conexion=mysqli_connect('localhost','root','','videoteca') ;

//comprobacion conexion
//si la conexion no es valida
if($conexion==FALSE){
  echo 
'error en la conexion';
}
//creamos formulario
echo '<FORM METHOD="POST" ACTION="registros2.php">ID<br>';
//conexion con la tabla genero
$result=mysqli_query(
    
$conexion,
    
'SELECT id FROM genero ORDER BY id ');

echo 
'<select name="id">';


//Mostramos los registros en forma de menú desplegable
while ($row=mysqli_fetch_array($result)){
  echo 
'<option>'.$row["id"];}
mysqli_free_result($result)
?>
</select>

<br>
<INPUT TYPE="SUBMIT" value="Borrar">
</FORM>
</body>
</html>
la 2ª
Código PHP:
<html>
<head>
<title> mostrar, añadir, borrar registros</title>
</head>
<body>
<p>

<?php

//contiene dos paginas registros.php y registros2.php
//conexion con mysql
$conexion=mysqli_connect('localhost','root','','videoteca') ;

//comprobacion conexion
//si la conexion no es valida
if($conexion==FALSE){
  echo 
'error en la conexion';
}

//conexion con la tabla genero
$result=mysqli_query(
    
$conexion,
    
"Delete From genero Where id='$id'");



?>
<h1><div align="center">Registro Borrado</div></h1>
<div align="center"><a href="registros.php">Volver</a></div>
</body>
</html>

mo me borra los registros, por que? cual es el error?
  #2 (permalink)  
Antiguo 17/03/2006, 18:14
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
a ver el problema estaba en ke no asignabas el valor de la id al <option>, aki te lo pongo todo en un solo archivo

registros2.php
Código PHP:
<html>
<head>
<title> mostrar, añadir, borrar registros</title>
</head>
<body>
<p><h3>Borrar registros</h3>

<?
    
// conectamos a la BD
    
if(!empty($_POST['enviar'])) {
        
$result mysql_query("Delete From genero Where id='".$_POST['id']."'"); 
        echo 
"Registro borrado";
    }else {
?>
    <form method="post" action="registros2.php">ID<br />
    <select name="id">
    <?php
        $sql 
mysql_query("SELECT id FROM genero ORDER BY id");
        while (
$row mysql_fetch_array($result)){
    
?>
        <option value="<?=$row["id"]?>"><?=$row["id"]?></option>
    <?
        
}
    
?>
    </select>
    <br />
    <input type="submit" value="Borrar" name="enviar" />
    </form>
<?
    
}
?>
</body>
</html>
con ello deberia funcionar correctamente solo es cuestion de ke al inicio donde dice // conectamos a la BD pongas tus datos de coneccion aunke yo te recomiendo hacer eso en un archivo por separado y llamarlo haciendo un include()

espero ke te sirva, sino me dices y vemos como areglarlo

saludos

Última edición por ZydRick; 18/03/2006 a las 09:12
  #3 (permalink)  
Antiguo 17/03/2006, 18:43
 
Fecha de Ingreso: enero-2006
Mensajes: 140
Antigüedad: 11 años, 11 meses
Puntos: 0
no funciona :(

Código PHP:
<html>
<head>
<title> mostrar, añadir, borrar registros</title>
</head>
<body>
<p><h3>Borrar registros</h3>

<?php

//contiene dos paginas registros.php y registros2.php
//conexion con mysql
$conexion=mysqli_connect('localhost','root','','videoteca') ;

//comprobacion conexion
//si la conexion no es valida
if($conexion==FALSE){
  echo 
'error en la conexion';
}
//creamos formulario
echo '<FORM METHOD="POST" ACTION="registros2.php">ID<br>';
//conexion con la tabla genero
$result=mysqli_query(
    
$conexion,
    
'SELECT id FROM genero ORDER BY id ');

echo 
'<select name="id">';


//Mostramos los registros en forma de menú desplegable
while ($row=mysqli_fetch_array($result)){
  echo 
'<option value="$row["id"]">'.$row["id"];}
mysqli_free_result($result)
?>
</select>

<br>
<INPUT TYPE="SUBMIT" value="Borrar">
</FORM>
</body>
</html>


Código PHP:
<html>
<head>
<title> mostrar, añadir, borrar registros</title>
</head>
<body>
<p>

<?php

//contiene dos paginas registros.php y registros2.php
//conexion con mysql
$conexion=mysqli_connect('localhost','root','','videoteca') ;

//comprobacion conexion
//si la conexion no es valida
if($conexion==FALSE){
  echo 
'error en la conexion';
}

//conexion con la tabla genero
$result=mysqli_query(
    
$conexion,
    
"Delete From genero Where id='".$_POST['id']."'");



?>
<h1><div align="center">Registro Borrado</div></h1>
<div align="center"><a href="registros.php">Volver</a></div>
</body>
</html>
por favor, no me cambieis la estructura de mi codigo por que sino me no me entero, esque estoy aprendiendo y si me añadiis cosas nuevas me liais mas por q no se su significado ni de donde salen.

cuando me salga esto probare lo del include. thanks
  #4 (permalink)  
Antiguo 17/03/2006, 19:19
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
haber cambia esta linea y ke kede asi:

Código PHP:
<?
  
// codigo por aki
  
echo "<option value='".$row['id']."'>'".$row['id']."'</option>";} 
  
// el resto de codigo por aki
?>
en ese echo tenias mal concatenadas las variables, preuba con esa liena ke te he puesto, y ya no daria problemas

saludos
  #5 (permalink)  
Antiguo 17/03/2006, 19:51
 
Fecha de Ingreso: enero-2006
Mensajes: 140
Antigüedad: 11 años, 11 meses
Puntos: 0
ya funciona muchas gracias!!!
pero como soy un poco tocho tengo otra consultilla jejeje
veras los registros me salen entre comillas simples, cualas son las comillas que sobran? cualas borro para q no salgan ?.
  #6 (permalink)  
Antiguo 17/03/2006, 20:10
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
pues no entiendo donde estan las comillas ke sobran :S la concatenacion ke hice esta bien, prueba asi a ver

Código PHP:
<?
  
// codigo por aki
  
echo "<option value=".$row['id'].">".$row['id']."</option>";} 
  
// el resto de codigo por aki
?>

yo te aconsejo ke lo hagas de la forma ke te puse arriba en un solo archivo y con mejor manejo de los echo, pruebalo asi

saludos
  #7 (permalink)  
Antiguo 18/03/2006, 09:51
 
Fecha de Ingreso: enero-2006
Mensajes: 140
Antigüedad: 11 años, 11 meses
Puntos: 0
Muchas gracias funciono!!
  #8 (permalink)  
Antiguo 18/03/2006, 13:42
 
Fecha de Ingreso: enero-2006
Mensajes: 140
Antigüedad: 11 años, 11 meses
Puntos: 0
pues otra vez la pesada, ahora quiero ademas de mostrar los registros borrar y añadir en la misma pagina, (estoy con lo de borrar)

no me sale ningun error pero en el menu desplegable no me salen los registros y el boton borrar tampoco me sale.
os dejo el codigo pero no me regañeis ya se q esta no es la mejor manera de hacerlo pero lo hago asi se lo que estoy haciendo y aprendo, si lo hiciera de otra forma , si , saldria pero no entenderia el por que,
no me cambieis la estructura. decidme el error y el por que si no es mucha molestia. gracias.

Código PHP:
<html>
<head>
<title>mostrar,añadir, borrar registros</title>
</head>
<body>
<h3>Registros</h3>
<?php

//conectamos con mysql
$conexion=mysqli_connect('localhost','root','','videoteca');
//comprobamos conexion a mysql, si no es correcta mostraremos mensaje
if($conexion==False){
  echo 
'error en la conexion con mysql';
}
//conectamos con bd (seleccionamos id de la tabla genero, ordenamos por id)
$result=mysqli_query(
    
$conexion,
    
'SELECT id,nombre,descripcion FROM genero ORDER BY id');

//comprobamos conexion con la tabla genero, si no es correcta mostrar mensaje
if($result==FALSE){
  echo 
'error en la conexion con genero';
}
//cerramos php para hacer tabla
?>
<p><table border="1" cellspacing="0" cellpadding="0" bordercolor="black" width="30%">
<tr>
<td><b>Id</b></td>
<td><b>Nombre</b></td>
<td><b>Descripci&oacute;n</b></td></tr>
<?php
//abrimos de nuevo y mostramos registros
while($row=mysqli_fetch_array($result)){
  echo 
"<tr>";
  echo 
"<td>$row[id]</td>";
  echo 
"<td>$row[nombre]</td>";
  echo 
"<td>$row[descripcion]</td>";
  echo 
"</tr>";
}
//cerramos php, cerramos tabla y creamos una tabla con 2 columnas
?>
</table>
<p><table width="100%" border="1" >
<tr>
    <td>    

<p><h3>Borrar registros</h3></p>
<?php
//creamos formulario
echo '<FORM METHOD="POST" ACTION="">';
echo 
'<select >';

//abrimos y mostramos registros en forma de menu desplegable
while($row2=mysqli_fecth_array($result)){
    echo 
"<option value=".$row2["id"].">".$row2["id"]."</option>";} 
//cerramos php y cerramos formulario, creamos boton borrar

?>
</select>

<input type="submit" value="borrar">
</form>
</td>
    <td>2</td>
</tr>

</table>
</body>
</html>
  #9 (permalink)  
Antiguo 18/03/2006, 13:54
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
estas usando mal algunos echos, donde son innecesarios. Prueba de esta manera:

Código PHP:
<html>
<head>
<title>mostrar,añadir, borrar registros</title>
</head>
<body>
<h3>Registros</h3>
<?php

//conectamos con mysql
$conexion=mysqli_connect('localhost','root','','videoteca');
//comprobamos conexion a mysql, si no es correcta mostraremos mensaje
if($conexion==False){
  echo 
'error en la conexion con mysql';
}
//conectamos con bd (seleccionamos id de la tabla genero, ordenamos por id)
$result=mysqli_query($conexion"SELECT id,nombre,descripcion FROM genero ORDER BY id");

//comprobamos conexion con la tabla genero, si no es correcta mostrar mensaje
if($result==FALSE){
  echo 
'error en la conexion con genero';
}
//cerramos php para hacer tabla
?>
<p><table border="1" cellspacing="0" cellpadding="0" bordercolor="black" width="30%">
<tr>
<td><strong>Id</strong></td>
<td><strong>Nombre</strong></td>
<td><strong>Descripci&oacute;n</strong></td></tr>
<?php
    
//abrimos de nuevo y mostramos registros
    
while($row=mysqli_fetch_array($result)){
?>
<tr>
<td><?=$row['id']?></td>
<td><?=row['nombre']?></td>
<td><?=$row['descripcion']?></td>
</tr>
<?
    
}
    
//cerramos php, cerramos tabla y creamos una tabla con 2 columnas
?>
</table>
<p><table width="100%" border="1" >
<tr>
<td>    
<p>
<h3>Borrar registros</h3>
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
<select >
<?
    
//abrimos y mostramos registros en forma de menu desplegable
    
while($row2=mysqli_fecth_array($result)){
?>
    <option value="<?=$row2['id']?>"><?=$row2['id']?></option>
<?
    

    
//cerramos php y cerramos formulario, creamos boton borrar
?>
</select>
<input type="submit" value="borrar" name="enviar">
</form>
</td>
    <td>2</td>
</tr>

</table>
</body>
</html>
si te alguna falla pues ya sabes, aki estamos
  #10 (permalink)  
Antiguo 18/03/2006, 14:08
 
Fecha de Ingreso: enero-2006
Mensajes: 140
Antigüedad: 11 años, 11 meses
Puntos: 0
que significa esto?

<?=$_SERVER['PHP_SELF']?>
  #11 (permalink)  
Antiguo 18/03/2006, 14:10
 
Fecha de Ingreso: enero-2006
Mensajes: 140
Antigüedad: 11 años, 11 meses
Puntos: 0
otra cosa, por que fallaba mi codigo?
es q soy un tocho para esto jajajaja
gracias ZydRick
  #12 (permalink)  
Antiguo 18/03/2006, 14:34
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
$_SERVER['PHP_SELF'] es una variable predefinida ke te devuelve el archivo ke se esta ejecutando actualmente, donde $_SERVER es la matriz ke contiene informacion y PHP_SELF el nombre del script ke se esta ejecutando actualmente; en este caso tu script de lista de autores y el problema ke tenias con tu script es ke habias armado mal el html ke te devolvia el formulario

saludos
  #13 (permalink)  
Antiguo 23/03/2006, 09:26
 
Fecha de Ingreso: enero-2006
Mensajes: 140
Antigüedad: 11 años, 11 meses
Puntos: 0
pues no funciona :(

te paso la pagina y el codigo

http://usuarios.lycos.es/miblogpersonal2005/

Código PHP:
<html> 
<head> 
<title>mostrar,añadir, borrar registros</title> 
</head> 
<body> 
<p>.</p>
<p>.</p>
<p>.</p>
<h3>Registros</h3> 
<?php 

$conexion
=mysql_connect('localhost','miblogpersonal-2005','','miblogpersonal2005_es_db');
if(
$conexion==FALSE){
  echo 
'error en la conexion mysql';
}



$result=mysql_query('SELECT id,nombre,descripcion FROM genero'$conexion );
if(
$result==FALSE){
  echo 
'error en la conexion con pruebas';
}

?>
<table border=1 cellspacing=0 cellpadding=0 >
<tr>
    <td><strong>Id</strong></td>
    <td><strong>Nombre</strong></td>
    <td><strong>Descripci&oacute;n </strong></td>
</tr>

<?php
while($row=mysql_fetch_array($result)){
  echo 
'<tr>';

?>
    <td><?php echo $row['id']; ?> </td>
    <td><?php echo $row['nombre'];?></td>
    <td><?php echo $row['descripcion'];?></td>
<?php

 
echo '</tr>';
}
?>
</table>
<!--segunda parte mostramos registros en forma de menu desplegable-->



<p><h3>Borrar registros</h3>
<form method="post" action="<?=$_SERVER['PHP_SELF']?>">
<select>

<?php

while($row=mysqli_fecth_array($result)){


?>
<option value="<?php $row['id']?>"><?=$row['id']?></option> 


<?php 
    
}  
    
?> 
</select> 
<input type="submit" value="borrar" name="enviar"> 
</form> 

</body>
</html>
  #14 (permalink)  
Antiguo 23/03/2006, 09:41
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 12 años, 10 meses
Puntos: 4
a ver parece ke es la linea de la consulta a la BD prueba cambiarla por esta otra

Código PHP:
<?
  $result
=mysql_query("SELECT id,nombre,descripcion FROM genero WHERE id=".$_POST['id'].""$conexion );
?>
te falto añadir el WHERE en dicha consulta ya ke es ahi a donde la estas haciendo

saludos
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




La zona horaria es GMT -6. Ahora son las 19:25.