Ir para conteúdo
Fórum Script Brasil
  • 0

exibir id diferentes vindas do bd


Marko Neto

Pergunta

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

Editado por Marko Neto
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 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?

Editado por Marko Neto
Link para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...