Hola!

Registrándote como bakuno podrás publicar, compartir y comunicarte en privado con otros bakuos :D

Regístrame ya!

Ayuda validacion de dato mysql...

aki d new.
$f=29-03-2012
$m=10
$r=mysql_query(select WHERE fecha=f AND mezcla=m
mysql_num_row
y comparas y listo.
 
Que tal compañero salio este error de casualidad sabes por que ??

Column count doesn't match value count at row 1
 
sip hay algun detalle n tu consultas. pon tu codigo donde st l error
 
Que tal mi buen te dejo mi codigo y el error que me aparece

$sql="SELECT * FROM tbl_mezclada_dieta WHERE no_mezclada=$txtmezcla and fecha='$nuevaFecha'";

echo $sql;
$consulta3=mysql_query($sql,$db);


$result3=mysql_num_rows($consulta3);
//$no_mezclad=$result3["no_mezclada"];
//echo "$result3";

//$result3=mysql_fetch_array($consulta3);


//$fec=$result3["fecha"];
$id=$consulta3["id_tbl_mezclada_dieta"];
echo "$id";

if($result3=1)
{
$resultado =("UPDATE 'tbl_mezclada_dieta' SET 'no_mezclada'='$txtmezcla', 'fecha'='$nuevaFecha'");
$result= mysql_query($resultado);
$dberror=mysql_error();

$insertaringre=("INSERT INTO tbl_dieta(id_tbl_dieta,tbl_mezclada_dieta_id_tbl_mezclada_dieta, tbl_ingredientes_id_tbl_ingredientes,peso,bultos,tara,neto,sobrantes,kilogramos) VALUES ('','$id','$ingrediente','txtpeso','txttara','txtsobra','')");

$ins=mysql_query($insertaringre) or die(mysql_error());

}
else


$inser="INSERT INTO tbl_mezclada_dieta(id_tbl_mezclada_dieta,no_mezclada,fecha) VALUES('','$txtmezcla','$nuevaFecha') ";

$rc=mysql_query($inser) or die(mysql_error());

if($rs!=false){

echo '<p>ERROR</p>';


echo "<script language=\"JavaScript\"type=\"text/javascript\">\n";
echo "<!--\n";
echo "top.location.href='altas.php';\n";
echo "//-->\n";
echo"</script>\n";
}else{
echo "<script> alert('Se ha agregado !!') </script>";



}
}

}
}


}



Column count doesn't match value count at row 1

Este error me sale cuando quiero entrar al if pero si no existe el numero de mezclada ni la fecha me inserta saludos ...
 
ok bueno te comento este es un programita para llevar un control de mezcladas de ciertos ingredientes te pego el script y te explico lo que quiero ...


CREATE TABLE tbl_marca (
id_tbl_marca INTEGER(4) UNSIGNED NOT NULL AUTO_INCREMENT,
marca VARCHAR(50) NULL,
PRIMARY KEY(id_tbl_marca)
);

CREATE TABLE tbl_mezclada_dieta (
id_tbl_mezclada_dieta INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
no_mezclada INTEGER UNSIGNED NULL,
fecha DATE NULL,
PRIMARY KEY(id_tbl_mezclada_dieta)
);

CREATE TABLE tbl_provedor (
id_tbl_provedor INTEGER(4) UNSIGNED NOT NULL AUTO_INCREMENT,
provedor VARCHAR(50) NULL,
PRIMARY KEY(id_tbl_provedor)
);

CREATE TABLE tbl_fuente_financiamiento (
id_tbl_fuente_financiamiento INTEGER(2) UNSIGNED NOT NULL AUTO_INCREMENT,
financiamiento VARCHAR(20) NULL,
PRIMARY KEY(id_tbl_fuente_financiamiento)
);

