Busco solucionar error en código php relacionado con la introducción de valores en la base de datos
Xpert innet !
Mi duda es que en este código ¿qué tengo mal? Por más que busco no encuentro y quisiera ver si me puedes ayudar para resolverlo, te explico:
Se reciben estos datos:
?
if($_POST)
{
$folio_venta = $_POST['miusuarioml'];
$articulos = $_POST['articulos'];
$fecha_compra = $_POST['mifecha'];
$cantidad = $_POST['cantidad'];
$envio = $_POST['envio'];
$usuarioml_art = $_POST['miusuarioml'];
En esta parte hago una consulta para saber cuáles ya están en la BD y cuáles no:
??????????????????
$conexion = mysql_connect("localhost","root","");
mysql_select_db("ventasml",$conexion);
$sql_query = "SELECT Articulos_Codigo FROM compra_articulos WHERE compra_articulos.FolioVenta = " . $_POST['miusuarioml'];
$tiene = mysql_query($sql_query);
$columna = mysql_fetch_array($tiene);
Aquí checo si es el 1er dato que entra en la BD:
??????????????????
if ($columna['Articulos_Codigo'] == "")
{
mysql_select_db("ventasml",$conexion);
$sql_query = "INSERT INTO compra_articulos values('$folio_venta','$articulos','$fecha_compra','$cantidad','$envio','$usuarioml_art')";
mysql_query($sql_query,$conexion);
}
else
Este es el 'else' por si no es el primer dato que se va a agregar y lo busca en la BD para que no se repita:
??????????????????
{
$busca = "SELECT Articulos_Codigo FROM compra_articulos WHERE compra_articulos.FolioVenta = " . $folio_venta;
if (mysql_query($busca))
{
$tienes = mysql_query($busca);
while ($col = mysql_fetch_array($tienes))
{
Si lo encuentra manda un ALERT diciendo que ya está en la BD:
??????????????????
if ($col['Articulos_Codigo'] == $_POST['articulos'])
{
echo "
<script>alert('Ya has comprado este articulo.')</script>
";
break;
}
else
Si no lo encuentra, lo guarda en la BD:
??????????????????
{
$conexion = mysql_connect("localhost","root","");
$sql_query3 = "INSERT INTO compra_articulos values('$folio_venta','$articulos','$fecha_compra','$cantidad','$envio','$usuarioml_art')";
mysql_query($sql_query3,$conexion);
break;
}
}
}
}
¿Qué es lo que pasa?
Que cuando agrego el 1er artículo todo va bien y también el 2o pero, si intento meter alguno de estos 2 de nuevo pues me da un ERRRRRRROOR grandísimo, ya que me permite meter un montón de artículos iguales, excepto el primero, por ejemplo:
Guardo Articulo USB ---- ok.
Guardo Articulo Teclado ----- ok.
Guardo Articulo Teclado(otra vez) ------ok.
Guardo Articulo Teclado(otra vez) ------ok.
...
...
Y azi me sigo agregando Teclados y cualquier otro tipo de Artículos y no me deshabilita el acceso a la BD por más repetidos que estén los artículos.
Pues si me pudieses ayudar mil
Mi duda es que en este código ¿qué tengo mal? Por más que busco no encuentro y quisiera ver si me puedes ayudar para resolverlo, te explico:
Se reciben estos datos:
?
if($_POST)
{
$folio_venta = $_POST['miusuarioml'];
$articulos = $_POST['articulos'];
$fecha_compra = $_POST['mifecha'];
$cantidad = $_POST['cantidad'];
$envio = $_POST['envio'];
$usuarioml_art = $_POST['miusuarioml'];
En esta parte hago una consulta para saber cuáles ya están en la BD y cuáles no:
??????????????????
$conexion = mysql_connect("localhost","root","");
mysql_select_db("ventasml",$conexion);
$sql_query = "SELECT Articulos_Codigo FROM compra_articulos WHERE compra_articulos.FolioVenta = " . $_POST['miusuarioml'];
$tiene = mysql_query($sql_query);
$columna = mysql_fetch_array($tiene);
Aquí checo si es el 1er dato que entra en la BD:
??????????????????
if ($columna['Articulos_Codigo'] == "")
{
mysql_select_db("ventasml",$conexion);
$sql_query = "INSERT INTO compra_articulos values('$folio_venta','$articulos','$fecha_compra','$cantidad','$envio','$usuarioml_art')";
mysql_query($sql_query,$conexion);
}
else
Este es el 'else' por si no es el primer dato que se va a agregar y lo busca en la BD para que no se repita:
??????????????????
{
$busca = "SELECT Articulos_Codigo FROM compra_articulos WHERE compra_articulos.FolioVenta = " . $folio_venta;
if (mysql_query($busca))
{
$tienes = mysql_query($busca);
while ($col = mysql_fetch_array($tienes))
{
Si lo encuentra manda un ALERT diciendo que ya está en la BD:
??????????????????
if ($col['Articulos_Codigo'] == $_POST['articulos'])
{
echo "
<script>alert('Ya has comprado este articulo.')</script>
";
break;
}
else
Si no lo encuentra, lo guarda en la BD:
??????????????????
{
$conexion = mysql_connect("localhost","root","");
$sql_query3 = "INSERT INTO compra_articulos values('$folio_venta','$articulos','$fecha_compra','$cantidad','$envio','$usuarioml_art')";
mysql_query($sql_query3,$conexion);
break;
}
}
}
}
¿Qué es lo que pasa?
Que cuando agrego el 1er artículo todo va bien y también el 2o pero, si intento meter alguno de estos 2 de nuevo pues me da un ERRRRRRROOR grandísimo, ya que me permite meter un montón de artículos iguales, excepto el primero, por ejemplo:
Guardo Articulo USB ---- ok.
Guardo Articulo Teclado ----- ok.
Guardo Articulo Teclado(otra vez) ------ok.
Guardo Articulo Teclado(otra vez) ------ok.
...
...
Y azi me sigo agregando Teclados y cualquier otro tipo de Artículos y no me deshabilita el acceso a la BD por más repetidos que estén los artículos.
Pues si me pudieses ayudar mil
1 Respuesta
Respuesta de innet
1