Pregunta:
Fecha: 29-01-2019 05:07:54
(En Español)
El primer ejemplo es el que no me sale
Esta es la que si fuinciona bien con los 2 campos
Problemas con PHP y Mysql[Resuelta]
Buen dia comunidad, serian tan amables de ayudarme con el código, tengo una pag la cual me guarda 2 campos y me los suma pero al momento de agregar 10 ya no lo hace "$cantCont=1;" cambio el 1 por el 10 y me cuenta 10 campos aunque solamente guarde 3 o 7El primer ejemplo es el que no me sale
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$razonSocial = $_POST["razonsocial"];
$idCliente = $_POST["idCliente"];
$cliente = $_POST["cliente"];
$tipoContenedor = $_POST["tipoContenedor"];
$contenedor1 = trim($_POST["contenedor1"]);
$contenedor1 = strtoupper($contenedor1);
$contenedor2 = trim($_POST["contenedor2"]);
$contenedor2 = strtoupper($contenedor2);
$contenedor3 = trim($_POST["contenedor3"]);
$contenedor3 = strtoupper($contenedor3);
$contenedor4 = trim($_POST["contenedor4"]);
$contenedor4 = strtoupper($contenedor4);
$contenedor5 = trim($_POST["contenedor5"]);
$contenedor5 = strtoupper($contenedor5);
$contenedor6 = trim($_POST["contenedor6"]);
$contenedor6 = strtoupper($contenedor6);
$contenedor7 = trim($_POST["contenedor7"]);
$contenedor7 = strtoupper($contenedor7);
$contenedor8 = trim($_POST["contenedor8"]);
$contenedor8 = strtoupper($contenedor8);
$contenedor9 = trim($_POST["contenedor9"]);
$contenedor9 = strtoupper($contenedor9);
$contenedor10 = trim($_POST["contenedor10"]);
$contenedor10 = strtoupper($contenedor10);
$tipoOperacion = $_POST["tipoOperacion"];
$fechaAlta = $_POST["fecha"];
if($contenedor10=='X'){
$contenedor10="";
}
$cantCont=1;
if($contenedor1<>'' and $contenedor2<>'' and $contenedor3<>'' and $contenedor4<>'' and $contenedor5<>'' and $contenedor6<>'' and $contenedor7<>'' and $contenedor8<>'' and $contenedor9<>'' and $contenedor10<>''){$cantCont=10;}
/*echo("INSERT INTO viajes (idCliente, Cliente, idTipoContenedor, Contenedor1, Contenedor2, CantCont,
Referencia, CartaPorte, Origen, Destino, Placas, Operador, TipoOperacion, FechaAlta) VALUES
(".$idCliente.",'".$cliente."',".$tipoContenedor.",'".$contenedor1."','".$contenedor2."', ".$cantCont.", '".$cartaPorte."',
'".$referencia."','".$origen."', '".$destino."', '".$placa."', '".$operador."', '".$tipoOperacion."', '".$fechaAlta."');");*/
// Primero Ejecuta una Orden de Consulta:
$consulta = query("SELECT * FROM viajes WHERE contenedor1 = '$contenedor1'");
$row_cnt = mysqli_num_rows($consulta);
// Si hay uno o más de un cliente registrado con ese ID, no se hay la Inserción....
if ($row_cnt >= 1) {
echo $razonSocial." Este contenedor ya se encuentra asegurado: ".$contenedor1;
} else {
// En caso Contrario, SI...
// Procedimiento para incluir datos en Base de Datos
query("INSERT INTO viajes (idCliente, Cliente, idTipoContenedor, Contenedor1, Contenedor2, Contenedor3, Contenedor4, Contenedor5, Contenedor6, Contenedor7, Contenedor8, Contenedor9, Contenedor10, CantCont, TipoOperacion, FechaAlta) VALUES
(".$idCliente.",'".$cliente."',".$tipoContenedor.",'".$contenedor1."','".$contenedor2."','".$contenedor3."','".$contenedor4."','".$contenedor5."','".$contenedor6."','".$contenedor7."','".$contenedor8."','".$contenedor9."','".$contenedor10."', ".$cantCont.", '".$tipoOperacion."', '".$fechaAlta."')");
}
}
?><div class="row">
<div class="col-lg-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<form id="ncliente" name="ncliente" method="post" action="" class="form-horizontal">
<div class="form-group">
<h3 style="margin-left:20px;">Datos del Cliente</h3>
<label class="col-sm-2 control-label">Razon Social</label>
<div class="col-sm-4">
<input name="razonsocial" type="text" autocomplete="off" required title="Completar campo" class="typeahead_2 form-control" <?php
if($_COOKIE["lvl"]==2){
echo 'value="'. $_COOKIE["usuario"] . '" disabled';
}
?> />
<input id="idCliente" name="idCliente" type="hidden" value="<?php
if($_COOKIE["lvl"]==2){
echo $_COOKIE["idUsuario"];
}
?>" />
</div>
<label class="col-sm-2 control-label">Fecha</label>
<div class="col-sm-4"><input type="datetime-local" name="fecha" value="<?php echo date('Y-m-d\TH:i');?>" class="form-control"></div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<h3 style="margin-left:20px;">Datos del Contenedor</h3>
<label class="col-sm-2 control-label">Cliente</label>
<div class="col-sm-4"><input type="text" name="cliente" required title="Completar campo" class="form-control m-b" required></div>
<label class="col-sm-2 control-label">Tipo de Contenedor</label>
<div class="col-sm-4">
<select name="tipoContenedor" id="tipoContenedor" required title="Seleccionar tipo de contenedor" class="form-control m-b" required>
<option value="0">Selecciona el tipo de contenedor</option><?php $result=query("SELECT * FROM TiposContenedores ORDER BY TipoContenedor ASC;");while($row = mysqli_fetch_array($result)) {?>
<option value="<?php echo $row["idTipoContenedor"]; ?>"><?php echo $row["TipoContenedor"]; ?></option>
<?php } ?>
</select>
</div>
<label class="col-sm-2 control-label">Contenedor 1</label>
<div class="col-sm-4"><input type="text" placeholder="ej: ABCD1234567 sin caracteres ( - , . @)" name="contenedor1" class="form-control m-b" required title="El formato debe tener 4 letras mayúsculas y 7 números" maxlength="11"></div>
<label class="col-sm-2 control-label">Contenedor 2</label>
<div class="col-sm-4"><input type="text" placeholder="ej: ABCD1234567 sin caracteres ( - , . @)" name="contenedor2" class="form-control m-b" maxlength="11"></div>
<label class="col-sm-2 control-label">Contenedor 3</label>
<div class="col-sm-4"><input type="text" placeholder="ej: ABCD1234567 sin caracteres ( - , . @)" name="contenedor3" class="form-control m-b" maxlength="11"></div>
<label class="col-sm-2 control-label">Contenedor 4</label>
<div class="col-sm-4"><input type="text" placeholder="ej: ABCD1234567 sin caracteres ( - , . @)" name="contenedor4" class="form-control m-b" maxlength="11"></div>
<label class="col-sm-2 control-label">Contenedor 5</label>
<div class="col-sm-4"><input type="text" placeholder="ej: ABCD1234567 sin caracteres ( - , . @)" name="contenedor5" class="form-control m-b" maxlength="11"></div>
<label class="col-sm-2 control-label">Contenedor 6</label>
<div class="col-sm-4"><input type="text" placeholder="ej: ABCD1234567 sin caracteres ( - , . @)" name="contenedor6" class="form-control m-b" maxlength="11"></div>
<label class="col-sm-2 control-label">Contenedor 7</label>
<div class="col-sm-4"><input type="text" placeholder="ej: ABCD1234567 sin caracteres ( - , . @)" name="contenedor7" class="form-control m-b" maxlength="11"></div>
<label class="col-sm-2 control-label">Contenedor 8</label>
<div class="col-sm-4"><input type="text" placeholder="ej: ABCD1234567 sin caracteres ( - , . @)" name="contenedor8" class="form-control m-b" maxlength="11"></div>
<label class="col-sm-2 control-label">Contenedor 9</label>
<div class="col-sm-4"><input type="text" placeholder="ej: ABCD1234567 sin caracteres ( - , . @)" name="contenedor9" class="form-control m-b" maxlength="11"></div>
<label class="col-sm-2 control-label">Contenedor 10</label>
<div class="col-sm-4"><input type="text" placeholder="ej: ABCD1234567 sin caracteres ( - , . @)" name="contenedor10" class="form-control m-b" maxlength="11"></div>
<label class="col-sm-2 control-label">Tipo de Operacion</label>
<div class="col-sm-4">
<select name="tipoOperacion" id="tipoOperacion" class="form-control">
<option value="Impo">Impo</option>
<option value="Expo">Expo</option>
<option value="Ambos">Ambos</option>
</select>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-4 col-sm-offset-8">
<button class="btn btn-primary" type="submit">Guardar</button>
</div>
</div>Esta es la que si fuinciona bien con los 2 campos
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$razonSocial = $_POST["razonsocial"];
$idCliente = $_POST["idCliente"];
$cliente = $_POST["cliente"];
$tipoContenedor = $_POST["tipoContenedor"];
$contenedor1 = trim($_POST["contenedor1"]);
$contenedor1 = strtoupper($contenedor1);
$contenedor2 = trim($_POST["contenedor2"]);
$contenedor2 = strtoupper($contenedor2);
$cartaPorte = $_POST["cartaPorte"];
$referencia = $_POST["referencia"];
$origen = $_POST["origen"];
$destino = $_POST["destino"];
$placa = $_POST["placas"];
$operador = $_POST["operador"];
$tipoOperacion = $_POST["tipoOperacion"];
$fechaAlta = $_POST["fecha"];
if($contenedor2=='X'){
$contenedor2="";
}
$cantCont=1;
if($contenedor1<>'' and $contenedor2<>''){$cantCont=2;}
/*echo("INSERT INTO viajes (idCliente, Cliente, idTipoContenedor, Contenedor1, Contenedor2, CantCont,
Referencia, CartaPorte, Origen, Destino, Placas, Operador, TipoOperacion, FechaAlta) VALUES
(".$idCliente.",'".$cliente."',".$tipoContenedor.",'".$contenedor1."','".$contenedor2."', ".$cantCont.", '".$cartaPorte."',
'".$referencia."','".$origen."', '".$destino."', '".$placa."', '".$operador."', '".$tipoOperacion."', '".$fechaAlta."');");*/
// Primero Ejecuta una Orden de Consulta:
$consulta = query("SELECT * FROM viajes WHERE contenedor1 = '$contenedor1'");
$row_cnt = mysqli_num_rows($consulta);
// Si hay uno o más de un cliente registrado con ese ID, no se hay la Inserción....
if ($row_cnt >= 1) {
echo $razonSocial." Este contenedor ya se encuentra asegurado: ".$contenedor1;
} else {
// En caso Contrario, SI...
// Procedimiento para incluir datos en Base de Datos
query("INSERT INTO viajes (idCliente, Cliente, idTipoContenedor, Contenedor1, Contenedor2, CantCont,
Referencia, CartaPorte, Origen, Destino, Placas, Operador, TipoOperacion, FechaAlta) VALUES
(".$idCliente.",'".$cliente."',".$tipoContenedor.",'".$contenedor1."','".$contenedor2."', ".$cantCont.", '".$cartaPorte."',
'".$referencia."','".$origen."', '".$destino."', '".$placa."', '".$operador."', '".$tipoOperacion."', '".$fechaAlta."')");
}
}
?><div class="row">
<div class="col-lg-12">
<div class="ibox float-e-margins">
<div class="ibox-content">
<form id="ncliente" name="ncliente" method="post" action="" class="form-horizontal">
<div class="form-group">
<h3 style="margin-left:20px;">Datos del Cliente</h3>
<label class="col-sm-2 control-label">Razon Social</label>
<div class="col-sm-4">
<input name="razonsocial" type="text" autocomplete="off" required title="Completar campo" class="typeahead_2 form-control" <?php
if($_COOKIE["lvl"]==2){
echo 'value="'. $_COOKIE["usuario"] . '" disabled';
}
?> />
<input id="idCliente" name="idCliente" type="hidden" value="<?php
if($_COOKIE["lvl"]==2){
echo $_COOKIE["idUsuario"];
}
?>" />
</div>
<label class="col-sm-2 control-label">Fecha</label>
<div class="col-sm-4"><input type="datetime-local" name="fecha" value="<?php echo date('Y-m-d\TH:i');?>" class="form-control"></div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<h3 style="margin-left:20px;">Datos del Contenedor</h3>
<label class="col-sm-2 control-label">Cliente</label>
<div class="col-sm-4"><input type="text" name="cliente" required title="Completar campo" class="form-control m-b" required></div>
<label class="col-sm-2 control-label">Tipo de Contenedor</label>
<div class="col-sm-4">
<select name="tipoContenedor" id="tipoContenedor" required title="Seleccionar tipo de contenedor" class="form-control m-b" required>
<option value="0">Selecciona el tipo de contenedor</option><?php $result=query("SELECT * FROM TiposContenedores ORDER BY TipoContenedor ASC;");while($row = mysqli_fetch_array($result)) {?>
<option value="<?php echo $row["idTipoContenedor"]; ?>"><?php echo $row["TipoContenedor"]; ?></option>
<?php } ?>
</select>
</div>
<label class="col-sm-2 control-label">Contenedor 1</label>
<div class="col-sm-4"><input type="text" placeholder="ej: ABCD1234567 sin caracteres ( - , . @)" name="contenedor1" class="form-control m-b" required title="El formato debe tener 4 letras mayúsculas y 7 números" maxlength="11"></div>
<label class="col-sm-2 control-label">Contenedor 2</label>
<div class="col-sm-4"><input type="text" placeholder="ej: ABCD1234567 sin caracteres ( - , . @)" name="contenedor2" class="form-control m-b" maxlength="11"></div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<h3 style="margin-left:20px;">Datos del Viaje</h3>
<label class="col-sm-2 control-label">No de Carta Porte</label>
<div class="col-sm-4"><input type="text" name="cartaPorte" class="form-control m-b"></div>
<label class="col-sm-2 control-label">No de referencia</label>
<div class="col-sm-4"><input type="text" name="referencia" class="form-control m-b"></div>
<label class="col-sm-2 control-label">Origen</label>
<div class="col-sm-4"><input type="text" name="origen" class="form-control m-b"></div>
<label class="col-sm-2 control-label">Destino</label>
<div class="col-sm-4"><input type="text" name="destino" class="form-control m-b"></div>
<label class="col-sm-2 control-label">Placas</label>
<div class="col-sm-4"><input type="text" name="placas" class="form-control m-b"></div>
<label class="col-sm-2 control-label">Operador</label>
<div class="col-sm-4"><input type="text" name="operador" class="form-control m-b"></div>
<label class="col-sm-2 control-label">Tipo de Operacion</label>
<div class="col-sm-4">
<select name="tipoOperacion" id="tipoOperacion" class="form-control">
<option value="Impo">Impo</option>
<option value="Expo">Expo</option>
<option value="Ambos">Ambos</option>
</select>
</div>
</div>
<div class="hr-line-dashed"></div>
<div class="form-group">
<div class="col-sm-4 col-sm-offset-8">
<button class="btn btn-primary" type="submit">Guardar</button>
</div>
</div>
Votos: 0 -
Respuestas: 19 -
Vistas: 10
Compartir en: Google
Facebook
Twitter
LinkedIn
Link
Respuestas:
-
Fecha: 29-01-2019 07:41:39 Hola.
Cuando ejecutas la consulta, te arroja algun error?
Modificaste la tabla para agregar esos nuevos campos?
Por lo que veo en la condición que valúa si los contenedores tiene datos, tene en cuenta que no esta contando la cantidad de contenedores, va a tomar el valor de 10 siempre y cuando todos traigan algo, caso contrario se quedara con cantidad 1 y si tus contenedores, 3 de ellos traen info el valor de cant de contenedores será 1, y ese 1 se guardara en la bd, si realmente queres tener en la cant contenedores, los que traen información esa forma de evaluar no es la correcta.
saludos. Votos: 1 - Link respuesta -
Fecha: 29-01-2019 07:55:00 Hola Raul Rch
Ejecuto la consulta y no me marca error
Si modifique la tabla para que me agregara los nuevos campos
Estas en todo lo correcto Raul siempre y cuando sean 10 contenedores me los va a poner y si falta 1 o 2 me lo tomara como 1 solo, Alguna ayuda con esa condición Te lo agradecería demasiado Votos: 0 - Link respuesta -
Fecha: 29-01-2019 08:11:00 Lo que yo haria para ver hasta donde esta llegando el codigo, es:
comentar la consulta, poner un echo "Voy a ejecutar la consulta por ejemplo";
Para ir viendo hasta donde llegas, y con respecto a como obtener que el contador sea acorde a los contenedores que traen informacion hay varias opciones podrias por ejemplo:
despues que definiste que el contador vale 1 empezar a hacer condicionales con cada contenedor y si trae algo en su interior incrementar el valor del contador que inicio en uno, asi hasta el numero 10, al final el valor de la variable que tiene el numero de los contenedores sera acorde.
tradicional.
$contador=0; if($contenedor1 <>""){ $contador=$contador +1; } if($contenedor2 <>""){ $contador=$contador +1; }
comentame si te sirviò Votos: 1 - Link respuesta -
Fecha: 29-01-2019 08:32:44 Que tal Raul, EXCELENTE jalo al 100 muchisimas gracias.
Molestandote con otra consulta ahi mismo, tengo que no se repita el campo pero solamente me sale el primero contenedor me podrias echar la mano en eso si no es mucha molestia
Si repito el primer contenedor si me dice que esta repetido
Ejemplo1: contenedor1= 1234 y contenedor2=ABCD
Pero si solo modifico el primero y los demas estan igual no me dice
Ejemplo2: contenedor1= 5678y contenedor2=ABCD
$consulta = query("SELECT * FROM viajes WHERE contenedor1='$contenedor1'"); $row_cnt = mysqli_num_rows($consulta); // Si hay uno o más de un cliente registrado con ese ID, no se hay la Inserción.... if ($row_cnt >= 1) { echo $razonSocial." Este contenedor ya se encuentra asegurado: ".$contenedor1; } else { // En caso Contrario, SI... // Procedimiento para incluir datos en Base de Datos query("INSERT INTO viajes (idCliente, Cliente, idTipoContenedor, Contenedor1, Contenedor2, Contenedor3, Contenedor4, Contenedor5, Contenedor6, Contenedor7, Contenedor8, Contenedor9, Contenedor10, CantCont, TipoOperacion, FechaAlta) VALUES (".$idCliente.",'".$cliente."',".$tipoContenedor.",'".$contenedor1."','".$contenedor2."','".$contenedor3."','".$contenedor4."','".$contenedor5."','".$contenedor6."','".$contenedor7."','".$contenedor8."','".$contenedor9."','".$contenedor10."', ".$cantCont.", '".$tipoOperacion."', '".$fechaAlta."')"); } } ?>
Votos: 0 - Link respuesta -
Fecha: 29-01-2019 08:47:10 Proba con esto: guarda tu codigo y reemplaza por este y ejecuta, haber que te sale, es mas que nada para ver hasta donde se ejecuta y luego seguimos.
<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $razonSocial = $_POST["razonsocial"]; $idCliente = $_POST["idCliente"]; $cliente = $_POST["cliente"]; $tipoContenedor = $_POST["tipoContenedor"]; $contenedor1 = trim($_POST["contenedor1"]); $contenedor1 = strtoupper($contenedor1); $contenedor2 = trim($_POST["contenedor2"]); $contenedor2 = strtoupper($contenedor2); $contenedor3 = trim($_POST["contenedor3"]); $contenedor3 = strtoupper($contenedor3); $contenedor4 = trim($_POST["contenedor4"]); $contenedor4 = strtoupper($contenedor4); $contenedor5 = trim($_POST["contenedor5"]); $contenedor5 = strtoupper($contenedor5); $contenedor6 = trim($_POST["contenedor6"]); $contenedor6 = strtoupper($contenedor6); $contenedor7 = trim($_POST["contenedor7"]); $contenedor7 = strtoupper($contenedor7); $contenedor8 = trim($_POST["contenedor8"]); $contenedor8 = strtoupper($contenedor8); $contenedor9 = trim($_POST["contenedor9"]); $contenedor9 = strtoupper($contenedor9); $contenedor10 = trim($_POST["contenedor10"]); $contenedor10 = strtoupper($contenedor10); $tipoOperacion = $_POST["tipoOperacion"]; $fechaAlta = $_POST["fecha"]; if($contenedor10=='X'){ $contenedor10=""; } $cantCont=0; if($contenedor1 <>""){ $cantCont++; } if($contenedor2 <>""){ $cantCont++; } if($contenedor3 <>""){ $cantCont++; } if($contenedor4 <>""){ $cantCont++; } if($contenedor5 <>""){ $cantCont++; } if($contenedor6 <>""){ $cantCont++; } if($contenedor7 <>""){ $cantCont++; } if($contenedor8 <>""){ $cantCont++; } if($contenedor9 <>""){ $cantCont++; } if($contenedor10 <>""){ $cantCont++; } // Primero Ejecuta una Orden de Consulta: $consulta = query("SELECT * FROM viajes WHERE contenedor1='$contenedor1'"); $row_cnt = mysqli_num_rows($consulta); // Si hay uno o más de un cliente registrado con ese ID, no se hay la Inserción.... if ($row_cnt >= 1) { echo $razonSocial." Este contenedor ya se encuentra asegurado: ".$contenedor1; } else { // En caso Contrario, SI... // Procedimiento para incluir datos en Base de Datos echo "voy ejecutar la consulta, contenedores: ".$cantCont; /*query("INSERT INTO viajes (idCliente, Cliente, idTipoContenedor, Contenedor1, Contenedor2, Contenedor3, Contenedor4, Contenedor5, Contenedor6, Contenedor7, Contenedor8, Contenedor9, Contenedor10, CantCont, TipoOperacion, FechaAlta) VALUES (".$idCliente.",'".$cliente."',".$tipoContenedor.",'".$contenedor1."','".$contenedor2."','".$contenedor3."','".$contenedor4."','".$contenedor5."','".$contenedor6."','".$contenedor7."','".$contenedor8."','".$contenedor9."','".$contenedor10."', ".$cantCont.", '".$tipoOperacion."', '".$fechaAlta."')"); }*/ }else{ echo 'No Tengo metodo POST'; } ?>Votos: 1 - Link respuesta -
Fecha: 29-01-2019 08:53:34 Me aparece el siguiente error:
Parse error: syntax error, unexpected 'else' (T_ELSE) in C:\xampp\htdocs\app\varios-contenedores.php on line 144
}else{ //linea 144 echo 'No Tengo metodo POST'; //linea 145 } //linea 146 ?> //linea 147Votos: 0 - Link respuesta -
Fecha: 29-01-2019 09:01:16 Discupa, esto fue antes que te diga que reemplaces tu codigo ?
porque me perdí, yo te habia dicho que reemplaces, pensando que no te habia funcionado lo del contador, actualizame, seguir con el inconveniente que no te agregaba o ya solucionaste eso ?
actualizame y seguimos, no hay problema..
Que tal Raul, EXCELENTE jalo al 100 muchisimas gracias.
Molestandote con otra consulta ahi mismo, tengo que no se repita el campo pero solamente me sale el primero contenedor me podrias echar la mano en eso si no es mucha molestia Votos: 1 - Link respuesta -
Fecha: 29-01-2019 09:16:16 El metodo tradicional que me pasaste si funciono para resolver mi pregunta principal, te hice otra en la cual en la misma pestaña de php solo me señala el contenedor 1 cuando esta repetido
Este es el codigo funcionando y ahi mismo tengo una condicion la cual solo me agarra el primer contenedor que se repitio y lo que quiero es que sea en todos los contenedores
<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $razonSocial = $_POST["razonsocial"]; $idCliente = $_POST["idCliente"]; $cliente = $_POST["cliente"]; $tipoContenedor = $_POST["tipoContenedor"]; $contenedor1 = trim($_POST["contenedor1"]); $contenedor1 = strtoupper($contenedor1); $contenedor2 = trim($_POST["contenedor2"]); $contenedor2 = strtoupper($contenedor2); $contenedor3 = trim($_POST["contenedor3"]); $contenedor3 = strtoupper($contenedor3); $contenedor4 = trim($_POST["contenedor4"]); $contenedor4 = strtoupper($contenedor4); $contenedor5 = trim($_POST["contenedor5"]); $contenedor5 = strtoupper($contenedor5); $contenedor6 = trim($_POST["contenedor6"]); $contenedor6 = strtoupper($contenedor6); $contenedor7 = trim($_POST["contenedor7"]); $contenedor7 = strtoupper($contenedor7); $contenedor8 = trim($_POST["contenedor8"]); $contenedor8 = strtoupper($contenedor8); $contenedor9 = trim($_POST["contenedor9"]); $contenedor9 = strtoupper($contenedor9); $contenedor10 = trim($_POST["contenedor10"]); $contenedor10 = strtoupper($contenedor10); $tipoOperacion = $_POST["tipoOperacion"]; $fechaAlta = $_POST["fecha"]; if($contenedor10=='X'){ $contenedor10=""; } $cantCont=0; if($contenedor1 <>""){ $cantCont=$cantCont +1; } if($contenedor2 <>""){ $cantCont=$cantCont +1; } if($contenedor3 <>""){ $cantCont=$cantCont +1; } if($contenedor4 <>""){ $cantCont=$cantCont +1; } if($contenedor5 <>""){ $cantCont=$cantCont +1; } if($contenedor6 <>""){ $cantCont=$cantCont +1; } if($contenedor7 <>""){ $cantCont=$cantCont +1; } if($contenedor8 <>""){ $cantCont=$cantCont +1; } if($contenedor9 <>""){ $cantCont=$cantCont +1; } if($contenedor10 <>""){ $cantCont=$cantCont +1; } /*echo("INSERT INTO viajes (idCliente, Cliente, idTipoContenedor, Contenedor1, Contenedor2, CantCont, Referencia, CartaPorte, Origen, Destino, Placas, Operador, TipoOperacion, FechaAlta) VALUES (".$idCliente.",'".$cliente."',".$tipoContenedor.",'".$contenedor1."','".$contenedor2."', ".$cantCont.", '".$cartaPorte."', '".$referencia."','".$origen."', '".$destino."', '".$placa."', '".$operador."', '".$tipoOperacion."', '".$fechaAlta."');");*/ // Primero Ejecuta una Orden de Consulta: $consulta = query("SELECT * FROM viajes WHERE contenedor1='$contenedor1'"); $row_cnt = mysqli_num_rows($consulta); // Si hay uno o más de un cliente registrado con ese ID, no se hay la Inserción.... if ($row_cnt >= 1) { echo $razonSocial." Este contenedor ya se encuentra asegurado: ".$contenedor1; } else { // En caso Contrario, SI... // Procedimiento para incluir datos en Base de Datos query("INSERT INTO viajes (idCliente, Cliente, idTipoContenedor, Contenedor1, Contenedor2, Contenedor3, Contenedor4, Contenedor5, Contenedor6, Contenedor7, Contenedor8, Contenedor9, Contenedor10, CantCont, TipoOperacion, FechaAlta) VALUES (".$idCliente.",'".$cliente."',".$tipoContenedor.",'".$contenedor1."','".$contenedor2."','".$contenedor3."','".$contenedor4."','".$contenedor5."','".$contenedor6."','".$contenedor7."','".$contenedor8."','".$contenedor9."','".$contenedor10."', ".$cantCont.", '".$tipoOperacion."', '".$fechaAlta."')"); } } ?>
Esta es la condición la cual agregue para que no se repita el contenedor pero solo funciona con el Contenedor1
// Primero Ejecuta una Orden de Consulta: $consulta = query("SELECT * FROM viajes WHERE contenedor1='$contenedor1'"); $row_cnt = mysqli_num_rows($consulta); // Si hay uno o más de un cliente registrado con ese ID, no se hay la Inserción.... if ($row_cnt >= 1) { echo $razonSocial." Este contenedor ya se encuentra asegurado: ".$contenedor1; } else { // En caso Contrario, SI... // Procedimiento para incluir datos en Base de Datos query("INSERT INTO viajes (idCliente, Cliente, idTipoContenedor, Contenedor1, Contenedor2, Contenedor3, Contenedor4, Contenedor5, Contenedor6, Contenedor7, Contenedor8, Contenedor9, Contenedor10, CantCont, TipoOperacion, FechaAlta) VALUES (".$idCliente.",'".$cliente."',".$tipoContenedor.",'".$contenedor1."','".$contenedor2."','".$contenedor3."','".$contenedor4."','".$contenedor5."','".$contenedor6."','".$contenedor7."','".$contenedor8."','".$contenedor9."','".$contenedor10."', ".$cantCont.", '".$tipoOperacion."', '".$fechaAlta."')"); } }Votos: 0 - Link respuesta -
Fecha: 29-01-2019 09:32:08 Ok, entonces lo que te habia dicho anterior, que reemplazaras el codigo para ver hasta donde llegaba, dejalo, porque eso era porque habia interpretado que lo anterior no te habia funcionado.
Vamos a lo otro:
Que concretamente necesitas, que si alguno de los contenedores que trae informacion ya existe en la BD que directamente no guarde nada ? y te diga que ya se encuentra asegurado ?
Pero puede haber en esos 10 contenedores algunos que no esten el la BD ? Votos: 1 - Link respuesta -
Fecha: 29-01-2019 09:41:37 Asi es quiero que si ya existe el contenedor diga que ya existe y no lo guarde, o que lo guarde pero diga algun mensaje de que Contenedor3 o Contenedor5 ya existen, pero que si muestre el contenedor o los contenedores que ya estan en la base de datos
Esta es la condicion que tengo para el Contenedor1 pero si invierto los registros no me dice que ya esta asegurado (solo me busca en la columna Contenedor1
// Primero Ejecuta una Orden de Consulta: $consulta = query("SELECT * FROM viajes WHERE contenedor1='$contenedor1'"); $row_cnt = mysqli_num_rows($consulta); // Si hay uno o más de un cliente registrado con ese ID, no se hay la Inserción.... if ($row_cnt >= 1) { echo $razonSocial." Este contenedor ya se encuentra asegurado: ".$contenedor1; } else { // En caso Contrario, SI... // Procedimiento para incluir datos en Base de Datos query("INSERT INTO viajes (idCliente, Cliente, idTipoContenedor, Contenedor1, Contenedor2, Contenedor3, Contenedor4, Contenedor5, Contenedor6, Contenedor7, Contenedor8, Contenedor9, Contenedor10, CantCont, TipoOperacion, FechaAlta) VALUES (".$idCliente.",'".$cliente."',".$tipoContenedor.",'".$contenedor1."','".$contenedor2."','".$contenedor3."','".$contenedor4."','".$contenedor5."','".$contenedor6."','".$contenedor7."','".$contenedor8."','".$contenedor9."','".$contenedor10."', ".$cantCont.", '".$tipoOperacion."', '".$fechaAlta."')"); } }Votos: 0 - Link respuesta -
-
Fecha: 29-01-2019 09:58:54 Muy bien Raul, quedo en espera de que me puedas ayudar con eso Votos: 0 - Link respuesta
-
Fecha: 29-01-2019 09:59:44 Comenta estas 2 lineas
$consulta = query("SELECT * FROM viajes WHERE contenedor1='$contenedor1'");
$row_cnt = mysqli_num_rows($consulta);
copia este codigo debajo de lo que comentaste, enviale datos y ejecuta. haber que te trae.
$consulta = query("SELECT * FROM viajes WHERE contenedor1=$contenedor1 OR contenedor2=$contenedor2 OR contenedor3=$contenedor3 OR contenedor4=$contenedor4 OR contenedor5=$contenedor5 OR contenedor6=$contenedor6 OR contenedor7=$contenedor7 OR contenedor8=$contenedor8 OR contenedor9=$contenedor9 OR contenedor10=$contenedor10 "); var_dump($consulta);Votos: 0 - Link respuesta -
Fecha: 29-01-2019 10:04:28 Tal vez tengas que agregar comillas simple a las variables... Votos: 0 - Link respuesta
-
Fecha: 29-01-2019 11:44:04 Pongo el codigo asi y me sale el siguiente error y no los agrega:
object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(25) ["lengths"]=> NULL ["num_rows"]=> int(7460) ["type"]=> int(0) }
Notice: Object of class mysqli_result could not be converted to int in C:\xampp\htdocs\app\varios-contenedores.php on line 150
$consulta = query("SELECT * FROM viajes WHERE contenedor1='$contenedor1' OR contenedor2='$contenedor2' OR contenedor3='$contenedor3' OR contenedor4='$contenedor4' OR contenedor5='$contenedor5' OR contenedor6='$contenedor6' OR contenedor7='$contenedor7' OR contenedor8='$contenedor8' OR contenedor9='$contenedor9' OR contenedor10='$contenedor10' "); var_dump($consulta); // Si hay uno o más de un cliente registrado con ese ID, no se hay la Inserción.... if ($consulta >= 1) { //linea 150 echo $razonSocial." Este contenedor ya se encuentra asegurado: ".$contenedor1; } else {
Con este codigo me aparece el siguiente error: bool(false)
$consulta = query("SELECT * FROM viajes WHERE contenedor1=$contenedor1 OR contenedor2=$contenedor2 OR contenedor3=$contenedor3 OR contenedor4=$contenedor4 OR contenedor5=$contenedor5 OR contenedor6=$contenedor6 OR contenedor7=$contenedor7 OR contenedor8=$contenedor8 OR contenedor9=$contenedor9 OR contenedor10=$contenedor10 "); var_dump($consulta); // Si hay uno o más de un cliente registrado con ese ID, no se hay la Inserción.... if ($consulta >= 1) { echo $razonSocial." Este contenedor ya se encuentra asegurado: ".$contenedor1; } else {Votos: 0 - Link respuesta -
Fecha: 29-01-2019 13:16:00 Hace un backup de tu codigo y pega este, reemplaza todo, espero que te sirva, no se usar muy bien mysqli.
if ($_SERVER["REQUEST_METHOD"] == "POST") { $razonSocial = $_POST["razonsocial"]; $idCliente = $_POST["idCliente"]; $cliente = $_POST["cliente"]; $tipoContenedor = $_POST["tipoContenedor"]; //Declaro un arreglo que me almacene toos los contenedores $contenedores=[]; $contenedores['contenedor1']=strtoupper(trim($_POST['contenedor1'])); $contenedores['contenedor2']=strtoupper(trim($_POST['contenedor2'])); $contenedores['contenedor3']=strtoupper(trim($_POST['contenedor3'])); $contenedores['contenedor4']=strtoupper(trim($_POST['contenedor4'])); $contenedores['contenedor5']=strtoupper(trim($_POST['contenedor5'])); $contenedores['contenedor6']=strtoupper(trim($_POST['contenedor6'])); $contenedores['contenedor7']=strtoupper(trim($_POST['contenedor7'])); $contenedores['contenedor8']=strtoupper(trim($_POST['contenedor8'])); $contenedores['contenedor9']=strtoupper(trim($_POST['contenedor9'])); $contenedores['contenedor10']=strtoupper(trim($_POST['contenedor10'])); //---- esto ya estaba $tipoOperacion = $_POST["tipoOperacion"]; $fechaAlta = $_POST["fecha"]; if($contenedores['contenedor10']=='X'){ $contenedores['contenedor10']=''; } // Recorro el arreglo para ver cuantos tienen datos y obtener la cantidad de contenedores $cantCont=0; foreach ($contenedores as $contenedor) { if($contenedor <> ''){ $cantCont++; } } // Determinar si ya estan en la bd, cada contenedor $asegurados=[]; foreach ($contenedores as $contenedor => $value) { $consulta = query("SELECT * FROM viajes WHERE $campo=$value"); $row_cnt = mysqli_num_rows($consulta); if ($row_cnt >= 1){ $asegurados[]=$contenedor; } } // Si hay contenedores en la BD Imprimira por pantalla y no ejecuta la insersion. if(sizeof($asegurados > 0)){ echo $razonSocial." Este contenedor ya se encuentra asegurado: ".'<br>'; foreach ($asegurados as $contenedor) { echo $contenedor.'<br>'; } // Aqui podrias pegar toda la consulta de insert en caso que //quieras guardar de igual forma el registro. }else{ query("INSERT INTO viajes (idCliente, Cliente, idTipoContenedor, Contenedor1, Contenedor2, Contenedor3, Contenedor4, Contenedor5, Contenedor6, Contenedor7, Contenedor8, Contenedor9, Contenedor10, CantCont, TipoOperacion, FechaAlta) VALUES (".$idCliente.",'".$cliente."',".$tipoContenedor.",'".$contenedores['contenedor1']."','".$contenedores['contenedor2']."','".$contenedores['contenedor3']."','".$contenedores['contenedor4']."','".$contenedores['contenedor5']."','".$contenedores['contenedor6']."','".$contenedores['contenedor7']."','".$contenedores['contenedor8']."','".$contenedores['contenedor9']."','".$contenedores['contenedor10']."', ".$cantCont.", '".$tipoOperacion."', '".$fechaAlta."')"); }/* if asegurado*/ }Votos: 1 - Link respuesta -
Fecha: 30-01-2019 05:03:02 Que tal Raul, me salieron los siguientes errores:
Notice: Undefined variable: campo in C:\xampp\htdocs\app\varios-contenedores.php on line 100
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\app\varios-contenedores.php on line 101
Warning: sizeof(): Parameter must be an array or an object that implements Countable in C:\xampp\htdocs\app\varios-contenedores.php on line 107
if ($_SERVER["REQUEST_METHOD"] == "POST") { $razonSocial = $_POST["razonsocial"]; $idCliente = $_POST["idCliente"]; $cliente = $_POST["cliente"]; $tipoContenedor = $_POST["tipoContenedor"]; //Declaro un arreglo que me almacene toos los contenedores $contenedores=[]; $contenedores['contenedor1']=strtoupper(trim($_POST['contenedor1'])); $contenedores['contenedor2']=strtoupper(trim($_POST['contenedor2'])); $contenedores['contenedor3']=strtoupper(trim($_POST['contenedor3'])); $contenedores['contenedor4']=strtoupper(trim($_POST['contenedor4'])); $contenedores['contenedor5']=strtoupper(trim($_POST['contenedor5'])); $contenedores['contenedor6']=strtoupper(trim($_POST['contenedor6'])); $contenedores['contenedor7']=strtoupper(trim($_POST['contenedor7'])); $contenedores['contenedor8']=strtoupper(trim($_POST['contenedor8'])); $contenedores['contenedor9']=strtoupper(trim($_POST['contenedor9'])); $contenedores['contenedor10']=strtoupper(trim($_POST['contenedor10'])); //---- esto ya estaba $tipoOperacion = $_POST["tipoOperacion"]; $fechaAlta = $_POST["fecha"]; if($contenedores['contenedor10']=='X'){ $contenedores['contenedor10']=''; } // Recorro el arreglo para ver cuantos tienen datos y obtener la cantidad de contenedores $cantCont=0; foreach ($contenedores as $contenedor) { if($contenedor <> ''){ $cantCont++; } } // Determinar si ya estan en la bd, cada contenedor $asegurados=[]; foreach ($contenedores as $contenedor => $value) { $consulta = query("SELECT * FROM viajes WHERE $campo=$value"); //Linea 100 $row_cnt = mysqli_num_rows($consulta); //Linea 101 if ($row_cnt >= 1){ $asegurados[]=$contenedor; } } // Si hay contenedores en la BD Imprimira por pantalla y no ejecuta la insersion. if(sizeof($asegurados > 0)){ //Linea 107 echo $razonSocial." Este contenedor ya se encuentra asegurado: ".'<br>'; foreach ($asegurados as $contenedor) { echo $contenedor.'<br>'; } // Aqui podrias pegar toda la consulta de insert en caso que //quieras guardar de igual forma el registro. }else{ query("INSERT INTO viajes (idCliente, Cliente, idTipoContenedor, Contenedor1, Contenedor2, Contenedor3, Contenedor4, Contenedor5, Contenedor6, Contenedor7, Contenedor8, Contenedor9, Contenedor10, CantCont, TipoOperacion, FechaAlta) VALUES (".$idCliente.",'".$cliente."',".$tipoContenedor.",'".$contenedores['contenedor1']."','".$contenedores['contenedor2']."','".$contenedores['contenedor3']."','".$contenedores['contenedor4']."','".$contenedores['contenedor5']."','".$contenedores['contenedor6']."','".$contenedores['contenedor7']."','".$contenedores['contenedor8']."','".$contenedores['contenedor9']."','".$contenedores['contenedor10']."', ".$cantCont.", '".$tipoOperacion."', '".$fechaAlta."')"); }/* if asegurado*/ }Votos: 0 - Link respuesta -
Fecha: 30-01-2019 05:34:40 hola, en vez de campo seria la variable contenedor. Votos: 0 - Link respuesta
-
Fecha: 30-01-2019 06:31:07 Hice el cambio de la variable campo por la de contenedor y me volvio a salir el mismo error
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\app\varios-contenedores.php on line 101
Warning: sizeof(): Parameter must be an array or an object that implements Countable in C:\xampp\htdocs\app\varios-contenedores.php on line 107
if ($_SERVER["REQUEST_METHOD"] == "POST") { $razonSocial = $_POST["razonsocial"]; $idCliente = $_POST["idCliente"]; $cliente = $_POST["cliente"]; $tipoContenedor = $_POST["tipoContenedor"]; //Declaro un arreglo que me almacene toos los contenedores $contenedores=[]; $contenedores['contenedor1']=strtoupper(trim($_POST['contenedor1'])); $contenedores['contenedor2']=strtoupper(trim($_POST['contenedor2'])); $contenedores['contenedor3']=strtoupper(trim($_POST['contenedor3'])); $contenedores['contenedor4']=strtoupper(trim($_POST['contenedor4'])); $contenedores['contenedor5']=strtoupper(trim($_POST['contenedor5'])); $contenedores['contenedor6']=strtoupper(trim($_POST['contenedor6'])); $contenedores['contenedor7']=strtoupper(trim($_POST['contenedor7'])); $contenedores['contenedor8']=strtoupper(trim($_POST['contenedor8'])); $contenedores['contenedor9']=strtoupper(trim($_POST['contenedor9'])); $contenedores['contenedor10']=strtoupper(trim($_POST['contenedor10'])); //---- esto ya estaba $tipoOperacion = $_POST["tipoOperacion"]; $fechaAlta = $_POST["fecha"]; if($contenedores['contenedor10']=='X'){ $contenedores['contenedor10']=''; } // Recorro el arreglo para ver cuantos tienen datos y obtener la cantidad de contenedores $cantCont=0; foreach ($contenedores as $contenedor) { if($contenedor <> ''){ $cantCont++; } } // Determinar si ya estan en la bd, cada contenedor $asegurados=[]; foreach ($contenedores as $contenedor => $value) { $consulta = query("SELECT * FROM viajes WHERE $contenedor=$value"); //Linea 100 $row_cnt = mysqli_num_rows($consulta); //Linea 101 if ($row_cnt >= 1){ $asegurados[]=$contenedor; } } // Si hay contenedores en la BD Imprimira por pantalla y no ejecuta la insersion. if(sizeof($asegurados > 0)){ //Linea 107 echo $razonSocial." Este contenedor ya se encuentra asegurado: ".'<br>'; foreach ($asegurados as $contenedor) { echo $contenedor.'<br>'; } // Aqui podrias pegar toda la consulta de insert en caso que //quieras guardar de igual forma el registro. }else{ query("INSERT INTO viajes (idCliente, Cliente, idTipoContenedor, Contenedor1, Contenedor2, Contenedor3, Contenedor4, Contenedor5, Contenedor6, Contenedor7, Contenedor8, Contenedor9, Contenedor10, CantCont, TipoOperacion, FechaAlta) VALUES (".$idCliente.",'".$cliente."',".$tipoContenedor.",'".$contenedores['contenedor1']."','".$contenedores['contenedor2']."','".$contenedores['contenedor3']."','".$contenedores['contenedor4']."','".$contenedores['contenedor5']."','".$contenedores['contenedor6']."','".$contenedores['contenedor7']."','".$contenedores['contenedor8']."','".$contenedores['contenedor9']."','".$contenedores['contenedor10']."', ".$cantCont.", '".$tipoOperacion."', '".$fechaAlta."')"); }/* if asegurado*/ }Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
