Autor Tema: Boton Para Modificar Columna y Fila en mysql_query con php ?¿  (Leído 14917 veces)

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
 Hola Comunidad De aprenderaprogramar ... estoy realizando este condigo , y tengo una dudad y es la que como hacer para poder usar el metodo ACTUALIZAR (UPDATE) para  una fila y columa mediante un Boton  o un campo ?¿ se me a dificultado ... me ha salido pero haciendolo directo sin colocar un Boton o un campo para poder  ACTUALIZAR (UPDATE) una fila y columna ......


Este es el codigo consulta que hace  ACTUALIZAR (UPDATE) pero Directamente si Boton  ... Mi Pregunta es Como puedo colocar un Boton o un campo en este Codigo


Adjuntare el codigo y la base de datos Sql

-------------------------------------------------------------------------------------------
Código: [Seleccionar]
$conex=  mysql_connect("localhost","root","")
        or die("noo se conectaaaaa");
mysql_select_db("lindavista",$conex)
                or die("erroooorr no se conectooooo");
       
       
        $actualizar=" UPDATE  noticias SET Titulo='COBO' WHERE Titulo='Cabas' ";
        mysql_query($actualizar,$conex) or die (mysql_error());
---------------------------------------------------
Este es el codigo de consulta completo !

--------------------------------------------------------------------------------------
Código: [Seleccionar]
<HTML LANG="es">

<HEAD>
   <TITLE>Consulta de noticias</TITLE>
   <LINK REL="stylesheet" TYPE="text/css" HREF="estilo.css">

<?PHP
// Incluir bibliotecas de funciones
   include ("lib/fecha.php");
?>

</HEAD>

<BODY>

<H1>Consulta de noticias</H1>

<?PHP
     
   // Conectar con el servidor de base de datos
      /* comprobar la conexi�n */
      try {
      $db = new PDO('mysql:host=localhost;dbname=lindavista', 'root', '');
  }
  catch (PDOException $e) {
      echo $e->getMessage();
      }

   // Establecer el n�mero de filas por p�gina y la fila inicial
      $num = 5; // n�mero de filas por p�gina
  if( isset( $_GET['comienzo'] ) && !empty( $_GET['comienzo'] ) ){
      $comienzo =$_GET['comienzo'];
      }
  else  
    $comienzo = 0;
 
      /* crear una sentencia preparada */
  //$stmt = $db->prepare("insert into noticias (titulo, texto, categoria, fecha, imagen) values (:titulo, :texto, :categoria, :fecha, :imagen)");
  $stmt = $db->prepare("select* from noticias");
         
     
         
       $conex=  mysql_connect("localhost","root","")
        or die("noo se conectaaaaa");
