Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Cristiano Siqueira

[Duvida] Mural de mensagem com Respostas

Recommended Posts

Ola pessoal, 

Vim mais uma vez pedir ajuda dos universitários do forum imaster.

Estou querendo colocar um mural no meu site onde tera abaixo um campo de respostar e a mesma ira aparecer logo abaixo do texto enviado para o mural, quero delimitar apenas os 10 ultimos posts  só que quando eu aplico o while ele não esta agrupando as respostas do post e sim gerando um loop pra cada uma , abaixo segue a estrutura da tabela e o codigo que estou usando 

 

tabela 1 e tabela 2 são ligadas por FOREIGN KEY atraves do comando 

alter table muralresp add foreign key (id_mural) references muralmsg(id_mural);

o codigo php usado :

<html>
<head>
    <style type="text/css">
        @import url("../css/perfstyle.css");
    </style>
</head>
<body>
<div id="totalmural1">
<div class="boxmsgsend">
    <div class="bossndimg"><img src="<?php getPath($linknal_users); ?>"\></div>
<form method="post" action="../arquivos/gmural.php" enctype="multipart/form-data">
    <div class="textsnd"><textarea placeholder="ESCREVA ALGUMA COISA..." name="comentário" rows="2" cols="45"></textarea></div>
    <input  class="msgsnd" type="submit"   value="" name="Enviar">
</form>
</div>

<div class="boxmsgsendd">
    <div class="boxsgsinteri">
        <?php
        $msgsndd2 = "select * from((SELECT * FROM muralmsg  order by id_mural desc LIMIT 5)m) left join muralresp as mr on mr.id_mural=m.id_mural ";
        $msgsndd1 = $conn->query($msgsndd2);

        while ($mmsgsndd = $msgsndd1->fetch(PDO::FETCH_ASSOC) ) {

            $sndlnk = $mmsgsndd['lksend'];
            $sname1 = $mmsgsndd['s_name'];
            $teste = getPath4($sndlnk);
            $stext = $mmsgsndd['s_text'];
            $idmural = $mmsgsndd['id_mural'];
            $resp = $mmsgsndd['resp'];
            $recrespf= $mmsgsndd['mresp'];

                echo <<<HTML
    <div class="msgsddi2b">
    <div class="msgsddi2i">
    <img src="{$teste}"\>
    <div class="idm">{$idmural}</div>
    </div>
    <div class="msgsddt1">
    <h3>{$sname1}</h3>
</div>
    <div class="msgsddt2">
    <p>{$stext}</p>
    </div>
    <!-- inicio form resposta -->

    <div class="resptt">{$recrespf}</div>
    <!-- start form -->
    <form method="post" action="../arquivos/rmural.php" enctype="multipart/form-data">
       <input type="hidden" name="idmural" value="{$idmural}" />
    <div class="textsndr">
    <textarea placeholder="ESCREVA SUA RESPOSTA..." name="resposta" rows="2" cols="45">
    </textarea>
    </div>

    <input  class="msgsnd1" type="submit"   value="" name="Enviar">
    </form> <!-- end form -->

    <!-- final form resposta -->
        <div class="linha1">
        <img src="../img/line.png">

    </div>
    </div>
HTML;
            }

        ?>

</div>
    </div>
</div>
</body>
</html>

