Jump to content
lezão

Carrinho de Compras

Recommended Posts

Boa tarde, pessoal!

tenho um codigo que peguei de uma video aula, na video aula funciona normal, mas comigo naun esta funcionando!

os codigos estaun identicos e em meu server naun roda.

alguem pode me ajudar?

 

veja o codigo index.php


<!DOCTYPE html>
<html lang="pt-br">
<head>
	<meta charset="UTF-8">
	<title>Carrinho de Compras</title>
	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" />

</head>
<body>
	<div class="container">
		<div class="row">
		
		<?php 	
	$pdoConnection = require("conexao.php");
    $sql = mysqli_query($link, "SELECT * FROM tab_pedido");
    //$qr = mysql_query($sql) or die (mysql_error()); 
    while($line = mysqli_fetch_array($sql)){
                                        $Nome_produto       = $line['Nome_produto'];
                                        $Valor_produto      = $line['Valor_produto'];
                                        $Descricao_produto  = $line['Descricao_produto'];
                                        $Foto_produto       = $line['Foto_produto'];
                                        $id_produtos        = $line['id_produtos'];
?>

				<div class="col-4">
					<div class="card">
						<div class="card-body">
						    <h4 class="card-title"><?php echo $Nome_produto;?></h4>
						    <h4 class="card-title"><img src="<?php echo $Foto_produto; ?>" style="border-radius: 10px;" width="75px" height="75px" /></h4>
							 
							 <h6 class="card-subtitle mb-2 text-muted">
							  	R$<?php echo number_format($Valor_produto, 2, ',', '.')?>
							 </h6>

							 <a class="btn btn-primary" href="teste_carrinho.php?acao=add&id=<?php echo $id_produtos;?>" class="card-link">Comprar</a>
						</div>
					</div><br/>
				</div>

									    <?php 
    
                                        }
                                        ?>
                                        
		</div>
	</div>
	
</body>
</html>

codigo carrinho.php

<?php
session_start();
if(!isset($_SESSION['carrinho'])){
$_SESSION['carrinho'] = array();
} 
//ADICIONA PRODUTOS

if(isset($_GET['acao'])){
    
//ADICIONAR CARRINHO

if($_GET['acao'] == 'add'){
$id = intval($_GET['id_produtos']);
if(!isset($_SESSION['carrinho'][$id])){
$_SESSION['carrinho'][$id] = 1;
} else {
$_SESSION[‘carrinho’][$id] += 1;
}
} 
//REMOVER CARRINHO

if($_GET['acao'] == 'del'){
$id_produtos = intval($_GET['id_produtos']);
if(isset($_SESSION['carrinho'][$id_produtos])){
unset($_SESSION['carrinho'][$id_produtos]);
}
} 
//ALTERAR QUANTIDADE

if($_GET['acao'] == 'up'){
if(is_array($_POST['prod'])){
foreach($_POST['prod'] as $id_produtos => $qtd){
$id_produtos = intval($id_produtos);
$qtd         = intval($qtd);
if(!empty($qtd) || $qtd <> 0){
$_SESSION['carrinho'][$id_produtos] = $qtd;
}else{
unset($_SESSION['carrinho'][$id_produtos]);
}
}
}
}
}

?>
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" />

</head>
<body>

	<div class="container">
		<div class="card mt-5">
			 <div class="card-body">
	    		<h4 class="card-title">Carrinho</h4>
	    		<a href="teste_index.php">Lista de Produtos</a>
	    	</div>
		</div>


			<form action="?acao=up" method="post">
			<table class="table table-strip">
				<thead>
					<tr>
						<th>Produto</th>
						<th>Quantidade</th>
						<th>Preço</th>
						<th>Subtotal</th>
						<th>Ação</th>

					</tr>				
				</thead>
				<tbody>