mysql_select_db("lindavista",$conex)
                or die("erroooorr no se conectooooo");
       
       
        $actualizar=" UPDATE  noticias SET Titulo='COBO' WHERE Titulo='Cabas' ";
        mysql_query($actualizar,$conex) or die (mysql_error());
       
  /* ejecutar la consulta */
  $stmt->execute();     
         
         
         
     
      // Obtener Filas Afectadas
         
         
  $nfilas = $stmt->rowCount();

      if ($nfilas > 0)
      {
      // Mostrar n�meros inicial y final de las filas a mostrar
         print ("<P>Mostrando noticias " . ($comienzo + 1) . " a ");
         if (($comienzo + $num) < $nfilas)
            print ($comienzo + $num);
         else
            print ($nfilas);
         print (" de un total de $nfilas.\n");

      // Mostrar botones anterior y siguiente
         $estapagina = $_SERVER['PHP_SELF'];
         if ($nfilas > $num)
         {
            if ($comienzo > 0)
               print ("[ <A HREF='$estapagina?comienzo=" . ($comienzo - $num) . "'>Anterior</A> | ");
            else
               print ("[ Anterior | ");
            if ($nfilas > ($comienzo + $num))
               print ("<A HREF='$estapagina?comienzo=" . ($comienzo + $num) . "'>Siguiente</A> ]\n");
            else
               print ("Siguiente ]\n");
         }
         print ("</P>\n");

      }

   // Mostrar resultados de la consulta
      if ($nfilas > 0)
      {
         print ("<TABLE>\n");
         print ("<TR>\n");
         print ("<TH>T�tulo</TH>\n");
         print ("<TH>Texto</TH>\n");
         print ("<TH>Categor�a</TH>\n");
         print ("<TH>Fecha</TH>\n");
         print ("<TH>Imagen</TH>\n");
         print ("</TR>\n");
         
$rows = $stmt->fetchAll();
$fin = $comienzo + 5;
if($fin <= $nfilas){
$fin = $fin;
}
else{
$fin = $nfilas;
}
         for ($i=$comienzo; $i<$fin; $i++){
//foreach ($rows as $resultado){
$resultado = $rows[$i];
print ("<TR>\n");
             print ("<TD>" . $resultado['titulo'] . "</TD>\n");
             print ("<TD>" . $resultado['texto'] . "</TD>\n");
             print ("<TD>" . $resultado['categoria'] . "</TD>\n");
             print ("<TD>" . date2string($resultado['fecha']) . "</TD>\n");
if ($resultado['imagen'] != "")
               print ("<TD><A TARGET='_blank' HREF='img/" . $resultado['imagen'] .
                      "'><IMG BORDER='0' SRC='img/ico-fichero.gif' ALT='Imagen asociada'></A></TD>\n");
            else
               print ("<TD>&nbsp;</TD>\n");

            print ("</TR>\n");
         //}
}

         print ("</TABLE>\n");
      }
      else
         print ("No hay noticias disponibles");

// Cerrar conexi�n
   $db = null;

?>

</BODY>
</HTML>
------------------------------------------------------------------------------------------------
Este es el codigo de Eliminacion
---------------------------------------------------------------------------------------------
Código: [Seleccionar]
<HTML LANG="es">

<HEAD>
   <TITLE>Eliminación de noticias</TITLE>
   <LINK REL="stylesheet" TYPE="text/css" HREF="estilo.css">

<?PHP
// Incluir bibliotecas de funciones
   include ("lib/fecha.php");
?>

</HEAD>

<BODY>

<H1>Eliminación de noticias</H1>

