Ayuda con Código.

Hola xpert ditman !
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 gracias..
Un Saludo..!
L.I. Juan Carmona

1 respuesta

Respuesta
1
Por qué $folio_venta y $usuarioml_art son iguales?
$folio_venta = $_POST['miusuarioml'];
$usuarioml_art = $_POST['miusuarioml'];
Hola ditman!
Lo que pasa es que para que si va a tener un numero de folio único, lo que pasa es que esto estamos implementándolo apenas y no quería complicarmela je je, pero en lo que te pido no se en verdad porque pase eso. Si pudieras ayudarme mil gracias desde ya.
Saludos..!
L.I. Juan Carmona
Yo haría una función que sea:
function itemYaComprado($identificadorItem) {
 // Busca el $identificadorItem y devuelve TRUE si ya lo ha comprado o FALSE si no.
}
Luego desde tu código llamarías a la función itemYaComprado($item); para ver si ya está comprado o no.
Si separas tu código en funciones, va a ser mucho más fácil de trazar y ver dónde tienes el problema, que en un trozo gigante de código "spaghetti".

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas