Foros del Web » Programando para Internet » PHP »

Escribir en base de datos

Estas en el tema de Escribir en base de datos en el foro de PHP en Foros del Web. Hola. A ver tengo una base de datos, pero llenarla a través del php myadmin es un poco lento. ¿Como puedo llenarla a través de ...
  #1 (permalink)  
Antiguo 18/06/2006, 11:11
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 8 meses
Puntos: 1826
Escribir en base de datos

Hola. A ver tengo una base de datos, pero llenarla a través del php myadmin es un poco lento.

¿Como puedo llenarla a través de un formulario de entrada?

Les pongo el código que uso para leer los registros a ver si me pueden ayudar.

Código PHP:
<table border="1">
<tr>
<th>Código</th>
<th>Nombre</th>
<th>Activo</th>
</tr>

<? $query="SELECT * FROM medic  " ;
    
$username="Datos.com";
$password="Clave";
$database="BaseDatos";

$db mysql_connect("localhost"$database$password);
mysql_select_db("BaseDatos"$db);
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();


$i=0;
while (
$i $num) {

$codigo=mysql_result($result,$i,"cve");
$nombre =mysql_result($result,$i,"nom");
$activo=mysql_result($result,$i,"act");
?>

<tr>
<td><? echo "$codigo"?></td>
<td><? echo "$nombre"?></td>
<td><? echo "$activo"?></td>

<?
++$i;
}
?>
</table>

Última edición por Rafael; 28/08/2006 a las 16:34 Razón: ortografía
  #2 (permalink)  
Antiguo 18/06/2006, 13:03
Avatar de elquique  
Fecha de Ingreso: marzo-2004
Ubicación: Florida, Uruguay
Mensajes: 2.495
Antigüedad: 20 años, 8 meses
Puntos: 78
Primero que sera igual de lento llenarla en un formulario hecho por ti que el de myadmin, ya que en ambos debes digitar.

O acaso tienes los datos en algun tipo de archivo que puedas convertir e insertarlo automatico en la base de datos ???
__________________
Blog Jorge Oyhenard | Tutoriales Photoshop
  #3 (permalink)  
Antiguo 17/08/2006, 12:51
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 8 meses
Puntos: 1826
No no lo tengo.

Reformulo la pregunta por otra necesidad.

Va a resultar más rápido ya que alguien lo hará por mi :)

Pero no le puedo dar acceso al phpmyadmin, así que necesito que lo llene en un formulario aparte.

¿Como sería?

Gracias.
  #4 (permalink)  
Antiguo 17/08/2006, 15:11
 
Fecha de Ingreso: agosto-2006
Mensajes: 177
Antigüedad: 18 años, 3 meses
Puntos: 1
haber no se cuantos datos vas ingresar por formulario

pero debes crear una pagina con el formulario con todos los campos a llenar y luego procesarlos con php y guardarlos en la base de datos mediante una consulta sql

mysql_query("INSERT INTO tabla VALUES('valor1','valor2','valor3','valor4')",$link );

no se si eso aclara un poco mas lo que quieres hacer.
  #5 (permalink)  
Antiguo 17/08/2006, 18:39
Avatar de elquique  
Fecha de Ingreso: marzo-2004
Ubicación: Florida, Uruguay
Mensajes: 2.495
Antigüedad: 20 años, 8 meses
Puntos: 78
Pero si lo va a hacer otra persona porque no arreglas con el ??
__________________
Blog Jorge Oyhenard | Tutoriales Photoshop
  #6 (permalink)  
Antiguo 28/08/2006, 16:42
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 8 meses
Puntos: 1826
Elquique, gracias por el interés, pero el post es para aprender un poco más de programación php.

Rumo, Justo eso, como sería el código para procesarlo, ya sé más o menos como se lee, ahora quiero aprender como se escribe.
  #7 (permalink)  
Antiguo 28/08/2006, 16:52
 
Fecha de Ingreso: agosto-2006
Mensajes: 177
Antigüedad: 18 años, 3 meses
Puntos: 1
$valor[1] = $_POST['campo1'];
$valor[2] = $_POST['campo2'];
$valor[3] = $_POST['campo3'];
etc...

mysql_query("INSERT INTO tabla VALUES('$valor[1]','$valor[2]','$valor[3]','etc')",$link );
  #8 (permalink)  
Antiguo 28/08/2006, 17:17
Avatar de Belero  
Fecha de Ingreso: agosto-2006
Mensajes: 98
Antigüedad: 18 años, 2 meses
Puntos: 0
Ahí va un ejemplo por si quieres guiarte