<?PHP

   if (isset($_POST['eliminar']))
   {
      $eliminar = $_POST['eliminar'];

   // Conectar con el servidor de base de datos
      try {
      $db = new PDO('mysql:host=localhost;dbname=lindavista', 'root', '');
  }
  catch (PDOException $e) {
      echo $e->getMessage();
      }

   // Obtener número de noticias a borrar
      $borrar = $_POST['borrar'];
      $nfilas = count ($borrar);
     
   // Mostrar noticias a borrar
      for ($i=0; $i<$nfilas; $i++)
      {

      // Obtener datos de la noticia i-ésima
     $stmt = $db->prepare("select * from noticias where id = $borrar[$i]");
         
  /* ejecutar la consulta */
     $stmt->execute();
         $rows = $stmt->fetchAll();
         $resultado = $rows[$i];

      // Mostrar datos de la noticia i-ésima
         print ("Noticia eliminada:\n");
         print ("<UL>\n");
         print ("   <LI>Título: " . $resultado['titulo']);
         print ("   <LI>Texto: " . $resultado['texto']);
         print ("   <LI>Categoría: " . $resultado['categoria']);
         print ("   <LI>Fecha: " . date2string($resultado['fecha']));
         if ($resultado['imagen'] != "")
            print ("   <LI>Imagen: " . $resultado['imagen']);
         else
            print ("   <LI>Imagen: (no hay)");
         print ("</UL>\n");

      // Eliminar noticia
     $stmt = $db->prepare("delete from noticias where id = $borrar[$i]");
         $stmt->execute();

      // Borrar imagen asociada si existe
         if ($resultado['imagen'] != "")
         {
            $nombreFichero = "img/" . $resultado['imagen'];
            unlink ($nombreFichero);
         }

      }
      print ("<P>Número total de noticias eliminadas: " . $nfilas . "</P>\n");

   // Cerrar conexión
      $db = null;

      print ("<P>[ <A HREF='elimina_noticiaPDO.php'>Eliminar más noticias</A> ]</P>\n");

   }
   else
   {

   // Conectar con el servidor de base de datos
      try {
      $db = new PDO('mysql:host=localhost;dbname=lindavista', 'root', '');
  }
  catch (PDOException $e) {
      echo $e->getMessage();
      }

   // Enviar consulta
      $stmt = $db->prepare("select * from noticias");
   /* ejecutar la consulta */
  $stmt->execute();   

   // Obtener Filas Afectadas
  $nfilas = $stmt->rowCount();
      if ($nfilas > 0)
      {
         print ("<FORM ACTION='elimina_noticiaPDO.php' METHOD='post'>\n");

         print ("<TABLE>\n");
         print ("<TR>\n");
         print ("<TH>Título</TH>\n");
         print ("<TH>Texto</TH>\n");
         print ("<TH>Categoría</TH>\n");
         print ("<TH>Fecha</TH>\n");
         print ("<TH>Imagen</TH>\n");
         print ("<TH>Borrar</TH>\n");
         print ("</TR>\n");
         $rows = $stmt->fetchAll();
         for ($i=0; $i<$nfilas; $i++)
         {
            $resultado = $rows[$i];
            print ("<TR>\n");
            print ("<TD>" . $resultado['titulo'] . "</TD>\n");
            print ("<TD>" . $resultado['texto'] . "</TD>\n");
            print ("<TD>" . $resultado['categoria'] . "</TD>\n");
            print ("<TD>" . date2string($resultado['fecha']) . "</TD>\n");

            if ($resultado['imagen'] != "")
               print ("<TD><A TARGET='_blank' HREF='img/" . $resultado['imagen'] .
                      "'><IMG BORDER='0' SRC='img/ico-fichero.gif' ALT='Imagen asociada'></A></TD>\n");
            else
               print ("<TD>&nbsp;</TD>\n");

            print ("<TD><INPUT TYPE='CHECKBOX' NAME='borrar[]' VALUE='" .
               $resultado['id'] . "'></TD>\n");

            print ("</TR>\n");
         }

         print ("</TABLE>\n");

         print ("<BR>\n");
         print ("<INPUT TYPE='SUBMIT' NAME='eliminar' VALUE='Eliminar noticias marcadas'>\n");
         print ("</FORM>\n");
      }
      else
         print ("No hay noticias disponibles");

   // Cerrar conexión
      $db = null;

   }

?>

</BODY>
</HTML>
<HTML LANG="es">
-------------------------------------------------------------------------
Este es el codigo de Inserción
-------------------------------------------------------------------------
Código: [Seleccionar]
<HEAD>
   <TITLE>Inserción de nueva noticia</TITLE>
   <LINK REL="stylesheet" TYPE="text/css" HREF="estilo.css">

<?PHP
// Incluir bibliotecas de funciones
   include ("lib/fecha.php");
?>

</HEAD>

<BODY>

<?PHP
   //////////////////////////////////////////////////////////////////////////
   // si el formulario ha sido enviado
   //    validar formulario
   // fsi
   // si el formulario ha sido enviado y los datos son correctos
   //    procesar formulario
   // si no
   //    mostrar formulario
   // fsi
   //////////////////////////////////////////////////////////////////////////

