Functions with same parameter [closed]

0

I have two functions that are triggered from the product code, my functions are used to complete the next fields, but I can not use join.

The correct one would be to create a separate file for the second function since they use the same parameter?

Or do you have to do the same functions with the same parameters but do the same things?

Below I'll leave my index script

  $(document).ready(function(){
        $("input[name='codigo_produto']").on("change", function(){
                var $descri = $("input[name='descri']");
                var $barcode = $("input[name='barcode']");
                var $id = $("input[name='id']");
                var $unid = $("select[name='unid']");
                var $familia = $("select[name='familia']");
                var $tipo = $("select[name='tipo']");
                var $id_depto = $("select[name='id_depto']");
                var $grupo = $("select[name='grupo']");
                var $cod_referencial = $("input[name='cod_referencial']");
                var $codigo_interno = $("input[name='codigo_interno']");
                var $embalagem = $("input[name='embalagem']");
                var $inativo = $("input[name='inativo']");                    

                $.getJSON('function_pro-1.php',{ 
                        codigo_produto: $( this ).val(),
                            executar : 1
                },function( json ){
                        $descri.val ( json.descri );
                        $barcode.val( json.barcode );
                        $id.val( json.id );
                        $unid.val( json.unid );
                        $familia.val( json.familia );
                        $tipo.val ( json.tipo );
                        $id_depto.val( json.id_depto );
                        $grupo.val( json.grupo );
                        $cod_referencial.val( json.cod_referencial );
                        $codigo_interno.val( json.codigo_interno );
                        $embalagem.prop('checked', !!+json.embalagem);
                        $inativo.prop('checked', !!+json.inativo );
                     
                        
                });
        });
});


$(document).ready(function(){
        $("input[name='codigo_produto']").on("change", function(){

                var $un_medida = $("input[name='un_medida']");
                var $operacao = $("input[name='operacao']");
                var $fator = $("input[name='fator']");
                var $default_venda = $("input[name='default_venda']");
                var $fator_carga = $("input[name='fator_carga']");
                
                $.getJSON('function_pro-1.php',{ 
                        convunid: $( this ).val(),
                        executar : 2
                },function( json ){

                        $un_medida.val ( json.un_medida );
                        $operacao.val ( json.operacao );
                        $fator.val ( json.fator );
                        $default_venda.val ( json.default_venda );
                        $fator_carga.val ( json.fator_carga );
                });
        });
});                 

function-1.php

    <?php
include_once("conn.php");

$opc = isset($_GET['executar']) $_GET['executar'] : 0; 

function codigo_produto($codigo_produto, $conn){
    
    $result = "SELECT * FROM cadpro WHERE codigo_produto = '$codigo_produto' ";

    $resultado = $conn->query($result);

    // DECLARA A VARIAVEL
    $valores = array();

    if($resultado){
        $row = mysqli_fetch_assoc($resultado);
        $valores['descri'] = $row['descricao'];
        $valores['barcode'] = $row['barcode'];
        $valores['id'] = $row['id'];
        $valores['unid'] = $row['unidade'];
        $valores['familia'] = $row['familia'];
        $valores['tipo'] = $row['tipo'];
        $valores['id_depto'] = $row['id_depto'];
        $valores['grupo'] = $row['grupo'];
        $valores['cod_referencial'] = $row['cod_referencial'];
        $valores['codigo_interno'] = $row['codigo_interno'];
        $valores['embalagem'] = $row['embalagem'];
        $valores['inativo'] = $row['inativo'];
    } else {
        return json_encode(array( 'error' => mysqli_error($conn) ));        
    }

    return json_encode($valores);
    
}
if($opc === 1){
    echo codigo_produto($_GET['codigo_produto'], $conn);
 }else if($opc === 2){
    echo convunid($_GET['codigo_produto'], $conn);
 }else if($opc === 3){
    echo codigo_produto($_GET['codigo_produto'], $conn);
    echo convunid($_GET['codigo_produto'], $conn);
 }else{
    echo json_encode(array('msg' => 'opcao inválida'));
 }
//    if(isset($_GET['codigo_produto'])){
//        echo codigo_produto($_GET['codigo_produto'], $conn);
//    }
//    
function codigo($codigo_produto, $conn){

       $result = "SELECT * FROM CONVUNID WHERE codigo_produto = '$codigo_produto' ";

       $resultado = $conn->query($result);

       // DECLARA A VARIAVEL
       $valores = array();

       if($resultado){
           $row = mysqli_fetch_assoc($resultado);

           $valores['un_medida'] = $row['un_medida'];
           $valores['operacao'] = $row['operacao'];                   
           $valores['fator'] = $row['fator'];
           $valores['default_venda'] = $row['default_venda'];
           $valores['fator_carga'] = $row['fator_carga'];

       } else {
           return json_encode(array( 'error' => mysqli_error($conn) ));        
       }

       return json_encode($valores);                
   }

    if($opc === 1){
    echo codigo_produto($_GET['codigo_produto'], $conn);
 }else if($opc === 2){
    echo convunid($_GET['codigo_produto'], $conn);
 }else if($opc === 3){
    echo codigo_produto($_GET['codigo_produto'], $conn);
    echo convunid($_GET['codigo_produto'], $conn);
 }else{
    echo json_encode(array('msg' => 'opcao inválida'));
 }
   
?>
    
asked by anonymous 27.10.2017 / 16:28

1 answer

1

Create a flag saying which function to execute the first step is to set this in javascript.

$.getJSON('function_pro-1.php',{ 
           codigo_produto: $(this).val(),
           executar: 1

//Código omitido

In the php mount an if that reads this flag and performs the function as requested.

$opc = isset($_GET['executar']) ? (int) $_GET['executar'] : 0;

if($opc === 1){
   echo codigo_produto($_GET['codigo_produto'], $conn);
}else if($opca === 2){
   echo convunid($_GET['codigo_produto'], $conn);
}else if($opc === 3){
   echo codigo_produto($_GET['codigo_produto'], $conn);
   echo convunid($_GET['codigo_produto'], $conn);
}
    
27.10.2017 / 18:52