Foros del Web » Programando para Internet » PHP »

Links de texto hacia modificar y borrar registros de Base de datos

Estas en el tema de Links de texto hacia modificar y borrar registros de Base de datos en el foro de PHP en Foros del Web. Yo de nuevo... Usando un buscador interno (que funciona perfectamente), genero como resultados los registros de mi BD, de la siguiente manera: Código PHP: <? ...
  #1 (permalink)  
Antiguo 30/07/2004, 01:29
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 15 años
Puntos: 0
Links de texto hacia modificar y borrar registros de Base de datos

Yo de nuevo...

Usando un buscador interno (que funciona perfectamente), genero como resultados los registros de mi BD, de la siguiente manera:

Código PHP:
<?
echo "<div align='left'>";
echo 
"ID: <a href=".$registro[id].">".$registro[id]."</a><br>";
echo 
"Name: <b>".$registro[name]."</b><br>";
echo 
"Address: ".$registro[address]."<br>";
echo 
"Zone: ".$registro[zone]."<br>";
echo 
"Phones: ".$registro[phones]."<br>";
echo 
"E-mail: ".$registro[email]."<br>";
echo 
"Url: ".$registro[url]."<br>";
echo 
"Category: ".$registro[category]."<br>";
echo 
"Subcategory: ".$registro[subcategory]."<br>";
echo 
"<a href=".$registro[id].">Borrar Registro</a><br>";
?>
Lo que necesito es que estos campos:

Código PHP:
<?
echo "ID: <a href=".$registro[id].">".$registro[id]."</a><br>";
y
echo "<a href=".$registro[id].">Borrar Registro</a><br>";
?>
sean un link a clients_modificar.php y clients_borrar.php respectivamente.

Mis codigos de esas páginas (gracias en gran parte a Cluster):

la pagina clients_modificar.php

Código PHP:
<? 
include ("config_ing.php");
 
if (isset(
$_POST['id'])){ 
$sql="SELECT * FROM clients WHERE id='".$_POST['id']."'"
$result mysql_query($sql) or die (mysql_error()); 
$resultado=mysql_fetch_array($result); 

}
?>
La misma tiene un formulario que recoge perfectamente los campos de mi tabla (gracias de nuevo a Cluster) con unos value de tipo

Código PHP:
value="<? echo $resultado['id']; ?>"

Y la pagina clients_borrar.php

Código PHP:
<?
include ("config_ing.php");  
$sSQL="Delete From clients Where id='$id'";
mysql_db_query("margarit_directorio",$sSQL);
?>


Ambas paginas recibian los datos de un menu desplegable con los "id" de mis registros en la BD, pero ahora que los recibiran de una pagina de resultados con todos los campos, no se que demonios debo hacer.
  #2 (permalink)  
Antiguo 30/07/2004, 03:13
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 13 años, 6 meses
Puntos: 2
Primero sería modificar los enlaces:
Código PHP:
<? 
echo "ID: <a href='clients_modificar.php?id=".$registro[id]."'>".$registro[id]."</a><br>"
echo 
"<a href='clients_borrar.php?id=".$registro[id]."'>Borrar Registro</a><br>"
?>
Ahora como accedes através de un enlace ya no puedes usar array $_POST sino el array $_GET así que clients_modificar.php quedaría así:
Código PHP:
<? 
include ("config_ing.php"); 

if (isset(
$_GET['id'])){ 
$sql="SELECT * FROM clients WHERE id='".$_GET['id']."'"
$result mysql_query($sql) or die (mysql_error()); 
$resultado=mysql_fetch_array($result); 


?>
y clients_borrar.php así:
Código PHP:
<? 
include ("config_ing.php"); 

if (isset(
$_GET['id'])){ 
$sSQL="Delete From clients Where id='".$_GET['id']."'"
mysql_db_query("margarit_directorio",$sSQL);

?>
__________________
¿Te apasiona el mundo del guión? El portal del guión

Última edición por living; 30/07/2004 a las 03:16
  #3 (permalink)  
Antiguo 30/07/2004, 07:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
(recuerda cambiar el method de tu formularo también .. que ahora es POST y debe ser GET para que lo puedas usar junto con las llamadas por link como los ejemplos de living).

también podrías usar $_REQUEST para acceder a variables que vengan por GET o POST (o cookies)

Un saludo,
  #4 (permalink)  
Antiguo 30/07/2004, 09:36
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 15 años
Puntos: 0
Maravilloso...

Muchas gracias de nuevo!!!!
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 22:00.