Foros del Web » Programando para Internet » PHP »

Ayuda:.......porfa.. Mantenimiento de tablas Simplificado

Estas en el tema de Ayuda:.......porfa.. Mantenimiento de tablas Simplificado en el foro de PHP en Foros del Web. Q tal amigos. bueno miren estoy intentando hacer un modulo el cual me tiene cabezon... Aver. miren estoy haciendo un modulo el cual hace un ...
  #1 (permalink)  
Antiguo 24/08/2007, 09:35
 
Fecha de Ingreso: agosto-2004
Mensajes: 258
Antigüedad: 19 años, 8 meses
Puntos: 0
De acuerdo Ayuda:.......porfa.. Mantenimiento de tablas Simplificado

Q tal amigos. bueno miren estoy intentando hacer un modulo el cual me tiene cabezon...

Aver. miren estoy haciendo un modulo el cual hace un mantenimiento de tablas.. PAra ello lo estoy intentando simplificar todo lo posible. a ver tengo un formulario el cual me muestra los campos de dicaha tabla con solo enviarle el nombre de la tabla a manejar, cabe indicar q esta parte esta referida a un ingreso de datos a una tabla x. Bueno una vez q me muestra los datos y su respectivo text y boton de envio me manda esos datos a otra pagina donde recibo dichas datos en sus respectivas variables..

Hasta ahi espero hacerme entender si no me lo dicen..

Ahora en esta parte toca el ingreso (insert into) a la tabla en mencion.. La tematica era como lograba capturar o hacer q mi insert se arme solo recibiendo el nombre de la tabla en mencion de ahi reciba dichas variables enviadas de la pagina anterior y lo ingrese a la BD, Ahora logro capturar los campos y armar el query insert. recibo las varables de la pagina anterior. perooo..

Pues no me reconoce estos datos como variables si no al parecer como un texto comun y silvestre. por eso q no me muestra el dato de la variable enviada. y ese es mi DOLOR DE CABEZA...

Avisenme si no me he dado a entender.. q hasta yo ya me enrede creo jeje.. Aca les pongo esta parte q deberia de hacer lo q les digo..

Código PHP:
//Se recibe del formulario anterior estas variables:
echo $IdDiaSemana;
echo 
$Descripcion;

    
$result=mysql_query ("select * from diasemana");
        
//armando el query
    
$consulta "insert into diasemana values(null";
    
$i=1;
    while (
$i mysql_num_fields($result)) 
    {

        
$meta mysql_fetch_field($result,$i);       
        
$consulta.=",'$meta->name'";
        
$i++;
    }
    
$consulta.=")";

    
$resultado mysql_query($consulta);
    if (
$resultado)
    {
        echo 
"Se ingreso el Registro : <b>".$consulta."</b>";
    }else{echo 
"no se ejecuto Query : $consulta";} 
Bueno amigos espero me puedan orientar q estoy haciendo mal o como podria solucionar o hacerlo mejor.. alguna manera de q funcione?? Gracias de antemano..
  #2 (permalink)  
Antiguo 24/08/2007, 10:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Ayuda:.......porfa.. Mantenimiento de tablas Simplificado

Cambia:
Código PHP:
 $resultado mysql_query($consulta); 
Por:
Código PHP:
 $resultado mysql_query($consulta) or die( mysql_error() ); 
y dinos cual es el error.

Saludos.
  #3 (permalink)  
Antiguo 24/08/2007, 10:38
 
Fecha de Ingreso: agosto-2004
Mensajes: 258
Antigüedad: 19 años, 8 meses
Puntos: 0
De acuerdo Re: Ayuda:.......porfa.. Mantenimiento de tablas Simplificado

Cita:
Iniciado por GatorV Ver Mensaje
Cambia:
Código PHP:
 $resultado mysql_query($consulta); 
Por:
Código PHP:
 $resultado mysql_query($consulta) or die( mysql_error() ); 
y dinos cual es el error.

Saludos.
GRacias por responder amigo, pero el detalle es q no hay error: Osea. la consulta me vota el resultado q es el query en si.. Osea:

