Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/04/2014, 08:46
Avatar de HackID1
HackID1
 
Fecha de Ingreso: febrero-2013
Ubicación: En Update
Mensajes: 492
Antigüedad: 11 años, 9 meses
Puntos: 17
Respuesta: Rellenar campos cogiendolos de una bd por php

Holaa gracias por tu respuesta, bueno he estado bastante rato intentando ver mi fallo he cambiado varias veces la consulta etc, el input value tambien lo he cambiado de muchas formas y no me visualiza los datos correctos.

En si.

este es mi código aquí lo expongo.

Lo que quiero es que en el formulario introduzcas ya sea o el codcliente o el codtrabajo y los otros datos se rellenen extrayendo los datos de la bd.

Código PHP:
Ver original
  1. <?php
  2.  
  3. /*Script autorellenar formulario trabajos.php*/
  4.  
  5. $trabajo=$_POST['codtrabajo'];
  6. $cliente=$_POST['codcliente'];
  7.  
  8. /*Aquí la consulta*/
  9.    
  10. include ("abre_conexion.php");
  11.  
  12. $query="SELECT  cl.nombre, cl.apellido, cl.telefono, cl.email
  13.             FROM clientes cl, trabajos tr
  14.             WHERE  cl.codcliente = '$cliente'
  15.             AND cl.codcliente = tr.codcliente
  16.             ";
  17.        
  18. // enviamos la consulta a MySQL
  19. $datos = mysql_query($query, $conexion_db) or die(mysql_error());
  20.  
  21. //mientras alla datos los muestro.
  22. /* esto es lo unico que se visualiza, el nombre correctamente.*/
  23. while ($row = mysql_fetch_assoc($datos)) {
  24.    echo $row['nombre']."<br>";
  25. }
  26.  
  27. /*A continuacion lee los resultados y guardalos en variables*/
  28. $nombre = $row['nombre'];
  29. $apellido = $row['apellido'] ;
  30. $telefono = $row['telefono'] ;
  31. $email = $row['email'] ;
  32.  
  33.  
  34. /*Imprime los input con el valor de la variable*/
  35.  
  36. echo "<td>Nombre</td>";
  37. echo "<td><input type='text' value='$nombre'> </td>";
  38.  
  39. echo "<td>Apellido</td>";
  40. echo "<td><input type='text' value='$apellido'> </td>";
  41.  
  42. echo "<td>Telefono</td>";
  43. echo "<td><input type='text' value='$telefono'> </td>";
  44.  
  45. echo "<td>Email</td>";
  46. echo "<td><input type='text' value='$email'> </td>";
  47.  
  48.  /*en este input sale el input y dentro $nombre, en vez de el nombre extraido de la bd.*/
  49.  echo "<td>Nombre</td>";
  50. echo '<td><input type="text" value="$nombre"></td>';
  51.  
  52.  ?>

El formulario mio no hace caso a el dato que yo escriba en los input:

Código HTML:
Ver original
  1. <label>(*) C&oacute;digo Trabajo: </label>
  2.                     <input type="text" name="codtrabajo"
  3.                          id="trabajo" />
  4.                     <br/><br/>
  5.                    
  6.                         <!-- onchange="carga()"; llama rellenar_campos.php-->
  7.                     <label>(*) C&oacute;digo Cliente: </label>
  8.                     <input type="text" name="codcliente" maxlength="50"
  9.                           id="cliente"  onchange="carga()"; />
  10.                     <br/><br/>

Solamente que cuando me situo encima de el este hace que aparezca abajo el resto de inputs como tu decias, pero en cada input no se ven los datos extraidos.

¿Qué puedo estar haciendo mal,??
La query la he probado de mil formas y ninguna me dio resultado.

Te dejo mi bd. que son 2 tablas haber si me puedes ayudar.

Código SQL:
Ver original
  1. -- CREACION TABLAS bd  control1
  2.  
  3.     /* pongo fecha varchar10 para permitir almacenar la forma de dd/mm/yy*/
  4. CREATE TABLE clientes (
  5.         codcliente  INT NOT NULL,
  6.         nombre      VARCHAR(50),
  7.         apellido    VARCHAR(50),
  8.         telefono    INT,
  9.         email       VARCHAR(50),
  10.     PRIMARY KEY (codcliente)
  11.             );
  12.            
  13.             /* campo: tipo_imagen: almacena tipo imagen MIME */
  14. CREATE TABLE trabajos (
  15.         codtrabajo      INT AUTO_INCREMENT,
  16.         codcliente      INT NOT NULL,
  17.         tipo_trabajo    VARCHAR(20),
  18.         estado          VARCHAR(20),   
  19.         descripcion     text,
  20.     PRIMARY KEY (codtrabajo),
  21.     FOREIGN KEY (codcliente) REFERENCES clientes(codcliente)
  22.             );

Como vez el campo codcliente pertenece a tabla clientes, y es una FKey en la tabla trabajos.

Muchas gracias por tu tiempo y aún asi me has ayudado muchisimo, pero aún veo que los valores no se ven en cada input correspondiente :( .

Saludos!!

PD: pienso que es algo en la consulta que esta mal, como he dicho la he probado de mil formas y no me funciona.
__________________
Puntuar +1 es buena forma de dar las gracias. :P
Your Time is limited, so don't waste it living someone else´s life.
Por: HackID1