// Obtener valores introducidos en el formulario
   
   global $insertar;
   global $titulo;
   global $texto;
   global $categoria;
   global $error;
   $error = false;
   global $errores;
   //global imagen;
   if (isset($_POST['insertar']))
   {
   $insertar = $_POST['insertar'];
   $titulo = $_POST['titulo'];
   $texto = $_POST['texto'];
   $categoria = $_POST['categoria'];

   // Comprobar que se han introducido todos los datos obligatorios
   // Título
      if (trim($titulo) == "")
      {
         $errores["titulo"] = "¡Debe introducir el título de la noticia!";
         $error = true;
      }
      else
         $errores["titulo"] = "";

   // Texto
      if (trim($texto) == "")
      {
         $errores["texto"] = "¡Debe introducir el texto de la noticia!";
         $error = true;
      }
      else
         $errores["texto"] = "";

   // Subir fichero
      $copiarFichero = false;

   // Copiar fichero en directorio de ficheros subidos
   // Se renombra para evitar que sobreescriba un fichero existente
   // Para garantizar la unicidad del nombre se añade una marca de tiempo
      if (is_uploaded_file ($_FILES['imagen']['tmp_name']))
      {
         $nombreDirectorio = "img/";
         $nombreFichero = $_FILES['imagen']['name'];
         $copiarFichero = true;

      // Si ya existe un fichero con el mismo nombre, renombrarlo
         $nombreCompleto = $nombreDirectorio . $nombreFichero;
         if (is_file($nombreCompleto))
         {
            $idUnico = time();
            $nombreFichero = $idUnico . "-" . $nombreFichero;
         }
      }
   // El fichero introducido supera el límite de tamaño permitido
      else if ($_FILES['imagen']['error'] == UPLOAD_ERR_FORM_SIZE)
      {
      $maxsize = $_POST['MAX_FILE_SIZE'];
         $errores["imagen"] = "¡El tamaño del fichero supera el límite permitido ($maxsize bytes)!";
         $error = true;
      }
   // No se ha introducido ningún fichero
      else if ($_FILES['imagen']['name'] == "")
         $nombreFichero = '';
   // El fichero introducido no se ha podido subir
      else
      {
         $errores["imagen"] = "¡No se ha podido subir el fichero!";
         $error = true;
      }
   }