CREATE TABLE tbl_tiem_mezclada (
id_tiem_tbl_mezclada INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
tbl_mezclada_dieta_id_tbl_mezclada_dieta INTEGER UNSIGNED NOT NULL,
nomezclada INTEGER UNSIGNED NULL,
horainicio DATE NULL,
horafinal DATE NULL,
tiemseco INTEGER UNSIGNED NULL,
tiemagua INTEGER UNSIGNED NULL,
ltsagua DOUBLE NULL,
fechamezclada DATE NULL,
no_botellones INTEGER UNSIGNED NULL,
PRIMARY KEY(id_tiem_tbl_mezclada),
INDEX tbl_tiem_mezclada_FKIndex1(tbl_mezclada_dieta_id_tbl_mezclada_dieta),
FOREIGN KEY(tbl_mezclada_dieta_id_tbl_mezclada_dieta)
REFERENCES tbl_mezclada_dieta(id_tbl_mezclada_dieta)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);

CREATE TABLE tbl_ingredientes (
id_tbl_ingredientes INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
tbl_marca_id_tbl_marca INTEGER(4) UNSIGNED NOT NULL,
tbl_provedor_id_tbl_provedor INTEGER(4) UNSIGNED NOT NULL,
tbl_fuente_financiamiento_id_tbl_fuente_financiamiento INTEGER(2) UNSIGNED NOT NULL,
ingrediente VARCHAR(20) NULL,
peso_bulto INTEGER UNSIGNED NULL,
PRIMARY KEY(id_tbl_ingredientes),
INDEX tbl_ingredientes_FKIndex1(tbl_fuente_financiamiento_id_tbl_fuente_financiamiento),
INDEX tbl_ingredientes_FKIndex2(tbl_provedor_id_tbl_provedor),
INDEX tbl_ingredientes_FKIndex3(tbl_marca_id_tbl_marca),
FOREIGN KEY(tbl_fuente_financiamiento_id_tbl_fuente_financiamiento)
REFERENCES tbl_fuente_financiamiento(id_tbl_fuente_financiamiento)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(tbl_provedor_id_tbl_provedor)
REFERENCES tbl_provedor(id_tbl_provedor)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(tbl_marca_id_tbl_marca)
REFERENCES tbl_marca(id_tbl_marca)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);

CREATE TABLE tbl_almacen (
id_tbl_almacen INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
tbl_ingredientes_id_tbl_ingredientes INTEGER UNSIGNED NOT NULL,
kilogramos INTEGER UNSIGNED NULL,
observaciones VARCHAR(50) NULL,
recibio VARCHAR(50) NULL,
fecha DATE NULL,
lote INTEGER UNSIGNED NULL,
PRIMARY KEY(id_tbl_almacen),
INDEX tbl_bodega_FKIndex1(tbl_ingredientes_id_tbl_ingredientes),
FOREIGN KEY(tbl_ingredientes_id_tbl_ingredientes)
REFERENCES tbl_ingredientes(id_tbl_ingredientes)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);

CREATE TABLE tbl_sld_almacen (
id_tbl_sld_almacen INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
tbl_almacen_id_tbl_almacen INTEGER UNSIGNED NOT NULL,
fecha DATE NULL,
kgsalida INTEGER UNSIGNED NULL,
kgactual INTEGER UNSIGNED NULL,
PRIMARY KEY(id_tbl_sld_almacen),
INDEX tbl_sal_almacen_FKIndex1(tbl_almacen_id_tbl_almacen),
FOREIGN KEY(tbl_almacen_id_tbl_almacen)
REFERENCES tbl_almacen(id_tbl_almacen)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);

CREATE TABLE tbl_dieta (
id_tbl_dieta INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
tbl_mezclada_dieta_id_tbl_mezclada_dieta INTEGER UNSIGNED NOT NULL,
tbl_ingredientes_id_tbl_ingredientes INTEGER UNSIGNED NOT NULL,
peso INTEGER UNSIGNED NULL,
bultos INTEGER UNSIGNED NULL,
tara DOUBLE NULL,
neto DOUBLE NULL,
sobrante DOUBLE NULL,
kilogramos DOUBLE NULL,
PRIMARY KEY(id_tbl_dieta),
INDEX tbl_dieta_FKIndex1(tbl_ingredientes_id_tbl_ingredientes),
INDEX tbl_dieta_FKIndex2(tbl_mezclada_dieta_id_tbl_mezclada_dieta),
FOREIGN KEY(tbl_ingredientes_id_tbl_ingredientes)
REFERENCES tbl_ingredientes(id_tbl_ingredientes)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(tbl_mezclada_dieta_id_tbl_mezclada_dieta)
REFERENCES tbl_mezclada_dieta(id_tbl_mezclada_dieta)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);



