Jump to content
Fórum Script Brasil
  • 0

Ajuda para consultar Mysql e organizar os resultados


viriato
 Share

Question

Olá pessoal
 

Eu estou tentando montar uma relação de produtos para os clientes selecionarem, para isso eu armazeno os dados do fornecedor no banco de dados (MySqli) depois faço uma busca

O problema é na hora de preencher essa tag html com os dados: 

<div class="view view-first">
       <img src="Image1.jpg" />
             <div class="mask">
                        <h2>NOME DO FORNECEDOR</h2>
                        <p>DESCRIÇÃO DO PRODUTO</p>
           <a href="#" class="info">PREÇO</a>
      </div>
</div> 

Meu objetivo é colocar essa tag dentro de um laço de repetição (While) para criar um bloco e preencher com os dados até que se esgote o bd, mas não sei como fazer isso

function CreateTag($table, $params = null, $fields = '*'){
  $params = $params ? $params = " {$params}" : null;
  $query = "select {$fields} from {$table}{$params}";
  $resultado = DBExecute($query);
  $clientes = array();
  if (!mysqli_num_rows($resultado)) {
    return false;
  }else{
    while(?????){
   ?????
  }
}

 

Agradeço desde já glr!!

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Olá Viriato!

Você quer que isso se repita enquanto houver resultados da busca no banco???

<div class="view view-first">
       <img src="Image1.jpg" />
             <div class="mask">
                        <h2>NOME DO FORNECEDOR</h2>
                        <p>DESCRIÇÃO DO PRODUTO</p>
           <a href="#" class="info">PREÇO</a>
      </div>
</div> 

Mas onde vão entrar os dados do banco???

Link to comment
Share on other sites

  • 0

Os dados entrariam desta forma

<div class="view view-first">
       <img src="Image1.jpg" />
             <div class="mask">
                        <h2><?php echo $dados["nome"] ?></h2>
                        <p><?php echo $dados["descrição"] ?></p>
           <a href="#" class="info"><?php echo $dados["preço"] ?></a>
      </div>
</div> 

Link to comment
Share on other sites

  • 0

Olá Viriato!

Segue de sugestão para solução:

# ARQUIVO DE FUNÇÕES
// função para gerar tags
/* ex.: de array:
$data = [
    0 => [
        'fornecedor' => 'Jotapê Alimentos LTDA.',
        'descricao' => 'Fornecedor de alimentos não perecíveis',
        'preço' => 'R$ 10,00',
    ]
];
 * */

function CreateTag($data) {
    // inicia uma variável vazia, para guardas as tags:
    $tags = null;
    foreach ($data as $d) {

        // Adiciona uam div.view.view-first à variável $tags:
        $tags.="<div class='view view-first'>
       <img src=Image1.jpg'>
             <div class='mask'>
                        <h2>
$d[fornecedor]</h2>
                        <p>
$d[descricao]</p>
           <a href='#' class='info'>
$d[preço]</a>
      </div>
</div>"
;
    }
// exibe o conteúdo de $tags na tela:
echo $tags;
}

# ARQUIVO QUE BUSCA OS DADOS NO BANCO E EXECUTA A FUNÇÃO
// query a ser buscada:

$query = "SELECT fornecedor, descricao, preço FROM $table";

// executar query
$result = $sqli->query($query);
if ($sqli->error) {  // verificar se houve erro
    echo $sqli->error;
} elseif ($result->num_rows) {      // se tiver algum resultado:
// pegar todos os resultados em formato de array associativo
    $data = $result->fetch_all(MYSQLI_ASSOC);
    // executa a função que gera as tags:
    geraTags($data);
} else {
    echo '<p class="warning">Nenhum registro encontrado, chefe!</p>';
}

Edited by lowys
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.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...