// Si los datos son correctos, procesar formulario
   if (isset($insertar) && $error==false)
   {
       // Conectarse a la Base de Datos
      /* comprobar la conexión */
      try {
      $db = new PDO('mysql:host=localhost;dbname=lindavista', 'root', '');
  }
  catch (PDOException $e) {
      echo $e->getMessage();
      }
     
      $fecha = date ("Y-m-d"); // Fecha actual
 
  /* crear una sentencia preparada */
  //$stmt = $db->prepare("insert into noticias (titulo, texto, categoria, fecha, imagen) values (:titulo, :texto, :categoria, :fecha, :imagen)");
  $stmt = $db->prepare("insert into noticias (titulo, texto, categoria, fecha, imagen) values (?, ?, ?, ?, ?)");
 
  /* vincular los parámetros para los marcadores */
  //$stmt->bindParam(":titulo", $titulo, PDO::PARAM_INT);
      /*
  $stmt->bindParam(":titulo", $titulo);
  $stmt->bindParam(":texto", $texto);
  $stmt->bindParam(":categoria", $categoria);
  $stmt->bindParam(":fecha", $fecha);
  $stmt->bindParam(":imagen", $nombreFichero);*/

  $stmt->bindParam(1, $titulo);
  $stmt->bindParam(2, $texto);
  $stmt->bindParam(3, $categoria);
  $stmt->bindParam(4, $fecha);
  $stmt->bindParam(5, $nombreFichero);
 
  /* ejecutar la consulta */
  $stmt->execute();

  /* cerrar la conexión */
      $db = null;
 
   // Mover fichero de imagen a su ubicación definitiva
      if ($copiarFichero)
         move_uploaded_file ($_FILES['imagen']['tmp_name'],
         $nombreDirectorio . $nombreFichero);

   // Mostrar datos introducidos
      print ("<H1>Gestión de noticias</H1>\n");
      print ("<H2>Resultado de la inserción de nueva noticia</H2>\n");

      print ("La noticia ha sido recibida correctamente:");
      print ("<UL>");
      print ("<LI>Título: " . $titulo);
      print ("<LI>Texto: " . $texto);
      print ("<LI>Categoría: " . $categoria);
      print ("<LI>Fecha: " . date2string($fecha));
      if ($nombreFichero != "")
         print ("<LI>Imagen: <A TARGET='_blank' HREF='" . $nombreDirectorio . $nombreFichero . "'>" . $nombreFichero . "</A>");
      else
         print ("<LI>Imagen: (no hay)");
      print ("</UL>");

      print ("<BR>");
      print ("[ <A HREF='inserta_noticiaPDO.php'>Insertar otra noticia</A> ]");

   }
   else
   {
?>

<H1>Inserción de nueva noticia</H1>

<FORM CLASS="borde" ACTION="inserta_noticiaPDO.php" NAME="inserta" METHOD="POST" ENCTYPE="multipart/form-data">

<!-- Título de la noticia -->
<P><LABEL>Título: *</LABEL>
<INPUT TYPE="TEXT" NAME="titulo" SIZE="50" MAXLENGTH="50"

<?PHP
   if (isset($insertar))
      print ("VALUE='$titulo'>\n");
   else
      print (">\n");
   if ($errores["titulo"] != "")
      print ("<BR><SPAN CLASS='error'>" . $errores["titulo"] . "</SPAN>");
?>
</P>

<!-- Texto de la noticia-->
<P><LABEL>Texto: *</LABEL>
<TEXTAREA COLS="45" ROWS="5" NAME="texto">
<?PHP
   if (isset($insertar))
      print ("$texto");
   print ("</TEXTAREA>");
   if ($errores["texto"] != "")
      print ("<BR><SPAN CLASS='error'>" . $errores["texto"] . "</SPAN>");
?>
</P>

<!-- Categoría de la noticia-->
<P><LABEL>Categoría:</LABEL>
<SELECT NAME="categoria">
   <OPTION SELECTED>promociones
   <OPTION>ofertas
   <OPTION>costas
</SELECT></P>

<!-- Imagen asociada a la noticia -->
<P><LABEL>Imagen:</LABEL>
<INPUT TYPE="HIDDEN" NAME="MAX_FILE_SIZE" VALUE="102400">
<INPUT TYPE="FILE" SIZE="44" NAME="imagen">

<?PHP
   /*if ($errores["imagen"] != "")
      print ("<BR><SPAN CLASS='error'>" . $errores["imagen"] . "</SPAN>");*/
?>
</P>

<!-- Botón de envío -->
<P><INPUT TYPE="SUBMIT" NAME="insertar" VALUE="Insertar noticia"></P>

</FORM>

<P>NOTA: los datos marcados con (*) deben ser rellenados obligatoriamente</P>

<?PHP
   }
?>

</BODY>
</HTML>
-------------------------------------------------------------------------------------
Espero de su ayuda !!!  ;)

« Última modificación: 14 de Septiembre 2014, 18:01 por Alex Rodríguez »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2659
    • Ver Perfil
Re:Boton Para Modificar Columna y Fila en mysql_query ?¿
« Respuesta #1 en: 18 de Mayo 2014, 10:08 »
Si simplemente quieres que al pulsar un botón se ejecuten unas instrucciones puedes crear un formulario donde no tengas campos input, sino simplemente un botón submit, de forma que al pulsar en el botón del formulario se te envíe a la dirección donde tienes las instrucciones a ejecutar.

Ejemplo básico de formulario: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=520:formularios-html-etiquetas-form-label-tipos-checkbox-option-button-radio-y-combobox-cu00720b&catid=69:tutorial-basico-programador-web-html-desde-cero&Itemid=192

Salud

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Re:Boton Para Modificar Columna y Fila en mysql_query ?¿
« Respuesta #2 en: 19 de Mayo 2014, 00:48 »
Hola Ogramar... Gracias por ayudarme en cada foro !  ;)

No te he entendido muy bien... o bueno si algo si te he entendido y es crear un codigo HTML pero no se como lo voy a conectar con el codigo de  SQL ... Te pediria que me orientaras un poco mejor .. ya vi el link que me pegastes pero mas o menos entiendo .. te colocare una imagen para que veas como es la estructura al ejecutar el codigo y donde debo colocalar el HTML ... y me gustaria saber como conectar el HTML a el  SQL  a la consulta del metodo UPDATE para que me cambie una Fila O Columna...


Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2659
    • Ver Perfil