Desde já agradeço a ajuda :smile:

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por rsdias
      Boa tarde, sou novo aqui, estou iniciando em php, html, css, estou fazendo o meu site, e me deparei com um primeiro problema, estou fazendo ele dinamico mas sem uso de banco de dados por enquanto, mas carrego as paginas através de uma função (Escolhe Pagina):
      <?php function escolhe_pagina() { (isset($_GET['p'])) ? $pagina = $_GET['p'] : $pagina = 'home'; if(file_exists($pagina.'.php')): require_once($pagina.'.php'); else: require_once('home.php'); endif; } ?>  
      Meu index.php ficou assim:
      <?php require_once('funcao_escolhe_pagina.php'); // Função para Selecionar a Página Clicada de Modo dinâmico require_once('funcao_escolhe_titulo.php'); // Função para Selecionar o Título conforme a Página Acessada require_once('funcao_escolhe_estilo.php'); // Função para Selecionar o Estilo conforme a Página Acessada // require_once('header.php'); // Dados Html require_once('navbar.php'); // Dados Menu escolhe_pagina(); //require_once('home.php'); // Dados Body - Home ou Outras Páginas require_once('footer.php'); // Dados do rodapé da Página ?> Ou seja, tem as paginas padrões header, navbar e footer fixas usando require_once, e escolhe a pagina que pode ser home, contato, newsletter, etc atraves da função escolhe_pagina().
      Ele está chamando as paginas corretamente, porém quando entro na pagina de contato ou newsletter ele entra, porém depois de preencher o formulario e ele não chama a pagina de envio_email_contato.php no action e se coloco um link invés de input button ai ele envia o e-mail mas os dados de contatos são enviados em branco, sem preencher, não sei como resolver se alguém puder me ajudar, agradeço desde já.
      Roberto S. Dias
    • Por Marcones Borges
      Olá boa tarde!
      Tenho 3 select e não estou conseguindo habilita-los pela seleção a ideia é selecionar tipo 1 habilita select 1, 2 habilita select 2.

        <select class="form-control input-sm" name="principal" id="principal">                       <option value="select1">Ativa select 1</option>                         <option value="select2">Ativa select 2</option>                       </select>   <select class="form-control input-sm" name="select1" id="select1">                       <option value="opção 1">opção 1</option>                         <option value="opção 2">opção 2</option>                         <option value="opção 3">opção 3</option>                       </select>   <select class="form-control input-sm" name="select2" id="select2">                       <option value="opção 7">opção 7</option>                         <option value="opção 8">opção 8</option>                         <option value="opção 9">opção 9</option>                       </select> //Java script <script type='text/javascript'> var principal = $("#principal"); var select1 = $("#select1"); var select2 = $("#select2"); inst.bind("input", function () {     principal.val("");     select1.val("");     select1.attr("list", null)     var option = $(inst.prop("list")).find("option[value='" + inst.val() + "']");     if (option != null && option.length > 0) {         principal.attr("list", "_" + option.attr("data-value"));     } else {                 principal.attr("list", null)     } }); </script>  
       
      Não consigo colocar pra funcionar...
       
      alguém me ajude um! 
       
    • Por Jefferson andre
      Saudacoes mestres,
       
      Estou com a seguinte situacao e nao sei resolver, em um formulario apos selecionar o cliente preciso pegar determinados valores de uma array e preencher os respectivos campos no mesmo formulario.
       
      O select do campo cliente ja tem as informacoes dos demais campos que vou precisar.
       
      Estou usando uma rotina em javascript que verifica a mudanca no campo e que agora precisa ser modificada para pegar os dados e dar retorno dos campos
       
          <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
          <script type="text/javascript">
              $('#estado').on('change',function() {
              alert($(this).val());
              console.log($(this).val());
              });
          </script>
       
      na rotina acima ao mudar o valor do campo aparece uma mensagem na tela, entao pensei em pegar a mesma ideia e preencher os valores dos campos.
       
      Agradeço a ajuda e sugestoes.
    • Por Pitag346
      Pessoal, alguem me ajuda...
       
      Como consigo fazer com que um SELECT, adicione campos ao meu formulário....
       
      Tenho um SELECT onde existe a quantidade, esse select tem de 1 a 3 .... Por padrão ele é definido como 1 ou seja 1 campo...
      Gostaria de adicionar campos conforme essa quantidade, se o select estiver com o NUMERO 2... Adiciona 2 campos, se tiver 3 ele adiciona 3 campos e se tiver 1, apenas 1 campo.
       
       
      Alguem conseguiria me ajudar ? tentei fazer com a propriedade FOR porem... ela me retorna sempre mais campos do que eu preciso realmente. Obrigado.
    • Por GabrielB3r
      Bom dia pessoal, tenho um formulário que contém 5 exames a serem cadastrados em bancos de dados diferentes. Porém na aba "outros" fiz um campo dinâmico caso a pessoa realize outros exames que não são mostrados no formulário. Segue a parte do código:
      exames.php
       A parte à baixo está dentro do formulário <form id="FormExamesAnimal" method="POST"> <div id="form_outros"> <script type="text/javascript"> var qtdeCampos = 0; function addCampos() { var objPai = document.getElementById("campoPai"); //Criando o elemento DIV; var objFilho = document.createElement("div"); //Definindo atributos ao objFilho: objFilho.setAttribute("id","filho"+qtdeCampos); //Inserindo o elemento no pai: objPai.appendChild(objFilho); //Escrevendo algo no filho recém-criado: document.getElementById("filho"+qtdeCampos).innerHTML = "<div id='form_outro'><fieldset class='scheduler-border'><legend class='scheduler-border'>Exame outro:</legend><div class='col-md-6'><label>Data de Envio do Material:</label><input type='text' class='form-control campos' id='data_mat_outro"+qtdeCampos+"' name='data_mat_outro[]'></div><div class='col-md-6'><label>Data do Resultado:</label><input type='text' class='form-control campos' id='data_result_outro"+qtdeCampos+"' name='data_result_outro[]'></div><div class='col-md-6'><label>Resultado:</label><input type='text' class='form-control campos' id='result_outro"+qtdeCampos+"' name='result_outro[]'></div><div class='col-md-6'> <label>Destino Animal:</label><input type='text' class='form-control campos' id='dest_outro"+qtdeCampos+"' name='dest_outro[]'></div><div class='col-md-12'><label>Observação:</label><textarea class='form-control' rows='4' id='obs_outro"+qtdeCampos+"' name='obs_outro[]' placeholder='Insira um Comentário se necessário'></textarea></div></fieldset></div><input type='button' onClick='removerCampo("+qtdeCampos+")' value='Apagar campo'>"; qtdeCampos++; } function removerCampo(id) { var objPai = document.getElementById("campoPai"); var objFilho = document.getElementById("filho"+id); //Removendo o DIV com id específico do nó-pai: var removido = objPai.removeChild(objFilho); } </script> <fieldset class="scheduler-border"> <legend class="scheduler-border">Exame outro:</legend> <div class="col-md-6"> <label>Data de Envio do Material:</label> <input type="text" class="form-control campos" id="data_mat_outro" name="data_mat_outro"> </div> <div class="col-md-6"> <label>Data do Resultado:</label> <input type="text" class="form-control campos" id="data_result_outro" name="data_result_outro"> </div> <div class="col-md-6"> <label>Resultado:</label> <input type="text" class="form-control campos" id="result_outro" name="result_outro"> </div> <div class="col-md-6"> <label>Destino Animal:</label> <input type="text" class="form-control campos" id="dest_outro" name="dest_outro"> </div> <div class="col-md-12"> <label>Observação:</label> <textarea class="form-control" rows="4" id="obs_outro" name="obs_outro" placeholder="Insira um Comentário se necessário"></textarea> </div> </fieldset> <div id="campoPai"></div> <input type="button" value="Adicionar campos" onclick="addCampos()"> </div> <!--FIM OUTROS EXAMES--> </div> <script> /*Filtro com o formato de data*/ $('#data_mat_outro, #data_result_outro').datepicker({ format: "dd/mm/yyyy", language: "pt-BR", autoclose: true }); /*Valida e cadastra os exames*/ $("#FormExamesAnimal").validate({ rules: { data_mat_outro: { required: true }, data_mat_outro: { required: true }, result_outro: { required: true } }, messages: { data_mat_outro: "Informe a data de envio do material", data_result_outro: "Informe a data do resultado", result_outro: "Informe o resultado" }, tooltip_options: { data_mat_outro: { placement:'bottom', trigger:'focus' }, data_result_outro: { placement:'bottom', trigger:'focus' }, result_outro: { placement:'bottom', trigger:'focus' } }, /*Grava os itens no banco*/ submitHandler: function () { $.ajax({ url:"exames/cadastrar_exames.php", type:"POST", data:$("#FormExamesAnimal").serialize(), dataType:'json', beforeSend: function() { $('#gravar').prop("disabled" , true); }, complete: function() { $(':input','#FormExamesAnimal') .not(':button, :submit, :reset, :hidden') .val('') .removeAttr('checked') .removeAttr('selected'); mudar_pagina('animais/relatorio.php','#relatorio_paginacao'); CriarToast('Exames cadastrados com sucesso.'); $('#gravar').prop("disabled" , false); }, success:function(resposta) { } });/*ajax*/ return false; }/*submitHandler*/ }); /*validate*/ });/*document redy function*/ </script> Minha dúvida é como eu faço para inserir essa parte no banco de dados, tentei colocar um "for" mas estava salvando somente a última opção cadastrada e as outras maneiras que encontrei pela internet nem funcionaram :/
      cadastrar_exames.php
      include "../../banco_animais/conecta.php"; /*Outros*/ $data_mat_outro = strip_tags($_POST['data_mat_outro']); $data_result_outro = strip_tags($_POST['data_result_outro']); $result_outro = strip_tags($_POST['result_outro']); $dest_outro = strip_tags($_POST['dest_outro']); $obs_outro = strip_tags($_POST['obs_outro']); //caso não tenha sido inserido nenhum valor, salva como não cadastrado. if($data_mat_outro==null && $data_result_outro==null && $result_outro==null && $dest_outro==null && $obs_outro==null){ $data_mat_outro = 'nao cadastrado'; $data_result_outro = 'nao cadastrado'; $result_outro = 'nao cadastrado'; $dest_outro = 'nao cadastrado'; $obs_outro = 'nao cadastrado'; $realiza_outro = 'nao'; } /*Salva no banco*/ $sql_outros="INSERT INTO exame_outros (realiza_outro, data_mat_outro, data_result_outro, result_outro, dest_outro, obs_outro, outro_cod, data_proc) VALUES ('$realiza_outro', '$data_mat_outro', '$data_result_outro', '$result_outro', '$dest_outro', '$obs_outro', '$outro_cod', CURDATE())"; /*realiza_outro salva se o exame foi realizado ou não e é exibido em uma tabela depois, outro_cod serve para fazer referência ao animal escolhido para realizar os exames e data_proc salva a data atual que foi feito o cadastro do exame*/  
×

Informação importante

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