Foros del Web » Programando para Internet » PHP »

Configurar Link Para Editar Resultados de Consulta BD MYSql

Estas en el tema de Configurar Link Para Editar Resultados de Consulta BD MYSql en el foro de PHP en Foros del Web. Buenos Dias: Cree un formulario en el cual consulto informacion a una base de datos Mysql y que me arroja los resultados en una tabla, ...
  #1 (permalink)  
Antiguo 29/07/2009, 11:15
 
Fecha de Ingreso: julio-2009
Ubicación: Bogota
Mensajes: 37
Antigüedad: 15 años, 4 meses
Puntos: 0
Exclamación Configurar Link Para Editar Resultados de Consulta BD MYSql

Buenos Dias:

Cree un formulario en el cual consulto informacion a una base de datos Mysql y que me arroja los resultados en una tabla, a esta tabla le adicione un link con el que quiero editar el registro que tengo como resultado.

Adjunto el codigo de mi consulta a la base de datos:

Código PHP:
$consulta mysql_query("SELECT * FROM personal WHERE Cedula LIKE '%".$Cedula."' AND FECHA LIKE '%".$FECHA."' AND Mail LIKE '%".$Mail."%' AND Nombre LIKE '%".$Nombre."' AND Telefono LIKE '%".$Telefono."' ",$con );
$encontrados mysql_num_rows($consulta); 
if(
$encontrados 0){ 
    while(
$row mysql_fetch_array($consulta)){  
        echo 
        
//"<p>".$row['Cedula']." - ".$row['FECHA']." - ".$row['Mail']." - ".$row['Nombre']." - ".$row['Telefono'].  "</p> "  ;  
        
'
        <table align="center" border="1">
            <tr>
                <td align="center" width="20%">'
.$row['Cedula'].'</td>
                <td align="center" width="20%">'
.$row['FECHA'].'</td>
                <td align="center" width="20%">'
.$row['Mail'].'</td>
                <td align="center" width="20%">'
.$row['Nombre'].'</td>
                <td align="center" width="20%">'
.$row['Telefono'].'</td>
                <td align="center" width="20%"><a href="FormEdita.php">Editar</a></td>
            </tr>    
        </table>
        
        '
;    
    } 
}else{ 
    echo 
'No se han encontrado datos'

Ya cree un formulario con los campos del resultado para poder hacerlo, pero no se como pueda recoger los datos del registro que quiero editar y que me los lleve al formulario de edicion.

Agradezco su ayuda.
  #2 (permalink)  
Antiguo 29/07/2009, 11:21
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: Configurar Link Para Editar Resultados de Consulta BD MYSql

En vez de mostrarlo como texto puedes mostrarlos dentro de un formulario. Tomando tu ejemplo
Código PHP:
Ver original
  1. $consulta = mysql_query("SELECT * FROM personal WHERE Cedula LIKE '%".$Cedula."' AND FECHA LIKE '%".$FECHA."' AND Mail LIKE '%".$Mail."%' AND Nombre LIKE '%".$Nombre."' AND Telefono LIKE '%".$Telefono."' ",$con );
  2. $encontrados = mysql_num_rows($consulta);  
  3. if($encontrados > 0){  
  4.     echo "<form action='pagina_a_editar.php' method='post'>";
  5.     while($row = mysql_fetch_array($consulta)){  
  6.         echo  
  7.         //"<p>".$row['Cedula']." - ".$row['FECHA']." - ".$row['Mail']." - ".$row['Nombre']." - ".$row['Telefono'].  "</p> "  ;  
  8.         '
  9.        <table align="center" border="1">
  10.            <tr>
  11.                <td align="center" width="20%"><input type="text" name="Cedula" value="'.$row['Cedula'].'" /></td>
  12.                <td align="center" width="20%"><input type="text" name="FECHA" value="'.$row['FECHA'].'" /></td>
  13.                <td align="center" width="20%"><input type="text" name="Mail" value="'.$row['Mail'].'" /></td>
  14.                <td align="center" width="20%"><input type="text" name="Nombre" value="'.$row['Nombre'].'" /></td>
  15.                <td align="center" width="20%"><input type="text" name="Telefono" value="'.$row['Telefono'].'" /></td>
  16.                <td align="center" width="20%"><input type="submit" value="submit" /></td>
  17.            </tr>    
  18.        </table>';    
  19.     }
  20.     echo "</form>";
  21. }else{  
  22.     echo 'No se han encontrado datos';  
  23. }
  #3 (permalink)  
Antiguo 29/07/2009, 13:42
Avatar de eddwinpaz  
Fecha de Ingreso: noviembre-2007
Ubicación: Merida , Venezuela
Mensajes: 1.066
Antigüedad: 17 años
Puntos: 25
Respuesta: Configurar Link Para Editar Resultados de Consulta BD MYSql

$consulta = mysql_query("SELECT * FROM personal WHERE Cedula LIKE '%".$Cedula."' AND FECHA LIKE '%".$FECHA."' AND Mail LIKE '%".$Mail."%' AND Nombre LIKE '%".$Nombre."' AND Telefono LIKE '%".$Telefono."' ",$con );
$encontrados = mysql_num_rows($consulta);
if(
$encontrados > 0){
while(
$row = mysql_fetch_array($consulta)){
echo
//"<p>".$row['Cedula']." - ".$row['FECHA']." - ".$row['Mail']." - ".$row['Nombre']." - ".$row['Telefono']. "</p> " ;
'
<table align="center" border="1">
<tr>
<td align="center" width="20%">'
.$row['Cedula'].'</td>
<td align="center" width="20%">'
.$row['FECHA'].'</td>
<td align="center" width="20%">'
.$row['Mail'].'</td>
<td align="center" width="20%">'
.$row['Nombre'].'</td>
<td align="center" width="20%">'
.$row['Telefono'].'</td>
<td align="center" width="20%"><a href="
FormEdita.php?id_registro='.$row['Cedula'].'">Editar</a></td>
</tr>
</table>

'
;
}
}else{
echo
'No se han encontrado datos';
}

Lo que hice realmente fue hacer que mostraras las cedulas para que las pases por URL asi puedan llegar al script siguiente
y puedas asi recibirlas usando $_GET[] y asi llamar solo el dato que necesitas.
__________________
O nos hacemos miserables o nos hacemos fuertes , la cantidad de trabajo es la misma.
  #4 (permalink)  
Antiguo 29/07/2009, 14:08
 
Fecha de Ingreso: julio-2009
Ubicación: Bogota
Mensajes: 37
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Configurar Link Para Editar Resultados de Consulta BD MYSql

Gracias eddwinpaz :

Podrias colaborarme diciendome como puedo invocar ese dato desde mi consulta en el formulario de edicion?

Este es mi codigo y debo estar fallando al llamar esa variable... o bueno eso creo:

Código PHP:
<?php require_once('Connections/FormPrueba.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

$editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset(
$_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
  
$updateSQL sprintf("UPDATE personal SET Telefono=%s, Nombre=%s, Mail=%s, FECHA=%s WHERE Cedula=%s",
                       
GetSQLValueString($_POST['Telefono'], "text"),
                       
GetSQLValueString($_POST['Nombre'], "text"),
                       
GetSQLValueString($_POST['Mail'], "text"),
                       
GetSQLValueString($_POST['FECHA'], "date"),
                       
GetSQLValueString($_POST['Cedula'], "text"));

  
mysql_select_db($database_FormPrueba$FormPrueba);
  
$Result1 mysql_query($updateSQL$FormPrueba) or die(mysql_error());

  
$updateGoTo "RegIng.html";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$updateGoTo .= (strpos($updateGoTo'?')) ? "&" "?";
    
$updateGoTo .= $_SERVER['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$updateGoTo));
}

$colname_Editar "-1";
if (isset(
$_GET['<? echo $Cedula ?>'])) {
  
$colname_Editar $_GET['<? echo $Cedula ?>'];
}
mysql_select_db($database_FormPrueba$FormPrueba);
$query_Editar sprintf("SELECT * FROM personal WHERE Cedula = %s"GetSQLValueString($colname_Editar"text"));
$Editar mysql_query($query_Editar$FormPrueba) or die(mysql_error());
$row_Editar mysql_fetch_assoc($Editar);
$totalRows_Editar mysql_num_rows($Editar);
?>
Te Agradezco mucho
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 14:06.