Guardamos los campos de la tabla en un array que necesitaremos en el php del formulario y en el de meter los datos
Código PHP:
$campos = array(
  
'id' => array(
    
'longitud' => 8,
    
'tipo' => 'int'
  
),
  
'nombre' => array(
    
'longitud' => 100,
    
'tipo' => 'varchar'
  
)
); 
Generamos el formulario con los campos
Código PHP:
function generarFormulario($campos)
{
  
$formulario '<form method="post" action="z2.php">';
  foreach(
$campos AS $clave => $valor)
  {
    switch(
$valor['tipo'])
    {
      case 
'int':
      case 
'varchar':
        
$formulario .= $clave ' <input type="text" name="' $clave '" maxlength="' $valor['longitud'] . '" /><br />';
        break;
      default:
        die(
"Falta tipo de campo para generar formulario.")
    }
  }
  
$formulario .= '<input type="submit" value="Enviar" /></form>';
  
  return 
$formulario;

Comprobamos los datos del formulario
Código PHP:
function comprobarDatos($campos)
{
  
$datos = array();
  foreach(
$campos AS $clave => $valor)
  {
    
$dato $_POST[$clave];

    if(
      empty(
$dato) OR
      
strlen($dato) > $valor['longitud']
    )
    {
      return 
false;
    }

    switch(
$valor['tipo'])
    {
      case 
'int':
        
$dato intval($dato);
        break;
      case 
'varchar':
        
$dato strval($dato);
        break;
      default:
        die(
"Falta tipo de dato para comprobar");
    }
    
    if(empty(
$dato))
    {
      return 
false;
    }

    
$datos[$clave] = $dato;
  }

  return 
$datos;

Generamos la consulta de la bd
Código PHP:
function consultaDb($campos,$datos)
{
  
$nombres = array();
  foreach(
$campos AS $clave => $valor)
  {
    
$nombres[] = $clave;
    
$valores[] = "'" stripslashes($datos[$clave]) . "'";
  }

  
$consulta '
    INSERT INTO tabla(
      ' 
implode(','$nombres) . '
    )VALUES(
      ' 
implode(','$valores) . '
    )
  '
;

  return 
$consulta;

Con todo esto sólo necesitamos 3 páginas: la del array con los datos de los campos de la tabla y las funciones (todo lo de arriba), la del formulario y la que comprueba e inserta los datos. La primera es todo lo de arriba

formulario.php
Código PHP:
require("datos.php");
echo 
generarFormulario($campos); 
comprobar.php
Código PHP:
require("datos.php");
$datos comprobarDatos($campos);

$consulta consultaDb($campos$datos);

// Y ya tenemos la consulta de insertar 
  #9 (permalink)  
Antiguo 29/08/2006, 00:12
Avatar de elquique  
Fecha de Ingreso: marzo-2004
Ubicación: Florida, Uruguay
Mensajes: 2.495
Antigüedad: 20 años, 8 meses
Puntos: 78
Cita:
Iniciado por Rafael Ver Mensaje
Elquique, gracias por el interés, pero el post es para aprender un poco más de programación php.

Rumo, Justo eso, como sería el código para procesarlo, ya sé más o menos como se lee, ahora quiero aprender como se escribe.
Genial, es que no entendia, pero me alegro mucho que quieras aprender ya que esto del PHP es apasionante.

Ademas es asi de sencillo como dice Rumo

Y bueno lo Belero seria la mejor forma :) un poco mas compleja de entender pero reutilizable y super organizada merece la pena
__________________
Blog Jorge Oyhenard | Tutoriales Photoshop
  #10 (permalink)  
Antiguo 30/08/2006, 23:32
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 8 meses
Puntos: 1826
Rumo, Belero, Elquique, Gracias.

Ya tengo rato haciendo mis pininos con php, y ya no lo dejo :), soy diseñador, asi que imaginense el trabajo que me cuesta de repente, pero siempre trato de encontrarle la lógica del programa, y la sintaxis.

El brinco que estoy haciendo ahora es para bases de datos... Ya hice mis cositas guardando datos en archivos de texto, pero las bases de datos me imponen un poco.

Reviso el código, experimento un poco, y cualquier duda por acá les doy lata.

P.D. Elquique ¿Papá primerizo :)?
  #11 (permalink)  
Antiguo 31/08/2006, 00:29
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 21 años
Puntos: 1
yo encuentro el php aburrido.. TT pero me da de comer ^^

PD: no te alejes demasiado del diseño que luego te arrepentiras XD
  #12 (permalink)  
Antiguo 31/08/2006, 07:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Iniciado por BiGloOl Ver Mensaje
yo encuentro el php aburrido.. TT pero me da de comer ^^

PD: no te alejes demasiado del diseño que luego te arrepentiras XD
mm Pues yo vivo de "PHP" sólo .. no "diseño" y me entretengo bastante además que me dá de comer (bien xD).

El tema es "especialización" .. creo yo . .a veces "hacer de todo" no te dá el tiempo para conocer en profundidad todo lo que manejas. Pero bueno, negocios y formas de trabajar hay muchas ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #13 (permalink)  
Antiguo 31/08/2006, 08:45
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 21 años
Puntos: 1
yo ahora mismo los trabajos que me estan entrando son todo php.. pero ami como es todo mas o menos lo mismo me aburre. Y si la especialicacion hace que subas el cache cuando trabajas de eso..
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 21:20.