Re:Boton Para Modificar Columna y Fila en mysql_query ?¿
« Respuesta #3 en: 19 de Mayo 2014, 22:27 »
No había entendido lo que querías hacer, ahora lo voy viendo. Supongamos que quieres cambiar en la fila segunda donde pone paintball y sustituirlo por football y que se cambie cuando pulsas un botón. ¿Pero cómo le indicas que lo que quieres cambiar es paintball y no otra cosa? Con el diseño tal y como lo tienes no sé cómo hacerlo. Se me ocurren varias formas de indicarlo, pero harían falta más casillas de introducción de datos para poder indicar qué es lo que se quiere cambiar y con qué valor debe ser actualizado.

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Re:Boton Para Modificar Columna y Fila en mysql_query ?¿
« Respuesta #4 en: 20 de Mayo 2014, 04:33 »
Si coloque el pantallazo para guiarnos mejor....Esacto me has entendido !!!  :D  .... Con mi diseño no se podra ? ¿  :-\ .....Como le indico mm..  se le podria indicar con una condicion ? pieso yo no se ! que diras tu !  :P .. Bueno con la forma que se te ocurra estaria bien pues tratando de seguir el diseño .. y si no pues con otro diseño ! .. con la foram que se te ocurra de indicarlo estaria bien  ! ... Espero tu ayuda  Ogramar .. Pues si tengo algo distinto te digo ! ... Gracias por tu orientacion !  ;)

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2659
    • Ver Perfil
Re:Boton Para Modificar Columna y Fila en mysql_query ?¿
« Respuesta #5 en: 20 de Mayo 2014, 21:33 »
Puedes plantear el diseño de varias maneras. Por ejemplo

- Que los datos aparezcan directamente dentro de casillas editables, de modo que puedas modificar el dato y pulsar un botón, link o icono en el lado derecho que guarde la modificación en base de datos

- Que los datos aparezcan en una tabla normal y en lado derecho un link, botón o icono modificar de modo que al pulsar modificar la fila se convierta en una serie de casillas editables

- Que los datos aparezcan en una tabla normal y en lado derecho un link, botón o icono modificar de modo que al pulsar te lleve a una página nueva de edición

- Que los datos aparezcan en una tabla normal y en lado derecho un link, botón o icono modificar de modo que al pulsar se active en la parte inferior un formulario de edición

Siguiendo esta última idea un código base podría ser el siguiente: ahora mismo sólo lo he dejado indicado cómo sería, la tabla, en el lado derecho aparece modificar o borrar pero no hace nada de momento, y en la parte inferior aparecerían los datos cuando pulses en editar. Una vez modificados, pulsas el botón modificar de la parte inferior y se recargaría la página con los nuevos datos actualizados. Este es un posible diseño que he utilizado en algunos casos pero en tu caso tendrás que decidir cuál es el diseño que más te conviene.

Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<title>Ejemplo - aprenderaprogramar.com</title>
<meta charset="utf-8">
<style type="text/css">
body {background-color:white; font-family: sans-serif;}
label {color: maroon; display:block; padding:5px;}
table td {padding: 5px; text-align: center; }
</style>

<script type="text/javascript">
function validarFormulario() {
var msg = 'Modificamos los datos en la base de datos ';
alert (msg);
}
</script>
</head>

<body>
<div id="cabecera">
<h1>Consulta de noticias</h1>
<h2>Mostrando noticias</h2>
</div>

<table border="1" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td valign="top" ><p><b>Id</b></p></td>
<td valign="top" ><p><b>Título</b></p></td>
<td valign="top" ><p><b>Texto</b></p></td>
<td valign="top" ><p><b>Categoría</b></p></td>
<td valign="top" ><p><b>Fecha</b></p></td>
<td valign="top" ><p><b>Imagen</b></p></td>
<td valign="top" > </td>
</tr>

