Ir al contenido


Foto

ver registros en formulario


  • Por favor identifícate para responder
2 respuestas en este tema

#1 marthamelo

marthamelo

    Advanced Member

  • Miembros
  • PipPipPip
  • 106 mensajes
  • LocationA Coruña

Escrito 24 octubre 2012 - 02:02

Hola estoy estudiando php  y deseo hacer  un update  a los registros de una tabla escogiendo el campo y escribiendo el valor, en la respuesta de la query  puede ser uno o más registros. Entonces los datos de cada campo aparecerá en un componente de formulario que a su ves estos dentro de una tabla hasta ahí todo bien, pero cuando ejecuto  no me quedan alineado dentro de la tabla si no que el primero sale bien pero los otros  salen independiente.
Lo que deseo es que me ayuden a que todos queden dentro de la tabla aquí le dejo el código y una imagen de como queda
Codigo:
<html>
<head>
<title>EDITAR REGISTRO</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
  <?php
  require_once('conexion.inc.php');
  $conexion=new mysqli($servidor,$usuario,$password,$basedatos) ;
  ?>
<p align=center><font style=block> EDITAR PRODUCTO POR CAMPOS </font> </p><br>
<table align=center border=1>
<FORM  name=form1 ACTION=updatecam.php METHOD=post>
<tr><th>Campo a editar: </th><th><select name=CAMPO ID=CAMPO size=1>
  <option>IdProducto</option>
  <option>Nombre</option>
  <option>Precio</option>
  <option>DescripcionProducto</option>
  <option>ImagenURL</option>
  <option>NombreCategoria</option>
</select></th></tr>
<tr><th>Texto: </th><th><INPUT TYPE=text ID=CLAVE NAME=CLAVE size=25></th></tr>
</table>
<p align=center><INPUT TYPE=submit NAME=OK ID=OK VALUE="BUSCAR"></p><BR>

</FORM></HTML>

<?php

@ $OK=$_POST['OK'];
if ($OK == "BUSCAR")
  {
    $CLAVE=$_POST['CLAVE'];
    $CAMPO=$_POST['CAMPO'];
   
    $q1="select * from productos where  ".$CAMPO." =  '". $CLAVE."'";
    $tabla1 =mysqli_query($conexion,$q1)or die ("problema con la busqueda");
    echo "<FORM name=form2 ACTION=updatecam.php METHOD=post>";
    echo "<table align=center border=1>";
    echo"<tr><th>Nombre</th>";
    echo"<th>Precio</th>";
    echo"<th>Descripcion</th>";
    echo"<th>Imagen</td>";
    echo"<th>Categoria</th></tr>";
    while ($fila=$tabla1->fetch_array())
    {
      echo "<tr><td><INPUT TYPE=text ID=Nombre NAME=Nombre value=$fila[1]></td>\t";
      echo "<td><INPUT TYPE=text id=Precio size=9 NAME=Precio value=$fila[2]></td>\t";
      echo "<td><INPUT TYPE=text id=Descripcion NAME=Descripcion value=$fila[3]></td>\t";
      echo "<td><INPUT TYPE=text id=Imagen NAME=Imagen value=$fila[4]></td>\t";
      echo "<td><INPUT TYPE=text id=Categoria NAME=Categoria size=9  value=$fila[5]></td>\t</tr></table><br>";
      // echo "<input type=hidden id=clave name=clave value=$fila[0]>";
    }
  echo "<table align=center><tr><th><INPUT  TYPE=submit id=OK NAME=OK VALUE=editar></th>";
  echo "<th><INPUT TYPE=submit id=canc NAME=canc VALUE=Cancelar></th></tr></table>";
 
  echo "</FORM>";

  }

if ($OK == "editar")
  {
// coneccion al servidor de bases de datos
  require_once('conexion.inc.php');
  $dbh=mysql_connect ($servidor,$usuario,$password) or die ('problema conectando porque :' . mysql_error());
  mysql_select_db ($basedatos,$dbh);

// preparando la instruccion sql
  $Nombre=$_POST['Nombre'];
  $Precio=$_POST['Precio'];
  $Descripcion=$_POST['Descripcion'];
  $Imagen=$_POST['Imagen'];
  $Categoria=$_POST['Categoria'];
  $clave=$_POST['clave'];
  $q2 = "UPDATE productos SET Nombre='$Nombre', Precio='$Precio', DescripcionProducto='$Descripcion', ImagenURL='$Imagen', NombreCategoria='$Categoria' where IdProducto='$clave'";

// ejecutando el query

  mysqli_query($conexion,$q2) or die ("<br>problema con query");

  echo "<p align=center>REGISTRO EDITADO</p>";
  echo"<p align='center'><a href='vistadetabla1.php'>Ver Tabla</a></p>";

  };

?>
</body>
</html>


Imagen:

Archivos adjuntos


  • 0

#2 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 24 octubre 2012 - 02:32

Hola,

veo la imagen.... podrías poner una de como quieres que quede?
  • 0

#3 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 25 octubre 2012 - 07:25

Es que dentro del while tienes el cerrojo de la tabla cuando debe quedar fuera, debe ser así:

while ($fila=$tabla1->fetch_array())
{
  echo "<tr><td><INPUT TYPE=text ID=Nombre NAME=Nombre value=$fila[1]></td>\t
            <td><INPUT TYPE=text id=Precio size=9 NAME=Precio value=$fila[2]></td>\t
            <td><INPUT TYPE=text id=Descripcion NAME=Descripcion value=$fila[3]></td>\t
            <td><INPUT TYPE=text id=Imagen NAME=Imagen value=$fila[4]></td>\t
            <td><INPUT TYPE=text id=Categoria NAME=Categoria size=9  value=$fila[5]></td>\t</tr>";
// echo "<input type=hidden id=clave name=clave value=$fila[0]>
}
</table><br> //----> Fuera del While


NOTA: Con un sólo echo era suficiente, fíjate bien en el código anterior abro las comillas al principio y cierro en la quinta columna de la fila.

Saludos.
  • 0




IP.Board spam blocked by CleanTalk.