Ir para conteúdo
Pitag346

Dicas para inserção de dados mysqli

Recommended Posts

Olá amigos, tudo bom?

Preciso de uma dica/solução para meu projeto...

 

Bom vamos pelo começo:

 

1. Tenho um sistema de upload de arquivos onde faço o envio e registro no banco de dados o local do arquivo, nome e entre outros...

 

2. Apenas administradores podem enviar e editar arquivos...

 

3. Os usuários comuns são divididos em turmas, e em meu projeto existem 5 turmas e 2 períodos. (Manhã e Noite).

 

Bom, o upload e as informações são simples de inserir no banco de dados

Uso o mysqli para inserir os dados. 

 

Antes do upload tenho um modal onde o administrador informa os dados e envia o arquivo, neste eu quero ter a liberdade de listar esse arquivo somente na turma em que o administrador selecionou nos checkboxs 

 

Exemplo: Vou fazer o upload de 1 lista de exercícios do módulo 2, mas apenas as turmas 1 e 2 estão nesse módulo, ou seja o sistema não vai listar NO WHILE esse arquivo para a turma 3, 4 e 5... mas se eu quiser posso liberar para essas turmas quando eu quiser. Ou tbm posso remover das turmas 1 e 2 e apenas liberar para a turma 4... 

 

Não faço ideia de como posso armazenar isso no banco de dados...

Pensei em fazer os names dos checkbox's com array e depois separando com vírgulas os values, ficando da seguinte forma NO BANCO DE DADOS: 

 

Turmas

1, 2,

 

Mas dentro do while na hora de exibição, utilizando explode não consigo fazer a comparação com a turma do usuário (armezado em session)...

 

Espero que tenham entendido e se não for pedir muito, eu entendo muito pouco de php, se puderem me ajudar com exemplos parecidos com o meu problema, ficarei grato!

 

Obrigado desde já ♡ !

Editado por Pitag346
Agradecimentos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloque o código que possui ou que já tentou utilizar por mais que não faça o que você deseja só para que possamos ter uma ideia.

  • Gostei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
19 horas atrás, HwapX disse:

Coloque o código que possui ou que já tentou utilizar por mais que não faça o que você deseja só para que possamos ter uma ideia.

 

Upload.php: 

//Receber os dados do formulário
$tmp_name = $_FILES['arquivo']['tmp_name'];
$arquivo = $_FILES['arquivo']['name'];
$arquivo_name = $_POST['arquivo_nome'];
$arquivo_data = date("Y-m-d H:i:s");
$professor = $_SESSION['usuarioNome'];
$user_id = $_SESSION['usuarioId'];
$semextensao = explode(".", $arquivo);
$materia = $_POST['materia'];
$descricao = $_POST['descricao'];
// fim dos dados recebidos //
$arm = $_POST['armazena'];
$turmas = $_POST['turma'];
$periodo = $_POST['periodo'];

//verifica
//Busca
	$result_usuario = "SELECT * FROM nuvem1 WHERE arquivo = '$arquivo_name' ";
	$resultado_usuario = mysqli_query($My, $result_usuario);
        $rowcount = mysqli_num_rows($resultado_usuario);

if($rowcount >= 1){

$_SESSION['msg'] = "<div class='alert alert-danger'>Erro ao cadastrar arquivo, nome de exibição já existente!</div>";

exit;

}



if($arm == true){

$t = "0";
$p = "0";

}else{


foreach ($turmas as $value) {

	$t .= $value . ', ';

}

foreach ($periodo as $values) {

	$p .= $values . ', ';

}




}

//Fazer o Upload
move_uploaded_file($tmp_name, "nuvem/{$token}/". $arquivo);

// Faço a inserção //
$result_arq = "INSERT INTO nuvem1 (arquivo_id, arquivo, descricao, materia, arquivo_data, professor, turmas, periodos, arquivo_link, user_id) VALUES ('', '$arquivo_name', '$descricao', '$materia', '$arquivo_data', '$professor', '$t', '$p', '$link', '$user_id')";

 

