Jump to content
granderodeo

Criando página de produto php

Recommended Posts

Olá tenho a página index.php e tenho a página product.php, ao clicar no produto na página inicial, quero que redirecione para página product.php mostrando os dados do determinado produto que cliquei, iniciei o código mais não está dando certo, Obrigado.

 

index.php

<?php
      if (is_array($products)) {
        foreach ($products as $id => $row) { ?>
          <div class="col-sm-6 col-md-4 col-lg-3 mb-2">
             <div class="card-deck">
               <div class="card p-2 border-secondary mb-2">
        <a href="product.php?id=<?= $row['product_id'] ?>">
            <div class="hover-image">
                <img class="card-img-top border-secondary" src="images/<?= $row['product_image'] ?>"/>
                <a href="#"><span class="texto"></span></a>
            </div>
            </a>
            <h3 class="text-center"><?= $row['product_name'] ?></h3>
            <div class="text-center text-black rounded p-1" style="font-size: 20px;">Valor&nbsp;$<?= $row['product_price'] ?></div>
            <button class="btn btn-success btn-block" type="button" value="Add to cart" onclick="cart.add(<?= $row['product_id'] ?>);">Adicionar ao carrinho</button>
          </div>
          </div>
          </div>
        <?php }
      } else {
        echo "No products found.";
      }
      ?>

 

product.php

<?php
$products = $_GET["product_id"];
      if (is_array($products)) {
        foreach ($products as $id => $row) { }};
        $row['product_name']
?>

 

Share this post


Link to post
Share on other sites

Olha você está enviando para product.php um GET product_id ao qual novamente fará a consulta da tabela para buscar as informações do valor em questão.

De qualquer forma sem a estrutura da tabela fica impossível apresentar um exemplo.

 

Uma observação: Você varre um índice de array no foreach se esse índice não é de uma multi dimensional não irá funcionar.

E você não está definindo nada dento do laço de repetição onde $row é criado. Logo isso não existe fora desse laço.

 

Share this post


Link to post
Share on other sites
11 horas atrás, Omar~ disse:

Olha você está enviando para product.php um GET product_id ao qual novamente fará a consulta da tabela para buscar as informações do valor em questão.

De qualquer forma sem a estrutura da tabela fica impossível apresentar um exemplo.

 

Uma observação: Você varre um índice de array no foreach se esse índice não é de uma multi dimensional não irá funcionar.

E você não está definindo nada dento do laço de repetição onde $row é criado. Logo isso não existe fora desse laço.

 

tentei fazer assim ele leva para página product.php, com o id, mais fica tudo em branco.

 

index.php

<a href="product.php?product_id=<?= $row['product_id'] ?>">
               <img src="images/<?= $row['product_image']; ?>" class="card-img-top">
                     </a>

 

product.php

<?php
require_once ("config_bebidas.php"); // Que liga ao banco de dados
$products = $_GET["product_id"];
      if (is_array($products)) {
        foreach ($products as $id => $row) {
?>
<img src="images/<?=  $row['product_image'] ?>"
<?php
 }};
