Jump to content
Fórum Script Brasil
  • 0

exibir id diferentes vindas do bd


Marko Neto

Question

Ola galera, estou com um problema que não consigo resolver.

O que acontece é que tenho um código php que gera um html com informação para pagamento, com ID do pedido.

no banco esta tudo certo, gravando os ID do pedido certinho, o problema é quando eu vou exibir isso, ele exibe para todos os pedidos o mesmo ID do pedido.

Por exemplo, cadastrei 2 pedidos, 1 pedido com ID 181, e outro com o ID 182.

na hora de exibir para o usuario fazer o pagamento, no link do código abaixo:

$billhtml = "
<div class='FloatLeft'><b>Pagamento Online PagSeguro</b>
<br />
".$ms."
<br />
<a href=\"java script:window.open('http://meusite/pagseguro/repagar.php?pedido=".$order['orderid']."','popup','width=800,height=800,scrollbars=yes');void(0);\">
<img src='http://meusite/pagseguro/images/final.gif' border='0'></a>
</div><br>
<br /><br /><br /><br />
Link Direto:<br>
<a href='http://meusite/pagseguro/repagar.php?pedido=".$order['orderid']."' target='_blank'>http://meusite/pagseguro/repagar.php?pedido=".$order['orderid']."</a><br>
<br />Voc&ecirc; pode pagar com:<br />".$this->GetValue("htmlpagseguro")."
";
Aparece 2 pedidos, mas com o $order['orderid'] os dois pedidos ficam com o ID 182 que foi o ultimo que cadastrei, e o certo seria ele mostrar 1 código desse com o $order['orderid'] = 181 e outro com o $order['orderid']=182 Só que ele mostra para os dois pedidos o ID 182
http://meusite/pagseguro/repagar.php?pedido=182

Se não ficou claro, eu tento explicar mais.

Espero resposta.

Abraço

Edited by Marko Neto
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0
Posta o script inteiro, se existe dois pedidos você está usando um laço para gerar as linhas dos dois pedidos?

O que eu queria fazer não deu certo, eu tentei usar um if orderid == cadastrada no banco ele mostrava %%GLOBAL_Orderid%% senão mostrava ".orderid['orderid']." mas tambem não deu certopq o modulo cadastra no banco antes de clicar no botão de concluir a compra. E exibir o HTML do pedido.

Vou colar aqui o código que exibe o html, desde o começo. O Repagar.php apenas faz o envio das informações do pedido ao pagseguro, ele recebe por GET o pedido.

O Código de exibição é esse aqui:

