Comunidad de diseño web y desarrollo en internet online

Insertarlo en una B.D.

Citar            
MensajeEscrito el 05 Ago 2005 08:56 pm
Tengo este codigo en pHp

Código :

$cadena = $_POST['envio'];
$cliente = $_POST['cte'];
$registros = $_POST['reg'];
$items = explode("*", $cadena);
foreach($items as $num => $value){
  echo $num." => ".$value."\n";
//    echo "Clave: ",$num , " Valor: ",$value,"<br>";
};


Obviamente recibo una cadena que me imprime esto

0 => 7 1 => Osciloscopio Digital 2 => Fluke 3 => 92 4 => DM6400245 5 => 24 6 => 2004-03-24 7 => 2006-03-24 8 => NaN 9 => 7 10 => Osciloscopio Digital 11 => Fluke 12 => 92 13 => DM6390177 14 => 24 15 => 2004-03-23 16 => 2006-03-23 17 => NaN

Ahora como hacer para que cada valor lo asigne a alguna variable para poder insertarlo a una tabla ... como ven esto llega hasta el numero 17 (son 2 registros de 8 elementos cada uno), lo que quiero es asignar el numero 5 cuyo valor es 24 a una variable para poder insertarlo a una Base da datos.

Podrian decirme como se hace eso?

Gracias anticipadas

Por manuel_cfe

106 de clabLevel



 

msie
Citar            
MensajeEscrito el 06 Ago 2005 02:20 pm
primero debes definir la estructura de la tabla...luego con INSERT INTO lo metes dentro de la tabla, algo como esto:

Código :

$sql = "INSERT INTO tu_tabla(tus_campos) values (variables o datos, separados por comas)";
$resultado = mysql_query($sql, $vinculo_a_tu_bd);

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 08 Ago 2005 01:54 pm
Creo que no me explique bien... a lo que yo me refiero es:

Como transformo mi arreglo en variables manipulables para poder insertar la que yo quiera en la tabla

Código :

$cadena = $_POST['envio']; 
$items = explode("*", $cadena); 
[b]foreach($items as $num => $value){ [/b]
  echo $num." => ".$value."\n"; 
};


Si se dan cuenta aqui cacho una variable que lleva "n" variables concatenadas, por eso le hago un explode y de ahi pues bueno lo unico que he podido hacer es checar con el "echo" cuantas variables me llegan a php. (p.e. si mando 2 registros a php me llegan 18 variables porque cada registro es de 9 variables cada uno), aqui to bien.

El asunto es que yo quiero decirle a PHP que inserte en mi tabla la variable $num(5) o la $num(13).Digamos como recorro mi arreglo para escoger de esas "n" variables la que yo quiera para insertarla en la tabla.

No se si me explique :( 

Por manuel_cfe

106 de clabLevel



 

msie
Citar            
MensajeEscrito el 08 Ago 2005 02:30 pm
No te vale un simple if dentro de un ciclo???

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 08 Ago 2005 02:56 pm
El asunto es que no se como recorrer el arreglo (las variables...)

Si PHP p.e. cacha 2 registros, la variable $cadena tendra 18 valores

0 => 7 1 => Osciloscopio Digital 2 => Fluke 3 => 92 4 => DM6400245 5 => 24 6 => 2004-03-24 7 => 2006-03-24 8 => NaN 9 => 7 10 => Osciloscopio Digital 11 => Fluke 12 => 92 13 => DM6390177 14 => 24 15 => 2004-03-23 16 => 2006-03-23 17 => NaN

Yo quiero insertar en la tabla los valores 5 y 14.... como le hago, tu me dices que con un if, pero como lo implementaria????,

Por manuel_cfe

106 de clabLevel



 

msie
Citar            
MensajeEscrito el 16 Ago 2005 04:01 pm
Ok :) , como estan todos...?

Veran... tengo un detalle con esto desde hace tiempo, y no he encontrado un ejemplo que me aclare o me explique como hacerlo.

Este es mi codigo php, con el que trato de hacerlo, pero se que no funciona, sin embargo quisiera que alguien de aqui me lo aclarara.

Aqui recorro mi array y asigno los valores a mis variables $id, $serie y $vigencia

Código :


$cadena = $_POST['envio'];
$items = explode(",", $cadena);
reg=0;

        foreach($items as $num => $value){
                if ($reg == 0){
                    $id = $value;
                    echo "ID:$id <br>";
                }
                else if ($reg == 1){
                    $serie = $value;
                    echo "Serie:$serie <br>";
                }
                else if ($reg == 2) {
                    $vigencia = $value;
                    echo "Vigencia: $vigencia <br>";
                }
                $reg = $reg + 1;
                if ($reg > 2){
                    $reg = 0;
                  }
          }


Con el foreach no puedo asignar mis 3 variables de un jalon e insertarlas al mismo tiempo a una B.D., lo que quiero saber, es como recorro mi array. El cual puede contener 3,6, 9, 12.... etc, valores. (Siempre en multiplos de 3).