<?php

        if(count($_SESSION['carrinho']) == 0){
        echo'<tr>
        <td colspan="5">Não há produto no carrinho</td>
        </tr>';
        } else {
        include "conexao.php";
        $total = 0;
        foreach($_SESSION['carrinho'] as $id_produtos => $qtd){
        $sql = "SELECT * FROM tab_pedido WHERE id_produtos = '$id_produtos'";
        $qr = mysql_query($sql) or die (mysql_error());
        $ln = mysql_fetch_assoc($qr);
        $Nome_produto = $ln['Nome_produto'];
        $Valor_produto = number_format($ln['Valor_produto'], 2, ',', '.');
        $sub = number_format($ln['Valor_produto'] * $qtd, 2, ',', '.');
        $total += $ln['Valor_produto'] * $qtd;
        echo '
        <tr>
        <td>'.$Nome_produto.'</td>
        <td><input type="text" size="3" name="prod['.$id_produtos.']" value="'.$qtd.'" /></td>
        <td>R$ '.$Valor_produto.' </td>
        <td>R$ '.$sub.'</td>
        <td><a href="?acao=del&id_produtos='.$id_produtos.'">Remove</a></td>
        </tr>';
        }
        $total = number_format($total, 2, ',','.');
        echo '<tr>
        <td colspan="4">Total</td>
        <td>R$ '.$total.'</td>
        </tr>';
        }
?>

</tbody>
</form>
</table>

</body>
</html>      

aonde eu estou errando????

Share this post


Link to post
Share on other sites

Boa tarde!! Tudo blz?
Pra nos ajudar a orientar com maior precisão, nos diga até onde o script "rodou" e qual foi a mensagem de erro. (uma vez que não podemos reproduzir a execução do script)
Senão vamos ficar tentando encontrar desde o início:
Certifique-se de que seu server tem um interpretador de arquivos .php;
Certifique-se de que o pdo e o mysqli estão instalados e liberados no php.ini;
Se estiver usando apache ou  caddy ao invés de nginx, verifique o mod_rewrite e o arquivo .htaccess;
Verifique se a pastinha definida para os arquivos temporários de sessão existe e tem as permissões de escrita e leitura;
etc.

Share this post


Link to post
Share on other sites

Boa noite!
Tudo bem sim. E você?

 

17 horas atrás, lezão disse:

não dá nenhum erro 


Ative a exibição de erros
a) No php.ini remova o ponto e vírgula do início da linha:
; error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT

ou

b) Logo após abrir a tag php, defina:
<?php
error_reporting(E_ALL);

E veja no browser, se algum erro vai ser exibido

 

17 horas atrás, lezão disse:

mas veja ai no link oq acontece 

E o que deveria acontecer?

Share this post


Link to post
Share on other sites

Aparece normal no browser.

http://mercatotal.com.br/pizzaria/teste_carrinho.php?acao=add&id=2

 

Share this post


Link to post
Share on other sites

E ai tudo bem?

O erro mysql_query talvez seja porque seu servidor esta habilitado para mysqli.....

De uma olhada no "index" que você postou acima, observe ....tem uma linha com mysqli_query.....e uma comentada mysql_query....provavelmente é apenas isso no carinho.php....

Troque a opção mysql_query por mysqli_query.....

Passei por muitas dessas.....

Abraços

Share this post


Link to post
Share on other sites

Verifique a versão do PHP, pois esta extensão tornou-se obsoleta no PHP 5.5.0 e foi removida no PHP 7.0.0. Em vez disso, a extensão MySQLi ou PDO_MySQL deve ser usada. 

 

https://www.php.net/manual/en/function.mysql-query.php

 

Para ver qual versão esta usando:

 

<?php 