<?php

    class CHECKOUT_PAGSEGURO extends ISC_CHECKOUT_PROVIDER
    {

        /*
            Does this payment provider require SSL?
        */
        var $_requiresSSL = false;

        /*
            The help text that will be displayed post-checkout
        */
        var $_paymenthelp = "";

        var    $_id = "checkout_pagseguro";

        /*
            Checkout class constructor
        */
        function CHECKOUT_PAGSEGURO()
        {
            // Setup the required variables for the bank deposit checkout module
            parent::__construct();
            $this->_name = GetLang('PagName');
            $this->_description = GetLang('PagDesc');
            $this->SetImage('logo.gif');
            $this->_help = GetLang('PagHelp');
            $this->_height = 0;
            
            // This is an offline payment method
            $this->_paymenttype = PAYMENT_PROVIDER_OFFLINE;
        }

        /*
            Is bank deposit accessible by the customer? It depends on which
            "Available Countries" are setup by the administrator
        */
        function isaccessible()
        {
            // If bank deposit is available for all countries then return true
            $available_countries = $this->GetValue("availablecountries");

            if( (!is_array($available_countries) && $available_countries == "all") || (is_array($available_countries) && in_array("all", $available_countries)) ) {
                return true;
            }
            else if(!isset($GLOBALS['ISC_CLASS_ACCOUNT'])) { // Always accessible to the Admin panel
                return true;
            }
            else {
                // Load the pending order
                $pendingOrder = LoadPendingOrderByToken();

                // Check the country in the billing address. If it's not set then assume true
                if(isset($pendingOrder['ordbillcountryid'])) {
                    $billing_country_id = $pendingOrder['ordbillcountryid'];
                    if(is_array($available_countries)) {
                        if(in_array($billing_country_id, $available_countries)) {
                            return true;
                        } else {
                            return false;
                        }
                    }
                    else {
                        if($billing_country_id == $available_countries) {
                            return true;
                        } else {
                            return false;
                        }
                    }
                }
                else {
                    return true;
                }
            }
        }

        /**
        * Custom variables for the checkout module. Custom variables are stored in the following format:
        * array(variable_id, variable_name, variable_type, help_text, default_value, required, [variable_options], [multi_select], [multi_select_height])
        * variable_type types are: text,number,password,radio,dropdown
        * variable_options is used when the variable type is radio or dropdown and is a name/value array.
        */
        
        function SetCustomVars()
        {



            $this->_variables['availablecountries'] = array("name" => "Continentes",
               "type" => "dropdown",
               "help" => GetLang('PagContinente'),
               "default" => "all",
               "required" => true,
               "options" => GetCountryListAsNameValuePairs(),
                "multiselect" => true
            );


            $this->_variables['pagemail'] = array("name" => "E-mail cadastrado",
               "type" => "textbox",
               "help" => GetLang('PagEmail'),
               "default" => "",
               "required" => true
            );
            
            $this->_variables['acrecimo'] = array("name" => "Acrécimo em %",
               "type" => "textbox",
               "help" => '',
               "default" => "0.00",
               "required" => true
            );
            
                        
            
    $this->_variables['helptext'] = array("name" => "Mais configurações",
               "type" => "textarea",
               "help" => GetLang('PagInst'),
               "default" => "Você escolheu pagar com PagSeguro.\nPara acessar novamente o pagamento clique no botão abaixo.<br>",
               "required" => true,
               "rows" => 7
            );
            
            
            
            $this->_variables['htmlpagseguro'] = array("name" => "HTML da sua Imagem do PagSeguro",
               "type" => "textarea",
               "help" => GetLang('PagImagemHTML'),
               "default" => "",
               "required" => true,
               "rows" => 7
            );
            

        
            
        }

    function getofflinepaymentmessage(){
    
    // Load the pending order
            $order = LoadPendingOrderByToken($_COOKIE['SHOP_ORDER_TOKEN']);

            // Fetch the customer details
            $query = sprintf("SELECT * FROM [|PREFIX|]customers WHERE customerid='%s'", $GLOBALS['ISC_CLASS_DB']->Quote($order['ordcustid']));
            $result = $GLOBALS['ISC_CLASS_DB']->Query($query);
            $customer = $GLOBALS['ISC_CLASS_DB']->Fetch($result);
    
    
    
$desc1 = $this->GetValue("acrecimo");

    $total = $order['ordgatewayamount'];
    $c = ($total/100)*$desc1;
    $valorpg = str_replace(",", ".",$total+$c);
    $valorfinal = number_format($valorpg, 2, '.', '');



if($desc1>"0"){
$ms = "<b>Total de: ".$valorfinal." Com ".$desc1."% de Acrécimo.</b>";
} else {
$ms = "<b>Total de: ".$valorfinal." Sem Acrécimo.</b>";
}
$servidor = $GLOBALS['ISC_CFG']["dbServer"];
$usuariodb = $GLOBALS['ISC_CFG']["dbUser"];
$senhadb = $GLOBALS['ISC_CFG']["dbPass"];
$bancodados = $GLOBALS['ISC_CFG']["dbDatabase"];
$conexao2 = mysql_connect($servidor, $usuariodb, $senhadb) or print(mysql_error());
$selecionabanco = mysql_select_db($bancodados,$conexao2) or print(mysql_error());
$re = mysql_query("SELECT orderid FROM isc_orders WHERE orderid='".$order['orderid']."'");
$resultado = mysql_query($sql);
if ($resultado != $order['orderid']) {
$billhtml2 = "
<div class='FloatLeft'><b>Pagamento Online PagSeguro</b>
<br />
".$ms."
<br />
<a href=\"java script:window.open('".$GLOBALS['ShopPath']."/modules/checkout/pagseguro/repagar.php?pedido=%%GLOBAL_OrderId%%','popup','width=800,height=800,scrollbars=yes');void(0);\">
<img src='".$GLOBALS['ShopPath']."/modules/checkout/pagseguro/images/final.gif' border='0'></a>
</div><br>
<br /><br /><br /><br />
Link Direto:<br>
<a href='".$GLOBALS['ShopPath']."/modules/checkout/pagseguro/repagar.php?pedido=%%GLOBAL_OrderId%%' target='_blank'>".$GLOBALS['ShopPath']."/modules/checkout/pagseguro/repagar.php?pedido=%%GLOBAL_OrderId%%</a><br>
<br />Você; pode pagar com:<br />".$this->GetValue("htmlpagseguro")."
";
return $billhtml2;
}else{
$billhtml = "
<div class='FloatLeft'><b>Pagamento Online PagSeguro</b>
<br />
".$ms."
<br />
<a href=\"java script:window.open('".$GLOBALS['ShopPath']."/modules/checkout/pagseguro/repagar.php?pedido=".$order['orderid']."','popup','width=800,height=800,scrollbars=yes');void(0);\">
<img src='".$GLOBALS['ShopPath']."/modules/checkout/pagseguro/images/final.gif' border='0'></a>
</div><br>
<br /><br /><br /><br />
Link Direto:<br>
<a href='".$GLOBALS['ShopPath']."/modules/checkout/pagseguro/repagar.php?pedido=".$order['orderid']."' target='_blank'>".$GLOBALS['ShopPath']."/modules/checkout/pagseguro/repagar.php?pedido=".$order['orderid']."</a><br>
<br />Você; pode pagar com:<br />".$this->GetValue("htmlpagseguro")."
";
return $billhtml;
    }    
}

}

?>

Alguma ideia?

Edited by Marko Neto
Link to comment
Share on other sites

  • 0

Marko, deixa entender.

Como o ESERRA disse acima, observe a linha abaixo.

<a href=\"java script:window.open('http://meusite/pagseguro/repagar.php?pedido=".$order['orderid']."','popup','width=800,height=800,scrollbars=yes');void(0);\">
repagar.php?pedido=".$order['orderid']."
se esse:
$order['orderid']

tiver os dois pedido nele, 181, 182, você precisa fazer um loop, ou seja, na primeira volta irá pegar o ID 181, e na segunda volta o ID 182.

Entendeu?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...