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...

spawn20

Bovino maduro
Desde
19 May 2008
Mensajes
395
Muy buenas tardes compañeros tengo un problemita, necesito saber como puedo hacerle para validar un dato es decir si el dato ya existe en la base de dato que no lo agregue y si no existe que lo agregue espero me puedan ayudar soy nuevo en esto muchas gracias carnales...
 
Pues muy simple, si es un indice no se repetira nunca, al tratar de insertar no te lo permitira y el motor de mandara un mensaje de error.
 
Marca como PrimaryKey la columna que quieras sea única.
 
Hola Compañeros muchas gracias por contestar, esa opción la tenia pensado pero el detalle es que esos valores en un futuro se repiten y aveces se convierte en variable por eso lo que necesito es validar que el campo haga una busque si existe la variable del campo con otro campo que es fecha gracias compañeros, me comentaron que hay un script, pero la neta no le entiendo y si alguien sabe pues le agradeceria mucho que me lo comparta muchas gracias ...
 
buenas tardes e buscando y e hecho este codigo pero no se por que no hace la condicion espero le puedan hechar un ojo gracias...
$nuevaFecha=implode('-',array_reverse(explode('-',$entrada)));


$consulta3=("SELECT * FROM tbl_mezclada_dieta WHERE no_mezclada like $txtmezcla");
$resul=mysql_query($consulta3) or die(mysql_error());
$no_mezclad=$resul["no_mezclada"];
$fec=$resul['fecha'];
$id=$resul["id_tbl_mezclada_dieta"];
if($no_mezclad==$txtmezcla and $fec==$nuevaFecha)
{
$resultado = mysql_query("update tbl_mezclada_dieta no_mezclada='$txtmezcla fecha='$nuevaFecha' WHERE id_tbl_mezclada_dieta=$id");
}
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());
 
buenas tardes e buscando y e hecho este codigo pero no se por que no hace la condicion espero le puedan hechar un ojo gracias...
$nuevaFecha=implode('-',array_reverse(explode('-',$entrada)));


$consulta3=("SELECT * FROM tbl_mezclada_dieta WHERE no_mezclada like $txtmezcla");
$resul=mysql_query($consulta3) or die(mysql_error());
$no_mezclad=$resul["no_mezclada"];
$fec=$resul['fecha'];
$id=$resul["id_tbl_mezclada_dieta"];
if($no_mezclad==$txtmezcla and $fec==$nuevaFecha)
{
$resultado = mysql_query("update tbl_mezclada_dieta no_mezclada='$txtmezcla fecha='$nuevaFecha' WHERE id_tbl_mezclada_dieta=$id");
}
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());
 
$x=mysql_nums_rows(select)
if($x==1){existe n la tabla}
else{inserta nuevo dato}
 
Que tal Compañero jiramy e cambiado el mysql_query por el mysql_num_rows pero me sale un error Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in espero me puedas ayudar saludos
 
$x=mysql_query(select)
$y=mysql_num_rows($x)
echo $y
if($y==1)
van ambos.
 
Que tal compañero me aparece esto U_U te dejo mi codigo para que lo cheques gracias por tu ayuda ...

Query was empty


$consulta3=("SELECT * FROM tbl_mezclada_dieta WHERE no_mezclada like $txtmezcla");
$resul2=mysql_query($consulta3) or die(mysql_error());
$resul3=mysql_num_rows($resul2);
$no_mezclad=$resul3["no_mezclada"];
$fec=$resul3["fecha"];
$id=$resul3["id_tbl_mezclada_dieta"];

if($resul3=1)
{
$resultado =("UPDATE 'tbl_mezclada_dieta' SET 'no_mezclada'='$txtmezcla', 'fecha'='$nuevaFecha' WHERE 'id_tbl_mezclada_dieta'=$id");
}
else
$inser="INSERT INTO tbl_mezclada_dieta(id_tbl_mezclada_dieta,no_mezclada,fecha) VALUES('','$txtmezcla','$nuevaFecha') ";
 
no pues están totalmente perdidos, el mas cercano y total ganador es ..... CompuDoc con busca en google: mysql if exists update else insert
Felicidades !!!!
 
$consulta3=("SELECT *
FROM
tbl_mezclada_dieta
WHERE no_mezclada
like $txtmezcla");
$resul2=mysql_query
($consulta3) or die
(mysql_error());
$resul3=mysql_num_rows
($resul2);
if($resul3==1)
{ echo 'xsist';mysql_query(update)}
else{ echo 'no xsist'; mysql_query(insert)
 
ya lo e hecho pero no me es funcional ya que si tengo un dato la base de datos agrega otro campo con el mismo valor pero si no existe ese valor no puede agregar otro saludos ...
 
bueno mi amigo creo que no t stas xplicando bien. kisas tengas algunos detalles n tu tablas verficalo y comntas. salu2
 
bueno mi amigo creo que no t stas xplicando bien tu problem. kisas tengas algunos detalles n tu tablas verficalo y comntas. salu2
 
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 ...
 
Esta facil... primerooo, lo que vas a meter en la tabla es asi $dato... validas haciendo un select en la tabla, tiene que revisar campo por campo de la tabla y compararlo con $dato...


haces asi:

while(mysql_fetch_row ($el_select)){

$var=mysql_fetch_row ($el_select);

if($dato!=$var)
insert....
else{(no insertes ni madres xD)}

}
y sha,, jeje, diculpa que no recuerde como va el codigo tal cual pero hace mucho que no juego al php y mysql... yo te puedo ayudar si no puedes mandame mensaje privado, esta bien papa ;), como te digo es la manera mas facil y mas efectiva, solo es un while xD, io jugaba con eso para validar ussers y passwords etc etc etc.
 
Volver
Arriba