Esto para poder asignar mis 3 variables de un jalon e ir insertando a mi tabla.

pienso que debo hacerlo con otro ciclo como un for o un while. pero no se como recorrer mi array e ir asignando a mis variables.

Lo ultimo que intente fue esto


Código :

$campos = 3;
$numv = count($items);
$reg = ($numv / $campos);

         for ($i = 0; $reg; $i++) {
              for ($j = 0; $numv; $j++) {
                   $id = $items[$j];
                   echo "ID: $id <br>";
                   $serie = $items[$j+1];
                   echo "Serie: $serie <br>";
                   $vigencia = $items[$j+2];
                   echo "Vigencia: $vigencia <br>";
              }
         }


pero se me colgo el server, espero que alguien de aqui pueda tenerme pasiencia para explicarme como hecerle, gracias

Por manuel_cfe

106 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Ago 2005 05:01 pm

Código :

for ($i = 0; $reg ; $i++)

no hay ninguna condicion :wink: , tienes una bucle infinito con $reg que es tu supuesta condicion, es asi:

Código :

for ($i = 0;$i<$reg; $i++)

Ahora no entiendo muy bien tu duda, que quieres hacer y para que le asignas indices a las variables? :?

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 16 Ago 2005 05:38 pm
Ok, creo que no se explicarme bien..

Lo unico que quiero es insertar cada una de mis variables que estan en mi array a una base de datos.

Es decir:

1.- recibo mi cadena

Código :

$cadena = $_POST['envio'];

2.- le hago el explode

Código :

$items = explode(",", cadena);

Y de ahi lo que quiero hacer es asignar a 3 variables los valores de $items[].

Despues insertar esas 3 variables a una tabla en una base de datos

Esto es lo ultimo que he intentado, pero tampoco me sale

Código :


 while(list($id, $serie, $vigencia) = $items[$i]) {
         $selecciona = "Select id_solicitud, fecha_sol from t_solicitud where(fecha_sol = '$fecha' AND log_cte = '$cliente' AND equipos = '$registros')";
         $seleccionar = pg_query($selecciona) or die ("no selecciono");
         $registros = pg_num_rows($seleccionar);
         if ($registros <> 0) {
             while($row = pg_fetch_array($seleccionar)) {
                  $solicitud = $row["id_solicitud"];
                  $fechasol = $row["fecha_sol"];
             }
         }
         $inserta2 ="INSERT into t_solicitudes (log_cte, id_equipo, id_solicitud, ns, fecha_sol, vigencia_cal) VALUES ('$cliente', '$id', '$solicitud', '$serie', '$fechasol', '$vigencia')";
         $insertar2 = pg_query($inserta2) or die ("no inserto");

}

Por manuel_cfe

106 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Ago 2005 06:27 pm
Alguien que me apoye, o ayude.... :oops: :crap: pls :(

Por manuel_cfe

106 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Ago 2005 07:18 pm
si haces la lista de vareiables un poco mas corta tal vez yo pueda terminar de leer el post, y asi proceder a ayudarte.
todavia estoy mareado.


si supieras la cantidad de Binarios que pasan por mi cabezota quiza me entenderias. ^^ ^^ ^^

Por jhony192

791 de clabLevel

1 tutorial

Genero:Masculino  

Just Another Programmer

firefox
Citar            
MensajeEscrito el 17 Ago 2005 04:59 pm
AL fin :D

Ahora pongo el PHP de como quedo...

Código :

<?php

/* igualamos las variables enviadas */
$cadena = $_POST['envio'];
echo "$cadena";
$cliente = $_POST['cte'];
$items = explode("*", $cadena);
$registros = count ($items);
$fecha= DATE("Y-m-d h:i:s");
//*************************************************************
$inserta= "INSERT into t_solicitud (log_cte, fecha_sol, equipos) VALUES ('$cliente','$fecha','$registros')";
$insertar = pg_query($inserta) or die ("no inserto");
for($i=0; $items[$i]; $i++){
   list($id, $serie, $vigencia) = explode(",", $items[$i]);
         $selecciona = "Select id_solicitud, fecha_sol from t_solicitud where(fecha_sol = '$fecha' AND log_cte = '$cliente' AND equipos = '$registros')";
         $seleccionar = pg_query($selecciona) or die ("no elecciono");
         $registros = pg_num_rows($seleccionar);
         if ($registros <> 0) {
             while($row = pg_fetch_array($seleccionar)) {
                  $solicitud = $row["id_solicitud"];
                  $fechasol = $row["fecha_sol"];
             }
         }
         $inserta2 ="INSERT into t_solicitudes (log_cte, id_equipo, id_solicitud, ns, fecha_sol, vigencia_cal) VALUES ('$cliente', '$id', '$solicitud', '$serie', '$fechasol', '$vigencia')";
         $insertar2 = pg_query($inserta2) or die ("no inserto");
}

pg_close($link);

?>

Por manuel_cfe

106 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.