Foros del Web » Programando para Internet » PHP »

tengo problemas para grabra los reguistros

Estas en el tema de tengo problemas para grabra los reguistros en el foro de PHP en Foros del Web. quetal como etsan tengo el siguinete problema tenngo este codigo que me tomas varios reguistros y me los apila "" y luego los deveria tomar ...
  #1 (permalink)  
Antiguo 05/03/2009, 08:47
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 19 años
Puntos: 1
tengo problemas para grabra los reguistros

quetal como etsan tengo el siguinete problema

tenngo este codigo que me tomas varios reguistros y me los apila "" y luego los deveria tomar y guardar pero esta pasando que solo me enta guardando un solo reguistro

este es el codigo.

Código PHP:
<?php
$enlace 
mysql_connect("localhost""root""") or die("No pudo conectarse : " mysql_error());
mysql_select_db("name") or die("No pudo seleccionarse la BD.");
$id_op=$_POST['id_op'];
foreach(
$_POST as $key => $valor)
{    echo 
"<script>alert(\"$key\")</script>";
    list(
$constante$numField)=split("_"trim($key));
    if(
$constante=="categoria")
    {
        
$cat[$numField]=$valor;
    }
    if(
$constante=="cantidad")
    {
        
$can[$numField]=$valor;
    }
    if(
$constante=="producto")
    {
        
$prod[$numField]=$valor;
    }
}

foreach(
$cat as $key => $valor)
{
    
$Ssql="insert into tblproducciones (categoria, id_op, Cantidad, id_Produccion) values (";
    
$Ssql.=$valor.", ".$id_op.", ".$can[$key].", ".$prod[$key].")";
    echo 
"<script>alert(\"$Ssql\")</script>";
    
$resIns=mysql_query($Ssql);
}
echo 
'<head><meta http-equiv="refresh" content="0; url=ingreso_op.php"></head>';
?>
  #2 (permalink)  
Antiguo 05/03/2009, 09:14
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 20 años, 3 meses
Puntos: 56
Respuesta: tengo problemas para grabra los reguistros

Holas a83

¿Has comprobado que efectivamente tienes más de 1 elemento en el arreglo $cat al salir del primer foreach? Hácele un alert con el count de $cat antes del foreach de inserciones y nos cuentas qué te dio.
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #3 (permalink)  
Antiguo 05/03/2009, 10:02
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 19 años
Puntos: 1
Respuesta: tengo problemas para grabra los reguistros