Código PHP:
insert into diasemana values(null,'IdDiaSemana','Descripcion'
El detalle es que 'IdDiaSemana','Descripcion' son campos en mi tabla y las variables q recibo del formulario anterior pues tienen el mismo nombre.

A ver por ejmplo:

si recibes por url

Código PHP:
http://localhost/index.php?IdDiaSemana=7&Descripcion=domingo 
Ahora si te das cuenta si recibes dichas variables, de ahi hago una nueva consulta para poder armar la consulta insert usando las mismas variables para asi poder intentar jalar los valores q traen por url las variables.. Humm. ya me cruce., jaja.. Espero me entiendan y me ayuden con alguna idea amigos..
  #4 (permalink)  
Antiguo 24/08/2007, 10:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Ayuda:.......porfa.. Mantenimiento de tablas Simplificado

mmm pues porque no insertas el valor directamente en lugar de usar todo ese while, y todo puedes hacer algo sencillo:
Código PHP:
$consulta "insert into diasemana values(null, '%s', '%s' )";
$consulta sprintf$consultaaddslashes$IdDiaSemana ), addslashes$Descripcion ) );
$resultado mysql_query($consulta);
    if (
$resultado)
    {
        echo 
"Se ingreso el Registro : <b>".$consulta."</b>";
    }else{echo 
"no se ejecuto Query : $consulta";} 
Saludos.
  #5 (permalink)  
Antiguo 24/08/2007, 11:06
 
Fecha de Ingreso: agosto-2004
Mensajes: 258
Antigüedad: 19 años, 8 meses
Puntos: 0
Desacuerdo Re: Ayuda:.......porfa.. Mantenimiento de tablas Simplificado

Cita:
Iniciado por GatorV Ver Mensaje
mmm pues porque no insertas el valor directamente en lugar de usar todo ese while, y todo puedes hacer algo sencillo:
Código PHP:
$consulta "insert into diasemana values(null, '%s', '%s' )";
$consulta sprintf$consultaaddslashes$IdDiaSemana ), addslashes$Descripcion ) );
$resultado mysql_query($consulta);
    if (
$resultado)
    {
        echo 
"Se ingreso el Registro : <b>".$consulta."</b>";
    }else{echo 
"no se ejecuto Query : $consulta";} 
Saludos.
Si es buena opcion siempre y cuando trabajaras ese script con una sola tabla pero si este mismo script quisieras q te sirviera pra n tablas??. Es decir q reciba los valores y se arme automativamente dichos scripts sql.

Todo lo anterior esta si me reciben las variables de cualquier tabla. hasta AQUI, este problema no logro dar con la solucion.

El while tiene una funcion, y es la de sacarme la estructura de campos de la tabla cuyo nombre se recibe. del escrip anterior. en este caso el nombre se lo he puesto para uso de ejemplo. todos los campos de la tabla N y armar con estos el script insert. el detalle es q me lo arma bacan todo. pero en vez de ponermelo como variables dichos nombres de campos. para q me puedan jalar el contenido de las variables q tienen el mismo nombre de los campos. las cuales son las q vienen por url.

Es como si me lo convirtiera a texto plano y no me la genera como una variable. Estuve investigando a ver si hay alguna manera de pasar dicho dato(texto) y convertirlo en una variable. Ya q si fuera posible pues el script jalaria el contenido q se busca.

esta es la menera q encontra adecuada para lograrlo. ahora si hay alguna otra forma estoy abierto a ideas. pero quiero lograr q funque.
  #6 (permalink)  
Antiguo 24/08/2007, 11:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Ayuda:.......porfa.. Mantenimiento de tablas Simplificado

Puedes usar:
Código PHP:
$nombreVar $meta->name;
$contenidoVar = $$nombreVar
Con el doble $$ creas una variable variable, es decir el nombre que tenga $nombreVar se vuelve la variable y te asigna su contenido a $contenidoVar.

Saludos.
  #7 (permalink)  
Antiguo 24/08/2007, 12:15
 
Fecha de Ingreso: agosto-2004
Mensajes: 258
Antigüedad: 19 años, 8 meses
Puntos: 0
De acuerdo Re: Ayuda:.......porfa.. Mantenimiento de tablas Simplificado

Cita:
Iniciado por GatorV Ver Mensaje
Puedes usar:
Código PHP:
$nombreVar $meta->name;
$contenidoVar = $$nombreVar
Con el doble $$ creas una variable variable, es decir el nombre que tenga $nombreVar se vuelve la variable y te asigna su contenido a $contenidoVar.

Saludos.
Hummm. ya casi amigo.. pero ahora solo me jala el primer valor nada mas.. buuaaa...

Código PHP:
    $result=mysql_query ("select * from diasemana");
    
//$consulta = "insert into diasemana values(null";
    
