Displaying saved image in PHP database /Restaurant

Asked

Viewed 257 times

0

$pdo->bindValue( ':img_prato' , $_REQUEST['img_prato']); = sw-profile.jpg

How do I display the image, not the path?

Insert.php

<?php
require_once 'usuario.php';
require_once 'autenticador.php';
require_once 'sessao.php';
try { 


    $pdo = new PDO('mysql:host=localhost;dbname=diner210', 'root', '', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $pdo = $pdo->prepare('INSERT INTO prato VALUES(DEFAULT, :titulo, :descricao, :preco, :img_prato)'); //Preparando os dados
    $pdo->bindValue( ':titulo' , $_REQUEST['titulo']); // recebendo dados do formulario
    $pdo->bindValue( ':descricao' , $_REQUEST['descricao']); 
    $pdo->bindValue( ':preco' , $_REQUEST['preco']); 
    $pdo->bindValue( ':img_prato' , $_REQUEST['img_prato']); 





    $pdo->execute(); // salvando no banco
    print $pdo->rowCount(); // retorna quantas linhas foram alteradas.

     } catch(PDOException $e) { 
        echo 'Error: ' . $e->getMessage();}

 header('location: interno.php');

?>

list-dish.php

<?php 
    //inclui as bibliotecas
    require_once('conexao.class.php');
    //faz a canexão 
    $pdo = new Conexao();

    // determina o numero de registros que serão visualisados
    $maximo = 20;
    // armazenamos o valor da pagina atual
    $pagina = isset($_GET['pagina']) ? ($_GET['pagina']) : '1';
    // subtraimos 1, por que os registros sempre começam do 0
    $inicio = $pagina - 1;
    //multiplicamos a quantidade de registros pelo valor da pagina atual
    $inicio = $maximo * $inicio;


    $strCount = $pdo->select("SELECT COUNT(*) AS 'id_prato', 'titulo', 'descricao', 'preco' , 'img_prato' FROM prato");

    $total = 0;
    $pratoId = 0;

if(count($strCount)){
    foreach ($strCount as $row)  {
        // armazeno total de registros da tabela para fazer paginação
        $total = $row["id_prato"];

    }
$pratos = $pdo->select("SELECT * FROM prato");
    }
echo "<pre><p> Total de pratos cadastrados</p>" . print_r($total, 1) . "<pre>";
?>

        <table class="tabela1" width="40%"> 
            <colgroup>
                <col class="coluna1"/>
                <col class="coluna2"/>
                <col class="coluna3"/>
            </colgroup>
            <caption>Lista de pratos cadastrados</caption>          
            <thead>
                <tr>

                    <th>Prato</th>
                    <th>Descricao</th>
                    <th>Preco</th>
                    <th>Imagem</th>
                </tr>
            </thead>
            <tbody>
            <?php
if(count($pratos) > 0){
   foreach ($pratos as $res) {
      echo "<tr>";
      echo "  <td>". $res['titulo'] ."</td>";
      echo "  <td>". $res['descricao'] ."</td>";
      echo "  <td>". $res['preco'] ."</td>";
      echo "  <td>". $res['img_prato'] ."</td>";
      echo "</tr>";
   }

}               ?>
            </tbody>          
        </table>
        <div id="paginação">
            <?php

            $max_links = 6;

            $previous = $pagina - 1;
            $next = $pagina + 1;

            $pgs = ceil($total / $maximo);

            if($pgs > 1){
                echo "<br/>";
                if($previous > 0){


        echo "<div id='botaoprox'><a href=".$_SERVER['PHP_SELF']."?pagina=$previous><input type='submit' name='bt-enviar' id='bt-enviar' value='Anterior' class='button' /></a></div>";
            }else{
                echo "<div id='botaoanteriorDis'><a href=".$_SERVER['PHP_SELF']."?pagina=$previous><input type='submit'  name='bt-enviar' id='bt-enviar' value='Anterior' class='button' disabled='disabled'/></a></div>";
            }
        }
        echo "<div id='numpag'>";
            for($i=$pagina-$max_links; $i <= $pgs-1; $i++) {
                if ($i <= 0){
                    //enquanto for negativo, não faz nada
                }else{
                    //senão adiciona o link para a outra página
                    if($i == $pgs){
                    //se for o final da pagina, coloca ...
                        echo "<a href=".$_SERVER['PHP_SELF']."?pagina=".($i).">$i</a> ..."; 
                    }
                }
            }

        ?>
    </div>
</body>
</html>
  • 1

    When displaying the image, call it with the full path, you can create a constant with the image path.

1 answer

2

You did not add the HTML tag <img/>. Change the line:

echo "  <td>". $res['img_prato'] ."</td>";

To:

echo "  <td><img src=\"" . CAMINHO_IMAGENS . $res['img_prato'] ."\" alt=\"\"/></td>";

Where CAMINHO_IMAGENS is a count at @rray’s suggestion or a variable

Browser other questions tagged

You are not signed in. Login or sign up in order to post.