Foros del Web » Programando para Internet » PHP »

almacenar consulta en variable php

Estas en el tema de almacenar consulta en variable php en el foro de PHP en Foros del Web. hola estimados, tengo el siguiente problema... estoy guardando una cadena de datos que incluyen variables php dentro de otra variable. Código PHP:  $link2 = Conectarse ...
  #1 (permalink)  
Antiguo 16/04/2014, 15:58
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 8
almacenar consulta en variable php

hola

estimados, tengo el siguiente problema... estoy guardando una cadena de datos que incluyen variables php dentro de otra variable.

Código PHP:

 $link2
=Conectarse($nombre_camp);
 
$tabla_datos=substr(strtolower($nombre_camp."_datos"), 5);
$sql_camp mysql_query("Insert into ".$tabla_datos." ".$insert_query." "$link2); 
$insert_query guarda lo siguiente

Código PHP:

$insert_query
="(telefono) VALUES ('".$row['campo']."') "
en si la variable $row['campo'], en ese momento no tiene nada pero cuando la llamo estoy dentro de un while que tiene la variable $row

Código PHP:
 while($row=mysql_fetch_array($sql_carga))
 {

 .........



el problema es que no me inserta los datos, y cuando hago un print para ver la consulta me arroja la variable $row['campo'], pero no el valor que deberia traerme, cuando lo hago manual funciona bien pero cuando la ejecuto de la variable me muestra eso.

Código:
(telefono) VALUES ('".$row['campo']."')
quizas debo agregarle alguna funcion especial para que tome la variable dentro de la otra variable, como deberia ser y no como texto.

agradecere su ayuda

muchas gracias
  #2 (permalink)  
Antiguo 16/04/2014, 16:04
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: almacenar consulta en variable php

¿Podrías mostrarnos el bloque completo en donde haces la inserción?
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 17/04/2014, 07:29
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: almacenar consulta en variable php

no puedo mostrar todo el codigo, ya que es mucho.

para que te hagas una idea antes del ciclo de la insercion, tengo un ciclo for que almacena una variable dentro de otra variable y va creando los values de insert que hare mas abajo.

y los dejo dentro de otra variable...

luego en el ciclo del del insert llamo a esa varieable que tiene la cadena del insert con las variables correspondientes y resulta que aun teniendo las variables no muestra el valor si no la variable en si....

Código PHP:
//ciclo que crea una parte de la cadena de insert ... en ella inserto variables dentro de variables
 
for($g=0$g<$contador_bkn$g++)
 {

    
$ccc=$ccc.$campos_campanita[$g].", ";

    if(
substr($campos_campanita[$g],0,8)=="telefono")
    {
        if(
$campos_campanita[$g]=="telefono")
        {
            if(
$campos_selec_planilla[$g]=="telefono_particular")
            {
                  
$numero_concatenado="\$t_particular";

            }
            ....

            
//EN ESTA VARAIBLE VOY CONCATENADO LOS VALORES DE OTRAS VARIABLES QUE OCUPARE MAS ADELANTE
            
$ppp=$ppp."'\".$numero_concatenado.\"', ";

        }

        ....

    }else{


             if(
$campos_selec_planilla[$g]<>"")
            {
             
$ppp=$ppp."'\".\$row['".$campos_selec_planilla[$g]."'].\"', ";
            }else{
             
$ppp=$ppp."'', ";
            }

    }

 }

   
//Y ACA Es donde queda la varieble con parte de la cadena de insert
   
$valores1=substr($ccc,0,-2);
 
$valores2=substr($ppp,0,-2);

 
$insert_query="($valores1) VALUES ($valores2)";
 
//que mostraria algo asi...
 //(campo1, campo2) VALUES ('$variable1', '$variable')

   //variable1 y 2 se definen dentro del ciclo de insert, debo hacerlo de esta forma ya que la mecanica de lo que necesito no me permite saber despues los valores del insert


   //
   
while($row=mysql_fetch_array($sql_carga))
 {

    
//aca es donde las variables toman el valor...
    
$variable1=$row['campo1'];
    
$variable2=$row['campo2'];





  
//y aca es donde hago el insert
 
$link2=Conectarse();
$sql_camp mysql_query("Insert into tabla $insert_query "$link2);
 
mysql_close($link2);

 
/*$insert_query es la cadena que cree en el ciclo anterior...

  y cuando hago un print a esto "Insert into tabla $insert_query ";

 me muestra lo sgte: Insert into tabla (campo1, campo2) VALUES ('$variable1', '$variable')

 cuando en realidad me deberia mostrar ..... Insert into tabla (campo1, campo2) VALUES ('chile', 'santiago')

 cuando hago un print de la $variable1 me muestra correctamente el contenido de ella, pero cuando la ejecuto de la variable que cree para el insert... no
 pasa eso se queda con el texto de $variable1 y no con el valor que deberia traerme,,, ese es mi problema

 trate de resumir lo mas posible ojala tengas una idea de como ayudarme */



 

  #4 (permalink)  
Antiguo 17/04/2014, 07:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: almacenar consulta en variable php

Cita:
Iniciado por rigo_5834 Ver Mensaje
hola

estimados, tengo el siguiente problema... estoy guardando una cadena de datos que incluyen variables php dentro de otra variable.

Código PHP:

 $link2
=Conectarse($nombre_camp);
 
$tabla_datos=substr(strtolower($nombre_camp."_datos"), 5);
$sql_camp mysql_query("Insert into ".$tabla_datos." ".$insert_query." "$link2); 
$insert_query guarda lo siguiente

Código PHP:

$insert_query
="(telefono) VALUES ('".$row['campo']."') "
en si la variable $row['campo'], en ese momento no tiene nada pero cuando la llamo estoy dentro de un while que tiene la variable $row

Código PHP:
 while($row=mysql_fetch_array($sql_carga))
 {

 .........



el problema es que no me inserta los datos, y cuando hago un print para ver la consulta me arroja la variable $row['campo'], pero no el valor que deberia traerme, cuando lo hago manual funciona bien pero cuando la ejecuto de la variable me muestra eso.

Código:
(telefono) VALUES ('".$row['campo']."')
quizas debo agregarle alguna funcion especial para que tome la variable dentro de la otra variable, como deberia ser y no como texto.

agradecere su ayuda

muchas gracias
Cita:
quizas debo agregarle alguna funcion especial para que tome la variable dentro de la otra variable, como deberia ser y no como texto.
No, lo que tienes es una metida de pata de las grandes. De las notables.

Vamos a este punto:
Cita:
en si la variable $row['campo'], en ese momento no tiene nada pero cuando la llamo estoy dentro de un while que tiene la variable $row
Si ese $row['campo'] no contiene datos en el momento de ejecutar la línea
Código PHP:
Ver original
  1. $sql_camp = mysql_query("Insert into ".$tabla_datos." ".$insert_query." ", $link2);
simplemente no va a almacenar nada, porque estás mandando una cadena vacía.
ten en cuenta que mysql_query() envía a ejecutar la query con lo que tiene en ese momento.

Para que funcionase, como mínimo debería tener una lógica así:
Código PHP:
$link2=Conectarse($nombre_camp);
$tabla_datos=substr(strtolower($nombre_camp."_datos"), 5);
$sql_carga $sql_camp mysql_query("SELECT campo FROM tabla"$link2);
if (
$sql_carga)
{ while(
$row=mysql_fetch_array($sql_carga))
 {
$insert_query="(telefono) VALUES ('".$row['campo']."') ";  
$sql_camp mysql_query("Insert into ".$tabla_datos." ".$insert_query." "$link2);
}

¿Se entiende?
No puedes insertar datos que no existen. Debes haber obtenido los valores de $row['campo'] antes del while.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 17/04/2014, 07:50
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: almacenar consulta en variable php

Para que funcionase, como mínimo debería tener una lógica así:
Código PHP:
$link2=Conectarse($nombre_camp);
$tabla_datos=substr(strtolower($nombre_camp."_datos"), 5);
$sql_carga $sql_camp mysql_query("SELECT campo FROM tabla"$link2);
if (
$sql_carga)
{ while(
$row=mysql_fetch_array($sql_carga))
 {
$insert_query="(telefono) VALUES ('".$row['campo']."') ";  
$sql_camp mysql_query("Insert into ".$tabla_datos." ".$insert_query." "$link2);
}

¿Se entiende?
No puedes insertar datos que no existen. Debes haber obtenido los valores de $row['campo'] antes del while.[/QUOTE]



se entiende super facil, pero de esa forma no me sirve, porque como te dije la variable es dinamica dentro del insert no me sirve crearla, es por eso que necesito saber si existe alguna forma de aunque sea llamar la variable antes del ultimo ciclo esta despues al momento de ser llamada mas abajo aparesca el valor correcto, ademas hago referencia a la misma variable... se bien que es poco comun pero si existe alguna forma de hacerlo agregar una funcion de php seria bueno que alguien me dijera como podria hacer...

de hecho el insert olvida eso si al final quiero que la variable insert_query al hacer el print dentro del ciclo me muestre estooo

Insert into tabla (campo1, campo2) VALUES ('chile', 'santiago')

y no esto...

Insert into tabla (campo1, campo2) VALUES ('$variable1', '$variable')


si bien la variable $variable1 se agrega antes del ciclo... igual hago referencia a ella es por eso mi duda.

NOTA: $variable1 la agrego a otra variable..$varaible en ese momento esta vacia,,, la lleno dentro del ciclo y es en ese momento en donde hago el print a va $variable1
  #6 (permalink)  
Antiguo 17/04/2014, 08:08
Avatar de rigo_5834  
Fecha de Ingreso: julio-2009
Mensajes: 99
Antigüedad: 14 años, 9 meses
Puntos: 8
Respuesta: almacenar consulta en variable php

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No, lo que tienes es una metida de pata de las grandes. De las notables.

Vamos a este punto:

Si ese $row['campo'] no contiene datos en el momento de ejecutar la línea
Código PHP:
Ver original
  1. $sql_camp = mysql_query("Insert into ".$tabla_datos." ".$insert_query." ", $link2);
simplemente no va a almacenar nada, porque estás mandando una cadena vacía.
ten en cuenta que mysql_query() envía a ejecutar la query con lo que tiene en ese momento.

Para que funcionase, como mínimo debería tener una lógica así:
Código PHP:
$link2=Conectarse($nombre_camp);
$tabla_datos=substr(strtolower($nombre_camp."_datos"), 5);
$sql_carga $sql_camp mysql_query("SELECT campo FROM tabla"$link2);
if (
$sql_carga)
{ while(
$row=mysql_fetch_array($sql_carga))
 {
$insert_query="(telefono) VALUES ('".$row['campo']."') ";  
$sql_camp mysql_query("Insert into ".$tabla_datos." ".$insert_query." "$link2);
}

¿Se entiende?
No puedes insertar datos que no existen. Debes haber obtenido los valores de $row['campo'] antes del while.


gracias igual campeon, pero ya lo solucione...

saludos

Etiquetas: almacenar, mysql, sql, tabla, variable
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 12:44.