<tr>
<td valign="top" ><p>1</p></td>
<td valign="top" ><p>COBO</p></td>
<td valign="top" ><p>Su nuevo disco</p></td>
<td valign="top" ><p>Música</p></td>
<td valign="top" ><p>30/09/2011</p></td>
<td valign="top" ><p>Cobo.jpg</p></td>
<td valign="top" ><p>Editar</p>
<p>Borrar</p></td>
</tr>

<tr>
<td valign="top" ><p>2</p></td>
<td valign="top" ><p>Paintball</p></td>
<td valign="top" ><p>Adrenalina sin límites</p></td>
<td valign="top" ><p>Deportes</p></td>
<td valign="top" ><p>29/09/2011</p></td>
<td valign="top" ><p>Paintball.png</p></td>
<td valign="top" ><p>Editar</p>
<p>Borrar</p></td>
</tr>

<tr>
<td valign="top" ><p>3</p></td>
<td valign="top" ><p>Alejandra</p></td>
<td valign="top" ><p>Más descarada que nunca</p></td>
<td valign="top" ><p>Personaje</p></td>
<td valign="top" ><p>28/09/2011</p></td>
<td valign="top" ><p>Alejandra.jpg</p></td>
<td valign="top" ><p>Editar</p>
<p>Borrar</p></td>
</tr>
</tbody>
</table>

<!-- Formulario para edición de una fila -->

<div style="width:600px; margin-top:60px;">
<form name ="editarFila" class="formularioTipo1" method="get" action="ejemploEdicion.html" onsubmit="validarFormulario()">
<p>Si quieres editar el contenido de datos de una fila pulsa sobre editar y modifica en estas casillas los datos oportunos, luego pulsa en el botón "Modificar":</p>
<label for="id"><span>Id:</span> <input id="id" type="text" name="id" /></label>
<label for="nombre"><span>Titulo:</span> <input id="titulo" type="text" name="titulo" /></label>
<label for="apellidos"><span>Texto:</span> <input id="texto" type="text" name="texto" /></label>
<label for="categoria"><span>Categoría:</span> <input id="categoria" type="text" name="categoria" /></label>
<label for="fecha"><span>Fecha:</span> <input id="fecha" type="text" name="fecha" /></label>
<label for="imagen"><span>Imagen:</span> <input id="imagen" type="text" name="imagen" /></label>
<label>

<input type="submit" value="Modificar" />
<input type="reset" value="Cancelar" />
</label>
</form>
</div>
</body>
</html>

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Re:Boton Para Modificar Columna y Fila en mysql_query ?¿
« Respuesta #6 en: 21 de Mayo 2014, 03:47 »
Muchas Gracias.. Ogramar

Bueno se asemeja mas este :

- Que los datos aparezcan en una tabla normal y en lado derecho un link, botón o icono modificar de modo que al pulsar modificar la fila se convierta en una serie de casillas editables..

Como lograriamos este ejemplo y conectarlo a la istruccion de SQL para que se actualizen las Filas y esta actualizacion pues llegue a la base de datos que tengo ya creada.

Y en que parte del codigo lo debo colocar ?¿
« Última modificación: 21 de Mayo 2014, 04:36 por Mac »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2659
    • Ver Perfil
Re:Boton Para Modificar Columna y Fila en mysql_query ?¿
« Respuesta #7 en: 22 de Mayo 2014, 22:53 »
Este podría ser un replantemiento: al pulsar sobre "editar" que las casillas se conviertan en editables. Una vez se quisieran guardar los cambios habría que pulsar en "Guardar cambios". Esto está hecho por javascript porque creo es lo que le da más agilidad.

Otra opción sería que todo saliera directamente en modo editable (como la última fila de la tabla que pongo como ejemplo) y que no exista el botón editar, sino directamente sólo "Guardar cambios"

De cualquier forma lo que deberías crear es un formulario que envíe los datos de forma que puedas operar sobre la base de datos con esos datos que te llegan cuando pulsas "Guardar cambios"

Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo - aprenderaprogramar.com</title>
<meta charset="utf-8">
<style type="text/css">