$i=1;
    while (
$i mysql_num_fields($result)) 
    {

        
$meta mysql_fetch_field($result,$i);       
        
$consulta.="$meta->name";
        
$var.=$$consulta;
        
$i++;
    }
    
//$consulta.=")";
    
    
$resultado mysql_query($consulta);
    
print_r("aca esta :".$consulta);
    
print_r("<br>esto es :".$var); 
Alguna Otra Idea... ???
  #8 (permalink)  
Antiguo 24/08/2007, 14:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Ayuda:.......porfa.. Mantenimiento de tablas Simplificado

Estas asignando mal:
Código PHP:
$result=mysql_query ("select * from diasemana");
    
$consulta "insert into diasemana values(null";
    
$i=1;
    while (
$i mysql_num_fields($result)) 
    {

        
$meta mysql_fetch_field($result,$i);
        
$field $meta->name;
        
$valor = $$field;
        
$consulta.= "$valor, ";
        
$i++;
    }
    
//$consulta.=")";
    
    
$resultado mysql_query($consulta);
    
print_r("aca esta :".$consulta);
    
print_r("<br>esto es :".$var); 
Saludos.
  #9 (permalink)  
Antiguo 24/08/2007, 14:35
 
Fecha de Ingreso: agosto-2004
Mensajes: 258
Antigüedad: 19 años, 8 meses
Puntos: 0
De acuerdo Re: Ayuda:.......porfa.. Mantenimiento de tablas Simplificado

Cita:
Iniciado por GatorV Ver Mensaje
Estas asignando mal:
Código PHP:
$result=mysql_query ("select * from diasemana");
    
$consulta "insert into diasemana values(null";
    
$i=1;
    while (
$i mysql_num_fields($result)) 
    {

        
$meta mysql_fetch_field($result,$i);
        
$field $meta->name;
        
$valor = $$field;
        
$consulta.= "$valor, ";
        
$i++;
    }
    
//$consulta.=")";
    
    
$resultado mysql_query($consulta);
    
print_r("aca esta :".$consulta);
    
print_r("<br>esto es :".$var); 
Saludos.
Haya... Oka Amigaso ya lo probe si funciona.. gracias en verdad. te pasastes.. espero poder contar contigo para otra ocacion y si puedo ayudarte sera un gusto.. no se mucho pero estamos para aprender.. gracias de nuevo...
  #10 (permalink)  
Antiguo 24/08/2007, 20:43
 
Fecha de Ingreso: agosto-2004
Mensajes: 258
Antigüedad: 19 años, 8 meses
Puntos: 0
De acuerdo Re: Ayuda:.......porfa.. Mantenimiento de tablas Simplificado

HOla Amigos ya casi lo termino: Otra consultilla tengo un problema con una "," de mas.. no doy como sacarla del query.. alguna idea??

Código PHP:
    $result=mysql_query ("select * from $tab");
    
$consulta "update $tab set (";
    
$i=0;
    while (
$i mysql_num_fields($result)) 
    {
        
$meta mysql_fetch_field($result,$i);
        
$field $meta->name;
        
$valor = $$field;
        
$consulta.= ",'$valor'";
        
$i++;
    }
    
$consulta.=")";

echo 
$consulta;//Como ven esto nos da esto : update usuarios set (,'6','luciano','luciano','1') 
Alguna Idea para sacar esa Coma(,) porfa.. alguien q me ayude..??
  #11 (permalink)  
Antiguo 24/08/2007, 21:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Ayuda:.......porfa.. Mantenimiento de tablas Simplificado

Puedes usar substr para contar tu consulta y solo obtener todos los caracteres hasta antes de la ultima coma.

Saludos.
  #12 (permalink)  
Antiguo 26/08/2007, 08:44
 
Fecha de Ingreso: agosto-2004
Mensajes: 258
Antigüedad: 19 años, 8 meses
Puntos: 0
De acuerdo Re: Ayuda:.......porfa.. Mantenimiento de tablas Simplificado

Cita:
Iniciado por GatorV Ver Mensaje
Puedes usar substr para contar tu consulta y solo obtener todos los caracteres hasta antes de la ultima coma.

Saludos.
Gracias amigo.. ya logre poner funcional el script.. agradesco muchisimo tu ayuda espero contar en otro momento con tu ayuda.. gracias. y tambien si necesitas ayuda sera un gusto ayudar en lo q pueda. saludos..
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 19:54.