me esta mostrado 2 cuadros de dialogo x que e realida 2 ingresos y cada uno de esos cuadors dice ARRAy y no muestra ningun valor

}
foreach($cat as $key => $valor)
echo "<script>alert(\"$cat\")</script>";
{
  #4 (permalink)  
Antiguo 05/03/2009, 10:09
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: tengo problemas para grabra los reguistros

No mostrará valor, porque efectivamente es un array.
Veo que tienes un alert en ese foreach, compara lo que te imprime y verifica que esten correctos y que no sean exactamente iguales.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #5 (permalink)  
Antiguo 05/03/2009, 10:19
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 19 años
Puntos: 1
Pregunta Respuesta: tengo problemas para grabra los reguistros

como pana ?

lo extraño es que cuando le ago el alert al
Código PHP:
$Ssql="insert into tblproducciones(categoria, id_op, Cantidad, id_Produccion) values (";
    
$Ssql.=$valor.", ".$id_op.", ".$can[$key].", ".$prod[$key].")";
    
    
$resIns=mysql_query($Ssql); 
me muestra los dos reguistros que estan en las variavles pero al momento de enviar a la vace de datos no los envia solo envia 1 o ninguno
  #6 (permalink)  
Antiguo 05/03/2009, 10:29
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: tengo problemas para grabra los reguistros

Te he dicho que debes fijarte si no tienen ningún error, o si son idénticos.
Si son idénticos, solo insertará uno, si esta tabla no posee id autonumérico.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #7 (permalink)  
Antiguo 05/03/2009, 11:06
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 19 años
Puntos: 1
Respuesta: tengo problemas para grabra los reguistros

CREATE TABLE `tblproducciones` (
`id_Produccion` int(11) NOT NULL auto_increment,
`id_tarea` int(45) unsigned NOT NULL,
`Cantidad` int(45) NOT NULL,
`id_PlanTurno` int(11) unsigned NOT NULL,
`Nombre` varchar(45) collate latin1_general_ci NOT NULL,
`id_Producto` int(11) unsigned NOT NULL,
`id_ClasesProducto` int(45) unsigned NOT NULL,
`id_reloj` int(11) unsigned NOT NULL,
`FechaIngreso` varchar(45) collate latin1_general_ci default NULL,
`id_op` int(11) unsigned NOT NULL,
`categoria` varchar(45) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id_Produccion`),
KEY `id_Produccion` (`id_Produccion`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=24 ;

--
-- Volcar la base de datos para la tabla `tblproducciones`
--

INSERT INTO `tblproducciones` (`id_Produccion`, `id_tarea`, `Cantidad`, `id_PlanTurno`, `Nombre`, `id_Producto`, `id_ClasesProducto`, `id_reloj`, `FechaIngreso`, `id_op`, `categoria`) VALUES
(4, 0, 23, 0, '', 0, 0, 0, NULL, 145, '20'),
(1, 0, 22, 0, '', 0, 0, 0, NULL, 146, '1');


esta es la tabla y tiene el id autonumerico
  #8 (permalink)  
Antiguo 05/03/2009, 11:18
 
Fecha de Ingreso: marzo-2009
Mensajes: 39
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: tengo problemas para grabra los reguistros

El error a simple vista va por la definicion en tu tabla del campo categoria, en ello seleccionas que es un VARCHAR, y cuando ingresas los valores lo asignas como si fuese un valor numerico, para solucionar ello deberias de acompañar del apostrofe ' '

$Ssql="insert into tblproducciones(categoria, id_op, Cantidad, id_Produccion) values (";
$Ssql.="'".$valor."', ".$id_op.", ".$can[$key].", ".$prod[$key].")";

$resIns=mysql_query($Ssql);

FIjate en los apostrofes (en negrita, no olvides abrir y cerra el postrofe , espero solucione tu problema
  #9 (permalink)  
Antiguo 05/03/2009, 12:02
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 19 años
Puntos: 1
Respuesta: tengo problemas para grabra los reguistros

pero me esta grabado un solo reguistro el reto no los graba
  #10 (permalink)  
Antiguo 05/03/2009, 12:29
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: tengo problemas para grabra los reguistros

Hiciste los cambios que te ha dicho ??
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #11 (permalink)  
Antiguo 05/03/2009, 12:34
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 19 años
Puntos: 1
Respuesta: tengo problemas para grabra los reguistros

si realices la modificaciones

lo que no te entiendo es( Te he dicho que debes fijarte si no tienen ningún error, o si son idénticos.) que cosa son iednticos
Si son idénticos, solo insertará uno, si esta tabla no posee id autonumérico y si posee id autonumerico
  #12 (permalink)  
Antiguo 05/03/2009, 13:34
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: tengo problemas para grabra los reguistros

OK, si posee autonumerico, entonces bien, olvida esa parte.
Debes verificar si estas ejecutando el query con todos los campos obligatorios que defines en la tabla.

Hay varias razones por las cuales no guardaría.
1. El query esta sintacticamente mal.
2. Faltan campos obligatorios en el query
3. Registros repetidos (No creo q sea tu caso).
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #13 (permalink)  
Antiguo 05/03/2009, 13:46
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 19 años
Puntos: 1
Respuesta: tengo problemas para grabra los reguistros

esto es lo que envia el alert del queri


insert into tblproducciones(categoria, id_op, Cantidad, id_Produccion) values (21, 173, 1, 4)

esta cargado toda la informacion

pero cuando grabo mas de una me guarda la pirmera y las desma no las guarda
  #14 (permalink)  
Antiguo 05/03/2009, 13:56
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: tengo problemas para grabra los reguistros

Ok, pero las demás alert, que te arrojan???
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #15 (permalink)  
Antiguo 05/03/2009, 15:51
Avatar de a83
a83
 
Fecha de Ingreso: noviembre-2005
Ubicación: Santiago de chile
Mensajes: 637
Antigüedad: 19 años
Puntos: 1
Respuesta: tengo problemas para grabra los reguistros

no me envia nada mas
  #16 (permalink)  
Antiguo 05/03/2009, 15:59
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: tengo problemas para grabra los reguistros

Al parecer solo entra una vez en el foreach.
Debes revisar el arreglo a ver que datos te imprime.
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #17 (permalink)  
Antiguo 06/03/2009, 07:32
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 20 años, 3 meses
Puntos: 56
Respuesta: tengo problemas para grabra los reguistros

Por eso le decía desde el principio que hiciera un count del arreglo antes de recorrerlo ¬¬

Código PHP:
// aqui ves cuantos registros has reunido
echo "<script>alert('".count($cat)."')</script>";

// aqui insertas los registros
foreach($cat as $key => $valor)

Y lo otro, es que capture el error de Mysql, si es que retorna alguno, para descartar que no es error de Mysql:

Código PHP:
foreach($cat as $key => $valor)
{
    
$Ssql="insert into tblproducciones (categoria, id_op, Cantidad, id_Produccion) values (";
    
$Ssql.=$valor.", ".$id_op.", ".$can[$key].", ".$prod[$key].")";
    echo 
"<script>alert(\"$Ssql\")</script>";
    
$resIns=mysql_query($Ssql);
    if (
mysql_errno() > 0)
    {
        echo 
"Error Cod: "mysql_errno()." <br>Detalle:".mysql_error()." <br>";
    }

__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #18 (permalink)  
Antiguo 06/03/2009, 07:57
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 16 años, 6 meses
Puntos: 43
Respuesta: tengo problemas para grabra los reguistros

Correcto estimado amigo quinqui
:D
Bueno estamos a la espera de los resultados de estas pruebas a83.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
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 14:05.