Meu problema é armazenar as turmas, e depois comparar...

 

Segue o formulário em html:

 

<!-- Modal -->
<div id="EnviaArq" class="modal fade" role="dialog">
  <div class="modal-dialog">

    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Enviar Arquivo</h4>
      </div>
<form action="#" method="post">
      <div class="modal-body">

  <input type="file" id="file" name="arquivo" class="custom-file-input">
<div class="progress progress-striped active">
							<div class="progress-bar" style="width: 0%">
							</div>
						</div>

</br>
       <span><b>Nome de exibição: </b><input type="text" name="arquivo_nome" placeholder="Ex. Lista 1" /></span>
       <span><b>Matéria: </b><select name="materia"><option value="1">Matemática</option></select></span>
</br>
</br>
<div class="checkbox in-line">
                    <label><input type="checkbox" id="atribui" name="armazena"><b>Não Disponibilizar</b></label>
</br>
<span style="font-size: small; color: red">*Apenas será armazenado nos servidores, e poderá ser liberado a qualquer momento.</span>
</br>
</br>
                    <span> <b>Turma:</b> </span>
                    <label><input id="t1" type="checkbox" name="turma[]" value="1"> Turma 1</label>
                    <label><input id="t2" type="checkbox" name="turma[]" value="2"> Turma 2</label>
                    <label><input id="t3" type="checkbox" name="turma[]" value="3"> Turma 3</label>
                    <label><input id="t4" type="checkbox" name="turma[]" value="4"> Turma 4</label>
                    <label><input id="t5" type="checkbox" name="turma[]" value="5"> Barro-Branco</label>
</br>
</br>
       <span><b>Periodo: </b></span><label><input id="p1" type="checkbox" value="1" name="periodo[]"> Manhã</label>
                             <label><input id="p2" type="checkbox" value="2" name="periodo[]"> Noite</label>
</div>
</br>
    <center>  <span><b>Descrição</b></span> 
</br>
      <label><textarea name="descricao" placeholder="Ex. Lista com 50 Exercícios da Unicamp para estudo" style="margin: 0px; width: 548px; height: 91px;"></textarea></label>
</center>
      </div>
      <div class="modal-footer">
        <button type="submit" class="btn btn-success">Enviar</button>
        <button type="button" class="btn btn-default" data-dismiss="modal">Fechar</button>
</form>
      </div>
    </div>

  </div>
</div>

e o javascript para envio do mesmo:

 

<script>
			$(document).on('submit', 'form', function (e) {

				e.preventDefault();
				//Receber os dados
				$form = $(this);				
				var formdata = new FormData($form[0]);
				
				//Criar a conexao com o servidor
				var request = new XMLHttpRequest();
				
				//Progresso do Upload
				request.upload.addEventListener('progress', function (e) {
					var percent = Math.round(e.loaded / e.total * 100);
					$form.find('.progress-bar').width(percent + '%').html(percent + '%');
				});
				
				//Upload completo limpar a barra de progresso
				request.addEventListener('load', function(e){
					$form.find('.progress-bar').addClass('progress-bar-success').html('upload completo...');
					//Atualizar a página após o upload completo
					setTimeout("window.open(self.location, '_self');", 2500);
				});
				
				//Arquivo responsável em fazer o upload da imagem
				request.open('post', 'down/upload.php');
				request.send(formdata);
			});
		</script>

Faltou somente o código da exibição dos arquivos que ainda não desenvolvi mas vou fazer com While o mais certo nessa situação, eu acredito...

Compartilhar este post


Link para o post
Compartilhar em outros sites
Citar

Não faço ideia de como posso armazenar isso no banco de dados...

Pensei em fazer os names dos checkbox's com array e depois separando com vírgulas os values, ficando da seguinte forma NO BANCO DE DADOS: 