phpinfo();

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Helinho Coelho
      Olá eu tenho um Array Multidimensional e gostaria que ele ficasse simples, mas com os valores tendo suas respectivas chaves mantidas.
       
      Segue o meu Array atual que é multidimensional:
      Array ( [KEY001] => Array ( [0] => 7 [1] => 22 ) [KEY002] => Array ( [0] => 4 [1] => 19 ) [KEY003] => Array ( [0] => 13 [1] => 21 [2] => 22 ) )  
      Mas eu gostaria de obter o resultado abaixo em um Array simples:
      Array ( [KEY001] => 7 [KEY001] => 22 [KEY002] => 4 [KEY002] => 19 [KEY003] => 13 [KEY003] => 21 [KEY003] => 22 )  
      É possível fazer isso com algum tipo de foreach no PHP?
       
    • By RX3Info
      Boa Tarde!
      Pessoal,
      Estou precisando realizar um cálculo dentro de uma select, mas não estou conseguindo, segue abaixo a select sem as operações e um exemplo (que não funcionou) logo abaixo:
       
      Este código está funcionando:
      select A.CODPRODUTO, A.LOTE, A.QTD, A.`LOCAL`, A.OT, A.ALTUSU, A.ALTMOM, B.CODPRODUTO, B.DESCRICAO, B.CUSTO, C.ICMS_VALOR, C.IPI_VALOR, C.COFINS_VALOR, C.QTD from proqtd as A inner join produto as B on a.CODPRODUTO = B.CODPRODUTO inner join nfeprodu as C on B.CODPRODUTO = C.PRODUTO  
      Este não funciona e da erro devido ao cálculo.
      select A.CODPRODUTO, A.LOTE, A.QTD, A.`LOCAL`, A.OT, A.ALTUSU, A.ALTMOM, B.CODPRODUTO, B.DESCRICAO, (B.CUSTO, - C.ICMS_VALOR, - C.IPI_VALOR, - C.COFINS_VALOR, / C.QTD) as CustoSemImpostos from proqtd as A inner join produto as B on a.CODPRODUTO = B.CODPRODUTO inner join nfeprodu as C on B.CODPRODUTO = C.PRODUTO  
      O que eu preciso é o seguinte, que me traga os itens com os valores sem os impostos, veja acima que a tentativa está sendo de pegar o valor de custo de um item, subtrair os impostos e dividir pela quantidade em estoque, desta forma, tenho o valor da unidade de cada item sem os impostos, mas não estou conseguindo.
       
      Se alguém puder me ajudar com um exemplo, ficarei muito agradecido.
      Obrigado!
       
    • By iguulima
      É possivel realizar uma consulta SQL em duas colunas da mesma tabela usando outra função que não seja o AND ou OR? Segue o meu Select ate agora:
       
      (SELECT * FROM product WHERE comid = $idcom AND status = 'Ativo' AND categ = $category AND nameprod like'%$search%'  ORDER BY id DESC)  
      Por exemplo se eu colocar um AND após buscar o nameprod, no nome do produto não tiver a palavra chave ele também não irá buscar. Ou se colocar um OR ele anulo as outras condições até onde eu sei.
      Iniciante em programação.
    • By Giuliano Maffei
      Oi Pessoal, sou novo por aqui.
      Agradeço se alguém puder me ajudar.
      Tenho um banco de dados com a tabela abaixo:
      DB pets
      ------------------------------------------------------------------------------------
      | id | pet_tutor | pet_name | pet_species | pet_breed  |
      ------------------------------------------------------------------------------------
      | 1  |        José |             Rex |                   1 |    Vira-latas |
      | 2  |      Paulo |      Bichano |                  2 |        Siamês |
      | 3  |       João |             Max |                  1 | Lhasa-apso |
      ------------------------------------------------------------------------------------
       
      Fiz o código abaixo:
      $species_lang = array('0' => 'Selecionar','1' => 'Cachorro', '2' => 'Gatos', '3' => 'Acarás');
       
      SELECT (pets.id as id, pet_tutor, pet_name, {(" . $species_lang['pet_species'] . ")}, pet_breed FROM pets)
       
      Resultado:
      -----------------------------------------------------------------------------------
      | id | pet_tutor | pet_name | pet_species | pet_breed  |
      ------------------------------------------------------------------------------------
      | 1  |        José |             Rex |                        | Vira-latas |
      | 2  |       Paulo |    Bichano |                        |     Siamês |
      | 3  |        João |           Max |                        | Lhasa-apso |

      -----------------------------------------------------------------------------------
      Porque não consigo carregar o campo 'pet_species' com a raça do pet. Alguém tem uma luz pra me ajudar?
       
      Obrigado
    • By lezão
      Boa noite!
      Td bem com vcs?
      Estou usando esse código mas não retorna nada!
       
      Alguém pode me ajudar ?
       
       
      <?php $sql = mysqli_query($link, "SELECT ver_post, COUNT(ver_post) AS Quantidade FROM tab_comentarios where ver_post = 'red' Group by ver_post"); ?> Variável
      <?php echo $Quantidade; ?>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.