el detalle es que se hacen mezclas diarias de ingredientes ya con peso extablecido es decir que el dia 29-03-2012 se hace la mezcla 10, pero el 28-04-2012 se vuelve hacer otra vez mezcla 10 pero con diferente fecha por eso quiero comparar si existe la mezclada 10 pero con fecha 29-03-2012 que solamente lo sobreescriba pero si existe mezclada 10 con diferente fecha me lo agregue, espero haber explicado bien el problemita que tengo saludos y gracias por los comentarios ...

A ver carnal de todas esas tablas cual es en la que quieres añadir los datos ?
En cuanto me contestes te mando un correo con el query adecuado, con una simple instruccion SQL que mandes a la base de datos basta, no es necesario utilizar tanto código.
 
A la tabla `tbl_mezclada_dieta`

y en estos momentos ya me salio un error que es Query was empty. te dejo el código Saludos y gracias ...

$sql="SELECT * FROM tbl_mezclada_dieta WHERE no_mezclada=$txtmezcla and fecha='$nuevaFecha'";

echo $sql;
$consulta3=mysql_query($sql,$db);


$result3=mysql_num_rows($consulta3);
$no_mezclad=$result3["no_mezclada"];
echo "$result3";

$resul=mysql_fetch_array($consulta3);


$id=$resul["id_tbl_mezclada_dieta"];
$kilo='123';//variable no definitiva

if($result3>=1)
{

$res ="UPDATE `tbl_mezclada_dieta` SET `no_mezclada` = '$txtmezcla',
`fecha` = '$nuevaFecha' WHERE `id_tbl_mezclada_dieta` ='$id'";
$result= mysql_query($res);


echo"<script> alert('Actualizado'...)</script>";

}
else


$inser="INSERT INTO 'tbl_mezclada_dieta'('id_tbl_mezclada_dieta','no_mezclada','fecha') VALUES('','$txtmezcla','$nuevaFecha') ";

$rc=mysql_query($inser) or die(mysql_error());

if($rs!=false){

echo '<p>ERROR</p>';

}else{
echo "<script> alert('Se ha agregado !!') </script>";



}
}
 
1_ponle comentarios sta parte.
$no_mezclad=
$result3["no_mezclada"];
echo "$result3";
$resul=mysql_fetch_array
($consulta3);
$id=$resul
["id_tbl_mezclada_dieta"];
$kilo='123';//variable no
definitiva
2_ponle echo a tus if para ver si ntran
3_faltan $db tus query de abajo
 
Que tal compañero te dejo el código
$sql="SELECT * FROM tbl_mezclada_dieta WHERE no_mezclada=$txtmezcla and fecha='$nuevaFecha'";

//echo $sql;
$consulta3=mysql_query($sql, $db);
$result3=mysql_num_rows($consulta3);
$no_mezclad=$result3["no_mezclada"];
//echo "$result3";
$resul=mysql_fetch_array($consulta3);
$id=$resul["id_tbl_mezclada_dieta"];
$kilo='123';//variable no definitiva

if($result3>0)
{

$res ="UPDATE `tbl_mezclada_dieta` SET `no_mezclada` = '$txtmezcla',
`fecha` = '$nuevaFecha' WHERE `id_tbl_mezclada_dieta` ='$id'";
$result= mysql_query($res, $db) or die(mysql_error());


echo"<script> alert('Actualizado'...)</script>";

}
else