body {background-color:white; font-family: sans-serif;}
label {color: maroon; display:block; padding:5px;}
table td {padding: 5px; text-align: center; }
p.simulaLink {color: blue; cursor:pointer;}
</style>

<script type="text/javascript">

function transformarEnEditable(nodo) {
var nodoContent = nodo.querySelectorAll("p");
var idInicial = nodoContent[0].firstChild.nodeValue;
var tituloInicial = nodoContent[1].firstChild.nodeValue;
var textoInicial = nodoContent[2].firstChild.nodeValue;
var catInicial = nodoContent[3].firstChild.nodeValue;
var fechaInicial = nodoContent[4].firstChild.nodeValue;
var rutaImgInicial = nodoContent[5].firstChild.nodeValue;

var nuevoCodigo = '<tr>'+
'<td > <input type="text" name="id" id="id" value="'+idInicial+'" size="10"></td>'+
'<td > <input type="text" name="titulo" id="titulo" value="'+tituloInicial+'" size="10"></td>'+
'<td > <input type="text" name="texto" id="texto" value="'+textoInicial+'" size="20"></td>'+
'<td > <input type="text" name="categoria" id="categoria" value="'+catInicial+'" size="10"></td>'+
'<td > <input type="text" name="fecha" id="fecha" value="'+fechaInicial+'" size="10"></td>'+
'<td > <input type="text" name="imagen" id="imagen" value="'+rutaImgInicial+'" size="10"></td>'+
'<td  ><p class="simulaLink">Guardar cambios</p>'+
'<p>Borrar</p></td>'+
'</tr>';

nodo.innerHTML = nuevoCodigo;
}
</script>

</head>

<body>
<div id="cabecera">
<h1>Consulta de noticias</h1>
<h2>Mostrando noticias</h2>
</div>

<table border="1" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td><p><b>Id</b></p></td>
<td><p><b>Título</b></p></td>
<td><p><b>Texto</b></p></td>
<td><p><b>Categoría</b></p></td>
<td><p><b>Fecha</b></p></td>
<td><p><b>Imagen</b></p></td>
<td> </td>
</tr>

<tr>
<td><p>1</p></td>
<td><p>COBO</p></td>
<td><p>Su nuevo disco</p></td>
<td><p>Música</p></td>
<td><p>30/09/2011</p></td>
<td><p>Cobo.jpg</p></td>
<td><p class = "simulaLink" onclick="transformarEnEditable(this.parentNode.parentNode)">Editar</p>

<p>Borrar</p></td>
</tr>

<tr>
<td><p>2</p></td>
<td><p>Paintball</p></td>
<td><p>Adrenalina sin límites</p></td>
<td><p>Deportes</p></td>
<td><p>29/09/2011</p></td>
<td><p>Paintball.png</p></td>
<td><p>Editar</p>

<p>Borrar</p></td>
</tr>

<tr>
<td><p>3</p></td>
<td><p>Alejandra</p></td>
<td><p>Más descarada que nunca</p></td>
<td><p>Personaje</p></td>
<td><p>28/09/2011</p></td>
<td><p>Alejandra.jpg</p></td>
<td><p>Editar</p>

<p>Borrar</p></td>
</tr>

<tr>
<td > <input type="text" name="id" id="id" value="4" size="10"></td>
<td > <input type="text" name="titulo" id="titulo" value="america" size="10"></td>
<td > <input type="text" name="texto" id="texto" value="la prueba del delito" size="20"></td>
<td > <input type="text" name="categoria" id="categoria" value="Música" size="10"></td>
<td > <input type="text" name="fecha" id="fecha" value="30/08/2007" size="10"></td>
<td > <input type="text" name="imagen" id="imagen" value="carro.jpg" size="10"></td>
<td  ><p class="simulaLink">Guardar cambios</p>
<p>Borrar</p></td>
</tr>

</tbody>
</table>

</body>
</html>


 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".