Turmas

1, 2,

 

Mas dentro do while na hora de exibição, utilizando explode não consigo fazer a comparação com a turma do usuário (armezado em session)...

Se você for armazenar os valores separados por virgula basta checar com:

<?php
$turmas_banco = explode(',', $dados_do_campo_turmas);

if(in_array($_SESSION['turma'], $turmas_banco)) {
    //código caso esteja na turma
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Carcleo
      Estou tentando rotacionar um texto no PDF com mPDF mas não estou conseguindo.
      $css = ' <style> ul { } ul li { float: left; list-style: none; /*necessáro width no campo */ } ul li span.vertical { display: block; //transform: rotate(270deg); /*necessáro display: block*/ text-rotate : 270; } </style>'; $html = ' <ul> <li style="width: 150px"><span class="vertical">Elefante</span></li> <li style="width: 150px"><span>Não</span></li> <li style="width: 150px"><span>Come</span></li> <li style="width: 150px"><span class="vertical">Bananada</span></li> </ul>'; require_once "../_scripts/_php/_configuracoes/erros.php"; require_once "../vendor/autoload.php"; $pdf = new \Mpdf\Mpdf(['debug' => true]); $pdf->AddPage(); $pdf->charset_in = "UTF-8"; $pdf->SetFont('Arial','B',16); $pdf->WriteHTML( $css, 1 ); $pdf->WriteHTML( $html ); $pdf->Output(); Obs.: O restante do estilo funciona normal.

    • Por jpaulorh
      O código grifado de amarelo está sem os caracteres de comentário, e quando é executado fica como se estivesse comentado e não executa o php.
       

       
      Segue abaixo o código para alguém me explicar esse mistério... 
       
      <!DOCTYPE html>
      <html>
      <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta name="apple-mobile-web-app-status-bar-style" content="black">
        <title>CNSC</title>
          <!-- Favicons-->
        <link rel="icon" href="img/cnsc.png" sizes="32x32">
        <!-- Favicons-->
        <link rel="apple-touch-icon-precomposed" href="img/cnsc.png">
        <!-- Path to Framework7 Library CSS-->
        <link rel="stylesheet" href="css/framework7.ios.min.css">
        <link rel="stylesheet" href="css/framework7.ios.colors.min.css">
        <!-- Path to your custom app styles-->
        <link rel="stylesheet" href="css/my-app.css">
        <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
        <link rel="stylesheet" href="carbon/css/carbon-components.css">
        <!--Import Google Icon Font-->
        <link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
        <script
        src="https://code.jquery.com/jquery-3.1.1.min.js"
        integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
        crossorigin="anonymous"></script>
        <!-- Path to Framework7 Library JS-->
        <script type="text/javascript" src="js/framework7.min.js"></script>
        <script type="text/javascript" src="js/app.min.js"></script>
        <script src="carbon/js/carbon-components.js"></script>
        <script type="text/javascript">
        // Iniatilize do aplicativo com suas propriedades
        $(document).ready(function() {
          myApp = new Framework7({
            material: true,
            materialPageLoadDelay: 3,
            materialPreloaderHtml: '<span class="preloader-inner"><span class="preloader-inner-gap"></span><span class="preloader-inner-left"><span class="preloader-inner-half-circle"></span></span><span class="preloader-inner-right"><span class="preloader-inner-half-circle"></span></span></span>',
            modalTitle: 'CNSC',
            modalButtonCancel: 'Cancelar',
            modalPreloaderTitle: 'Carregando...',
          });
          verificaLogado();
        });
        </script>
      </head>
      <body class="theme-black">
        <!-- Status bar overlay for fullscreen mode-->
        <div class="statusbar-overlay"></div>
        <!-- Panels overlay-->
        <div class="panel-overlay"></div>
        <!-- Left panel with reveal effect-->
        <div class="panel panel-left panel-reveal">
          <div class="content-block">
            <div class="list-block">
              <ul>
                <li>
                  <a href="javascript: localStorage.clear(); location.href = 'index.html'" class="list-button item-link external"><i class="fa fa-sign-out color-icon" aria-hidden="true"></i> Sair</a>
                </li>
              </ul>
            </div>
          </div>
        </div>
        <!-- Views-->
        <div class="views">
          <!-- Your main view, should have "view-main" class-->
          <div class="view view-main">
            <!-- Top Navbar-->
            <div class="navbar">
              <div class="navbar-inner">
                <!-- We have home navbar without left link     icon-bars -->
                <div class="left"><a href="#" class="link icon-only open-panel"> <i class="icon"></i><img class="img img-responsive" style="position:absolute; margin-top: 0px; margin-left: 10px" src="img/cnsc.png"></a></div> 
                <br>
                <div class="center" style="position:absolute; font-weight:bold; color: #0080FF; margin-top: 0px; margin-left: 25%">Clínica N. Sra. do Carmo</div>
                            <?php include('slideshow.php');?>
              </div>
            </div>
            <!-- Pages, because we need fixed-through navbar and toolbar, it has additional appropriate classes-->
            <div class="pages navbar-through toolbar-through">
              <!-- Page, data-page contains page name-->
              <div data-page="index" class="page">
                <!-- Scrollable page content-->
      <div class="page-content">
                  <br>
                  <div class="login-screen-title">Atendimentos</div>
                  <!-- 
        Copyright IBM Corp. 2016, 2018
        This source code is licensed under the Apache-2.0 license found in the
        LICENSE file in the root directory of this source tree.
      -->
      <ul data-accordion class="bx--accordion">
          <li data-accordion-item class="bx--accordion__item">
            <button class="bx--accordion__heading" aria-expanded="false" aria-controls="pane1">
                <a href="li_listas.html" class="color-blue external" style="font-size: 18px;">
              <div class="bx--accordion__title"><i class="fa fa-list" aria-hidden="true"></i> Listas Atendimentos</a></div>
            </button>
          </li>
          <li data-accordion-item class="bx--accordion__item">
            <button class="bx--accordion__heading" aria-expanded="false" aria-controls="pane2">
            <a href="cad_usuarios.html" class="color-blue external" style="font-size: 18px;">
              <div class="bx--accordion__title"><i class="fa fa-user-circle-o" aria-hidden="true"></i> Usuários</a></div>
            </button>
          </li>
          <li data-accordion-item class="bx--accordion__item">
            <button class="bx--accordion__heading" aria-expanded="false" aria-controls="pane3">
            <a href="rel_relatorios.html" class="color-blue external" style="font-size: 18px;">
              <div class="bx--accordion__title"><i class="fa fa-bar-chart" aria-hidden="true"></i> Relatórios</a></div>
            </button>
          </li>
      </ul>
                </div>
              </div>
            </div>
          </div>
        </div>
      </body>
      </html>
    • Por Rafael-38
      Boa Noite, Pessoal

      Preciso de um orientação, veja se podem me ajudar.
      Estou tentando fazer uma validação de nível de acesso através da url só falta essa validação, onde o níveis são  Funcionário = 1 e Administrador = 2 .

      Exemplo url: painel/editUser.php?pag=editar&user=4 
       
      Então a ideia da validação é quando funcionário fazer login no painel ele consegue editar apenas o cadastro dele, caso mude o numero do user=4 para user=3 na url ele não consiga editar outro cadastro.
       
      Abaixo o código que fiz, mais é algum detalhe precisa ajustar:
      Coloquei um alert no $usu_idUser para testar e está recuperando a ID do usuário.
      //Validando Nivel de Acesso if($_GET['user'] != "$usu_idUser" || $_SESSION['nivelAcesso'] != "2") { echo "<script>alert('$usu_idUser'); location.href='index.php';</script>"; }else{ $usu_idUser = intval($_GET['user']); } Agradeço desde já pela ajudar...
    • Por Carcleo
      Gostaria de saber porque o mPDF, nesse meu código, não está aceitando o CSS ao gerar o PDF.
       
      Obs.: no navegador, sai tudo normal mas quando a exibição é no PDF é que nõ funcinam os estilos.
      <?php   $css = "         img {             max-width: 100%;         }         ul {             list-style: none;         }         div.relatorio {             width: 95%;             margin: 0 auto;         }         div.relatorio ul.border {             border: .1px rgb(0,0,0) solid;             background-color: black;         }         div.relatorio .centralizado {             text-align: center !important;         }         div.relatorio .backCinza {             background-color: rgb(217,217,217);         }         div.relatorio ul.ulInlineBlock li {             display: inline-block;         }         div.relatorio ul.lancamento li, div.relatorio ul.resumo li {             height: 100%;             line-height: 18px;             font-size: .85em;             border-left: .1px rgb(0,0,0) solid;             text-align: center;             vertical-align: middle;         }         div.relatorio ul.lancamento li {             width: 113.5px !important;         }         div.relatorio ul.resumo li {             width: 150px !important;         }         div.relatorio ul.lancamento li:first-child, div.relatorio ul.resumo li:first-child {             border-left: none;         }         .erro, .hCentralizadoAvisos {             color: rgb(255,0,0);         }         .hCentralizado, .hCentralizadoAvisos, .erro {             width: auto;             line-height: 50px;             text-align: center;             margin: 0 auto;         }         .labelPequeno {             width: 150px;             height: 30px;             padding: 3px;             display: inline-block;         }         span.vertical {             -webkit-writing-mode: vertical-lr;             -ms-writing-mode: tb-lr;             writing-mode: vertical-lr;             -webkit-transform: rotate(180deg);             -ms-transform: rotate(180deg);             transform: rotate(180deg);         }         span.comum {         }         div.cabecalhoVertical {             display: -webkit-box;             display: -ms-flexbox;             display: flex;             margin: 0 auto;             width: 800px;             height: 220px;             border: .1px rgb(0,0,0) solid;         }         div.cabecalhoVertical div {             display: -webkit-box;             display: -ms-flexbox;             display: flex;             border-right: .1px rgb(0,0,0) solid;             -webkit-box-align: center;             -ms-flex-align: center;             align-items: center;             -webkit-box-pack: center;             -ms-flex-pack: center;             justify-content: center;         }         div.cabecalhoVertical div span {             text-align: center;             font-weight: bolder;         }   ";   $html = "         <div class='relatorio'>             <img src='http://www.wesleyanagceu.com.br/_imgs/gceu.png' /> <h1>Relatório Mensal</h1>             <br><br>                 <div class='cabecalhoVertical'>             <div style='width:100px;'><span class='comum'   >Nome do Gcéu</span></div>             <div style='width:100px;'><span class='vertical'>Supervisor</span></div>             <div style='width:100px;'><span class='comum'   >Líder</span></div>             <div style='width:050px;'><span class='vertical'>Houve Supervisão</span></div>             <div style='width:050px;'><span class='vertical'>Houve dia de Jejum</span></div>             <div style='width:050px;'><span class='vertical'>Houve dia de Evangelismo</span></div>             <div style='width:050px;'><span class='vertical'>Membros Compromissados</span></div>             <div style='width:050px;'><span class='vertical'>Visitantes</span></div>             <div style='width:050px;'><span class='vertical'>Crianças de 0 à 12 anos</span></div>             <div style='width:050px;'><span class='vertical'>Total de presentes</span></div>             <div style='width:050px;'><span class='vertical'>Ofertas</span></div>                                 <div style='width:050px;'><span class='vertical'>Disicpulados</span></div>                                 <div style='width:050px;'><span class='vertical'>Número de decisões</span></div>                             </div>             <div class='border cabecalhoVertical' style='backgroud-color:none; height: 50px !important;'>             <div style='width:100px;'><span class='comum'>Célula 1</span></div>             <div style='width:100px;'><span class='comum'>Cleonice</span></div>             <div style='width:100px;'><span class='comum'>Jonas</span></div>             <div style='width:050px;'><span class='comum'>Não</span></div>             <div style='width:050px;'><span class='comum'>Não</span></div>             <div style='width:050px;'><span class='comum'>Não</span></div>             <div style='width:050px;'><span class='comum'>50</span></div>             <div style='width:050px;'><span class='comum'>10</span></div>             <div style='width:050px;'><span class='comum'>13</span></div>             <div style='width:050px;'><span class='comum'>73</span></div>             <div style='width:050px;'><span class='comum'>22,65</span></div>                                 <div style='width:050px;'><span class='comum'>2</span></div>                                 <div style='width:050px;'><span class='comum'>11</span></div>         </div>                      <div class='border cabecalhoVertical' style='backgroud-color:none; height: 50px !important;'>             <div style='width:100px;'><span class='comum'>Celula 2</span></div>             <div style='width:100px;'><span class='comum'>Carlos</span></div>             <div style='width:100px;'><span class='comum'>Jonas</span></div>             <div style='width:050px;'><span class='comum'>Não</span></div>             <div style='width:050px;'><span class='comum'>Não</span></div>             <div style='width:050px;'><span class='comum'>Não</span></div>             <div style='width:050px;'><span class='comum'>10</span></div>             <div style='width:050px;'><span class='comum'>5</span></div>             <div style='width:050px;'><span class='comum'>3</span></div>             <div style='width:050px;'><span class='comum'>18</span></div>             <div style='width:050px;'><span class='comum'>78,39</span></div>                                 <div style='width:050px;'><span class='comum'>3</span></div>                                 <div style='width:050px;'><span class='comum'>1</span></div>         </div>                      <div class='border cabecalhoVertical' style='backgroud-color:none; height: 50px !important;'>             <div style='width:100px;'><span class='comum'>Celula TOP</span></div>             <div style='width:100px;'><span class='comum'>Carlos</span></div>             <div style='width:100px;'><span class='comum'>Carlos</span></div>             <div style='width:500px;'><span class='comum'>Não houve Reuniões para esse Gcéu</span></div>         </div>                      <div class='border cabecalhoVertical' style='backgroud-color:none; height: 50px !important;'>             <div style='width:100px;'><span class='comum'>Jesuita</span></div>             <div style='width:100px;'><span class='comum'>Josefina Etelvina</span></div>             <div style='width:100px;'><span class='comum'>Josefina Etelvina</span></div>             <div style='width:500px;'><span class='comum'>Não houve Reuniões para esse Gcéu</span></div>         </div>                      <div class='border cabecalhoVertical' style='backgroud-color:none; height: 50px !important;'>             <div style='width:100px;'><span class='comum'>Tassito</span></div>             <div style='width:100px;'><span class='comum'>Carlos</span></div>             <div style='width:100px;'><span class='comum'>Carlos</span></div>             <div style='width:500px;'><span class='comum'>Não houve Reuniões para esse Gcéu</span></div>         </div>     </div>";     require_once "../_scripts/_php/_configuracoes/erros.php";     require_once "../vendor/autoload.php";     $pdf = new \Mpdf\Mpdf(['debug' => true]);     $pdf->AddPage();     $pdf->charset_in = "UTF-8";     $pdf->SetFont('Arial','B',16);     $pdf->WriteHTML( $css, 1 );     $pdf->WriteHTML( $html );     $pdf->Output("relatorio.pdf","D"); ?>  
    • Por Alex Dias
      <?php //CONECTA COM O BANCO DE DADOS require_once("adm/conecta.php"); //SQL $sql = "SELECT DISTINCT tb_comentarios.ID_COMENTARIOS, tb_comentarios.DATA_COMENTARIOS, tb_comentarios.NOME_COMENTARIOS, tb_comentarios.COMENTARIOS, tb_respostas.ID_RESPOSTAS, tb_respostas.DATA_RESPOSTAS, tb_respostas.NOME_RESPOSTAS, tb_respostas.RESPOSTAS FROM tb_comentarios, tb_respostas WHERE tb_comentarios.ID_COMENTARIOS = tb_respostas.ID_COMENTARIOS ORDER BY DATA_COMENTARIOS DESC"; $resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta ao banco de dados"); // CHAMA OS DADOS DA TABELA while ($linha=mysql_fetch_array($resultado)) { $id_comentarios = $linha["ID_COMENTARIOS"]; $data_comentarios = $linha["DATA_COMENTARIOS"]; $nome_comentarios = $linha["NOME_COMENTARIOS"]; $email_comentarios = $linha["EMAIL_COMENTARIOS"]; $comentarios = $linha["COMENTARIOS"]; $status = $linha["STATUS"]; $id_artigo = $linha["ID_ARTIGO"]; $id_respostas = $linha["ID_RESPOSTAS"]; $data_respostas = $linha["DATA_RESPOSTAS"]; $nome_respostas = $linha["NOME_RESPOSTAS"]; $email_respostas = $linha["EMAIL_RESPOSTAS"]; $respostas = $linha["RESPOSTAS"]; $status = $linha["STATUS"]; $id_artigo = $linha["ID_ARTIGO"]; $id_comentarios = $linha["ID_COMENTARIOS"]; $data_portugues1= implode("/", array_reverse(explode("-", "$data_comentarios"))); $data_portugues2= implode("/", array_reverse(explode("-", "$data_respostas"))); echo" <table width='1200' align='center' border='0' cellspacing='0' cellpadding='0'> <tr> <td width='100' valign='top'><img src='images/usuario.jpg'></td> <td width='900' valign='top'><p align='left'><font size='3'><strong>$nome_comentarios</strong> dia $data_portugues1</font></p><br><p align='justify'><font size='3'>$comentarios</font><p></td> <td width='200' align='center' valign='middle'><a href='#'><img src='images/responder.jpg' bordeer='0'></a></td> </tr> </table> "; echo"<br><br> <table width='1200' align='center' border='0' cellspacing='0' cellpadding='0'> <tr> <td width='100' valign='top'>&nbsp;</td> <td width='100' valign='top'><img src='images/usuario2.jpg'></td> <td width='800' valign='top'><p align='left'><font size='3'><strong>$nome_respostas</strong> dia $data_portugues2</font></p><br><p align='justify'><font size='3'>$respostas</font><p></td> <td width='200' align='center' valign='middle'><a href='#'><img src='images/responder.jpg' bordeer='0'></a></td> </tr> </table> <br><br><br><br>"; }//FECHA FOR ?> Boa tarde amigos, estou batendo cabeça aqui com meu Blog, meu Blog tem duas tabelas MySQL uma chamada tb_comentarios para armazenasr os comentários dos artigos postados, a outra tabela é chamada de tb_respostas para armazenar as respostas desses comentários dos usuários. Está tudo ok imprimindo os comentários e respostas na tela bem legal, o único problema é que os comentários estão duplicando, as respostas estão ok, mas os comentários estão duplicando.
       
      O Correto seria o comentário ficar lá e as respostas todas em baixo desse comentário, a questão é que cada resposta dada acaba repetido o comentário, então fica sempre o comentário e a resposta um abaixo do outro, e se tiver três respostas desse comentário, a dupla comentário x resposta se repete por três vezes sendo que o ideal seria só um comentário e as três respostas em baixo, e não consigo determinar que o comentário não se repita, ja usei DISTINCT mas não resolve.

      Segue abaixo o código e anexo o PRINT da tela para vocês entenderem o que tá acontecendo.


       

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.