?>

 

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 R4gn3ls0n
      Ao hospedar um arquivo no phpMyAdmin apareceu esse erro, como posso resolver?
      Linhas:
      -- version 4.3.8
      -- http://www.phpmyadmin.net
      --
      -- Host: localhost:3306
      -- Tempo de geração: 28/02/2018 às 19:49
      -- Versão do servidor: 5.6.32-78.1
      -- Versão do PHP: 5.6.30
       
      ______________________________
       
      SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
      SET time_zone = "+00:00";
       

    • By helkton
      galera minha duvida é a seguinte....
      faço a seguinte busca e monto um pdf pra um certificado, e neste certificado preciso coletar todas as materias referente ao curso do mesmo
      $sqlConteudoCurso = "SELECT * FROM conteudo_curso where idCursoConteudo = '$idCurso' order by idConteudo ASC; $conectaConteudoCurso = $conecta->query($sqlConteudoCurso); //conteudoCurso $pdf->SetFont('Arial', '', 11); // Tipo de fonte e tamanhos $pdf->SetTextColor(10,15,35); $pdf->SetXY(10,75); //Parte chata onde tem que ficar ajustando a posição X e Y while($resultConteudoCurso = $conectaConteudoCurso->fetch_object()){ $conteudoCurso = $resultConteudoCurso->nomeConteudo; $pdf->MultiCell(75, 5, $conteudoCurso,'0', 'L', 0);// Tamanho width e height e posição } ok esta é a consulta que realizo no banco de dados ele me retorna a materia referente ao curso certinho, digamos que o curso tenha umas 20 matérias, ele vai imprimir certinho conforme as configurações de espaçamentos...
      AGORA O B.O é seguinte quando o curso acontece de ter tipo umas umas 40 MATÉRIAS ele acaba gerando outra página de pdf
      o que eu queria era que não gerasse outra pagina e sim partisse para o lado direito, pois é um certificado
      TIPO ASSIM....
      MATERIA 1 DO CURSO 1 MATERIA 11 DO CURSO 1 MATERIA 2 DO CURSO 1 MATERIA 12 DO CURSO 1 MATERIA 3 DO CURSO 1 MATERIA 13 DO CURSO 1 MATERIA 4 DO CURSO 1 MATERIA 14 DO CURSO 1 MATERIA 5 DO CURSO 1 MATERIA 15 DO CURSO 1 MATERIA 6 DO CURSO 1 MATERIA 16 DO CURSO 1 MATERIA 7 DO CURSO 1 MATERIA 17 DO CURSO 1 MATERIA 8 DO CURSO 1 MATERIA 18 DO CURSO 1 MATERIA 9 DO CURSO 1 MATERIA 19 DO CURSO 1 MATERIA 10 DO CURSO 1 MATERIA 20 DO CURSO 1  
    • By sander147
      Boa Tarde, estou com um problema ao por o menu ao lado direito, ele não fica alinhado com o campo de notícias, eu não faço ideia de como fazer eles ficarem lado a lado, alguém poderia me dar uma luz? eu estou seguindo um livro da casa do código mas os resultados não saíram iguais depois que eu fui além do livro. :/
      Deveria ficar assim:
       https://uploaddeimagens.com.br/images/002/561/267/original/menu.png?1585683825
       
      Ficou assim:

    • By binds
      Olá Caríssimos,
       
      Não tenho muito conhecimento de javascript, desde já agradeço se alguém puder me ajudar.
      Preciso criar uma página simples de validação por idade para acessar uma página, a ideia é simples:
      se a pessoa nasceu antes de 2002 redireciona a página meusite_com_br/maior 
      mas se ela nasceu depois de 2002 redireciona a página meusite_com_br/menor
      Garimpando achei o código abaixo que fiz alguns ajustes, porém não sei como abrir as respectivas paginas meusite_com_br/menor ou meusite_com_br/maior como resultado, o resultado nesse caso são textos:  "MENOR 18" : "MAIOR DE 18"
       
      <!DOCTYPE html> <html> <body> <CENTER> <h2>Validador de Idade</h2> <p>Digite o ano que você nasceu para acessar o site:</p> <input id="age" value="Ex: 1990" /> <br> <button onclick="myFunction()">ACESSAR SITE</button> <p id="demo"></p> <script> function myFunction() {   var age, voteable;   age = Number(document.getElementById("age").value);   if (isNaN(age)) {     voteable = "Você não inseriu um ano válido. <BR> Exemplo: 2020";   } else {     voteable = (age > 2002) ? "MENOR 18" : "MAIOR DE 18";   }   document.getElementById("demo").innerHTML = voteable; } </script> </CENTER> </body> </html>  
      Novamente agradeço a ajuda!
      Luis
       
    • By Rebeca Julia Bronzatti
      Como salvar um formulário que possui duas tabelas, tenho uma tabela imóvel e outra arquivoimagem, gostaria de saber como salvar as duas, vi algumas coisas como dar um insert de cada vez no entanto eu não consigo recuperar a imagem, ele nem entra no if pra salvar a imagem. Se alguém puder me ajudar agradeço e muito to batendo a cabeça faz um tempo e não consigo resolver o bo.
       
      <?php include 'Conexao.php'; $nome = $_POST['nome']; $idade = $_POST['idade']; $sexo = $_POST['sexo']; $arquivo = isset($_FILES['arquivo']) ? $_FILES['arquivo'] : ""; $sql = "INSERT INTO usuario(nome, idade, sexo) VALUES ('$nome', '$idade', '$sexo')"; $resultado = mysqli_query($cnn, $sql); if(!$sql){ echo 'não salvou'; }else{ echo 'salvou'; } if (isset($_FILES['arquivo'])) { $nome = $arquivo['name']; $tiposPermitidos = ['jpg', 'jpeg', 'png']; $quantArquivos = count($_FILES['arquivo']['name']); $contador = 0; while ($contador < $quantArquivos) { $extensao = pathinfo($_FILES['arquivo']['name'][$contador], PATHINFO_EXTENSION); $temporario = $_FILES['arquivo']['tmp_name'][$contador]; if (in_array($extensao, $tiposPermitidos)) { $tamanho = $arquivo ['size']; $novo_nome = uniqid().".$extensao" ; $diretorio = "upload/"; if(move_uploaded_file($temporario, $diretorio . $novo_nome)){ echo "Upload feito com sucesso $novo_nome<br>"; $sql_code = "INSERT INTO arquivoimagem (arquivo, data) VALUE ('$novo_nome', NOW())"; header("Location: MostraImagem.php"); if (mysqli_query($cnn, $sql_code)) { $msg = "Arquivo enviado com sucesso!"; } else { $msg = "Falha ao enviar arquivo"; } } } else { print "Tipo de arquivo não permitido"; } $contador++; } }
          
       
×

Important Information

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