$inser="INSERT INTO tbl_mezclada_dieta(id_tbl_mezclada_dieta,no_mezclada,fecha) VALUES('','$txtmezcla','$nuevaFecha') ";

$rc=mysql_query($inser, $db) or die(mysql_error());

if($rs!=false){

echo '<p>ERROR</p>';

}else{
echo "<script> alert('Se ha agregado !!') </script>";



}


En la parte roja supongo yo que esta la lata me sigue apareciendo el Query was empty lo raro es que cuando elimino toda esa parte y pongo algo como esto

f($result3>0)
{

echo "sale";

}


me sigue saliendo el mismo error, la parte de agregar si sale en esa parte no tengo problema pero es en esta parte que no se como hacerle segun tengo entendido que ese error sale por que faltan comillas simples o por que no pongo el id o por que esta repetido el query ya e revisado y no tengo algun problema de ello saludos ...
 
pon le comentario ala parte que t habia comentado creo k ahi esta l problema y al primer if ponle un y ya no db mostrar l error hazlo y comntas.
 
cheka l update sta part
`no_mezclada` =
$txtmezcla deb ser ntero l valor q le pasas. kitale la comillas simpls a ver k suced.
 
Que tal bakunos mil gracias por el apoyo les dejo el código y la forma que le di solucion se los marcare en rojo en si hace lo que quiero nad mas que le hize una trampita para cargar la pagina de nuevo despues de guardar saludos y saben que espero comentarios ...

$sql="SELECT * FROM tbl_mezclada_dieta WHERE no_mezclada=$txtmezcla and fecha='$nuevaFecha'";

//echo $sql;
$consulta3=mysql_query($sql, $db);
$result3=mysql_num_rows($consulta3);
//$no_mezclad=$result3["no_mezclada"];
//echo "$result3";
$resul=mysql_fetch_array($consulta3);
$id=$resul["id_tbl_mezclada_dieta"];
$kilo='123';//variable no definitiva

if($result3>0)
{

$agregar="INSERT INTO tbl_dieta(id_tbl_dieta,tbl_mezclada_dieta_id_tbl_mezclada_dieta,tbl_ingredientes_id_tbl_ingredientes,peso,bultos,tara,neto,sobrante,kilogramos)VALUES('','$id','$ingrediente','$txtpeso','$txtbulto','$txttara','$txtneto','$txtsobra','$kilo')";

$rci=mysql_query($agregar, $db) or die(mysql_error());

if($rsi!=false){

echo '<p>ERROR</p>';

}else{
echo "<script> alert('Se ha agregado !!') </script>";



}
echo "<script language=\"JavaScript\"type=\"text/javascript\">\n";
echo "<!--\n";
echo "top.location.href='redieingre.php';\n";
echo "//-->\n";
echo"</script>\n";

}
else


$inser="INSERT INTO tbl_mezclada_dieta(id_tbl_mezclada_dieta,no_mezclada,fecha) VALUES('','$txtmezcla','$nuevaFecha') ";

$rc=mysql_query($inser, $db) or die(mysql_error());

if($rs!=false){

echo '<p>ERROR</p>';

}else{
echo "<script> alert('Se ha agregado !!') </script>";



}
 
me da gusto que hayas salido de tus dudas. salu2. pd. podrias redireccionar asi--><?php
header
('Location:
mipagina.php');
?> da lo mismo k javascript.
 
Pues gracias a ustedes hermanos bakunos mil gracias ...
 
No se para que estes desarrollando, pero te doy unas pequeñas sugerencias:
- Identa tu codigo.
- Ponle un nombre referencial a tus variables.
- Supongo que los valores que asiganas a tus variables los obtienes de un post, no cancatenes variables directamente en tu query, y valida el tipo de dato que recibes.
- Usa procedimientos almacenados, es mas practico. Asi podrias mandar una opcion para validarla en un if, y ejecutar la consuta que quieras.

Son solo unas sugerencias, pero realmente te ahorrarian trabajo, mayor seguridad y administracion de tu codigo.
 
Volver
Arriba