Jump to content
empirerock

HTML e PHP dentro de um echo. Não consigo fechar o while com }

Recommended Posts

Boa tarde.

 

Coloquei um script dentro de um echo, porém não consigo fechar um while que está dentro do echo.  Tento colocar   '.}.'     más não vai.

o erro, está na linha 139.

Parse error: syntax error, unexpected '}' in /var/www/santa/print.php on line 139

 

Alguém pode me ajudar?

 

<?php

include "tabelas/cadastro/topo_ped_compras_item_print.php";
include "mysql.php";
include("mpdf60/mpdf.php");



//**************************************************************************************************
//RECEBE VIA GET
$pcid = $_GET['pcid'];
$fid = $_GET['fid'];
//**************************************************************************************************

//setlocale(LC_MONETARY,"pt_BR", "ptb");
$geral = 0;


//**************************************************************************************************
//SELECT BASICO
$sql = mysql_query ("SELECT * FROM ped_compras WHERE ped_compra_id = '$pcid' ");
$r = mysql_fetch_assoc($sql);
//@$fid = $r['fornecedor_id'];
@$produto_id = $r['produto_id'];
$status = $r['status'];
$data = $r['data'];
$odh = date( 'd/m/Y', strtotime($data));
//$trava = $r['trava'];



$sql2 = mysql_query ("SELECT * FROM fornecedores WHERE fornecedor_id = '$fid' ");
$r2 = mysql_fetch_assoc($sql2);
$fornecedor = $r2['fornecedor'];



$sql3 = mysql_query ("SELECT * FROM `ped_compras_item` `pci` INNER JOIN `produtos` `p` ON  `p`.`produto_id` = `pci`.`produto_id` INNER JOIN `fornecedores` `f` ON `f`.`fornecedor_id` = `pci`.`fornecedor_id` WHERE `pci`.`ped_compras_id` = '$pcid' ");


?>




<!-- *********************** CSS **************************-->
<style type="text/css" class="init">
.container {width: 80%; margin-top: -15px; }
.customHr {
	width: 95%
	font-size: 1px;
	color: rgba(0, 0, 0, 0);
	line-height: 1px;

	background-color: grey;
	margin-top: -6px;
	margin-bottom: 10px;
}

#topwell{
	/* background-color: #d9edf7; */
}


#posi 
{ position: relative;
	left: 880px;
}



div.tres {
	width:105%;
	height:105%;
	border: 1px solid; 
}



</style>
<!-- ************************************************************************************************************ -->



<br><br>
<!-- ************************************************************************************************************ -->

 <?
 $html = '

<table class="table table-bordered table-inverse table-hover">
	<thead>
		<tr>
			<th>Produto</th>
			<th>Quantidade</th>
			<th>V. Unitário</th>
			<th>Subtotal</th>
		</tr>
	</thead>

	<tbody>'.
			$teste=0;
		 	while($r3 = mysql_fetch_array($sql3)){ 
			$unitario = $r3['unitario'];
			$unitario = number_format($unitario, 2, ',', '');
			$total = $r3['unitario'] * $r3['quantidade'];
			$subtotal = number_format($total, 2, ',', ''); 
			$geral += $total; 
			$pci_id = $r3['ped_compras_item_id']; 
			
			   '<tr> 
				<td>'.$r3['produto'].'</td>
				<td>'.$r3['quantidade'].'</td>
				<td>'.$unitario.'</td>
				<td>'.$subtotal.'</td>
			</tr>'
				.}. //linha 139

	'</tbody>

	</table>

';


 $mpdf=new mPDF(); 
 $mpdf->SetDisplayMode('fullpage');
 $css = file_get_contents("css/estilo.css");
 $mpdf->WriteHTML($css,1);
 $mpdf->WriteHTML($html);
 $mpdf->Output();

 exit;
 ?>

 

Share this post


Link to post
Share on other sites

Você deve separar o que é impressão (echo) do que é o fluxo de controle. O que você está fazendo é uma concatenação.

 

Exemplo da forma correta:

echo "<table>";
  
while(/** alguma condição **/)
{
    echo "<tr><td>Texto</td></tr>";
}
  
echo "</table>";

 

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 Alberto Nascimento
      Tenho um formulário de Upload e preciso salvar o "valor" gerado e exibido através do "echo" :
       
      echo "<img src=\"" . $destino . "\" />";  
      Como faço para salvar no campo "novonome" da tabela?
    • By Pascotto
      boa tarde galera, tudo bem?

      sera que conseguem me ajudar? estou com bastante dificuldade, na verdade estou desde hoje as 8 da manhã, é são 18:00 10 horas de pesquisa e não consegui resolver algo que achei que seria tão simples, cadastrar um checkbox no banco de dados não clicado, exemplo, estou montando uma forma de pagamento e nele tem, dinheiro cartão parcelado, e todos são check box, aproximadamente 15,  e estou criando um metodo post, ai como estão todos no metodo post quando não clica ele simplesmente não envia nada e da erro no sistema... enfim vejam os codigos, vou copiar a pagina inteira assim ajuda... 

       
      <?php require_once "../../classes/conexao.php"; $c = new conectar(); $conexao=$c->conexao(); $sql = "SELECT idformadepagamento, descricao from formasdepagamento"; $result = mysqli_query($conexao, $sql); ?> <table class="table table-hover table-condensed table-bordered" style="text-align: center; margin-top: 15px;"> <tr> <td>Descrição</td> <td>Ver</td> </tr> <?php while($mostrar = mysqli_fetch_row($result)): ?> <tr> <td><?php echo $mostrar[1]; ?></td> <td> <span class="btn btn-warning btn-xs" data-toggle="modal" data-target="#modalAtualizarPGTO" onclick="adicionarDado('<?php echo $mostrar[0]; ?>')"> <span class="glyphicon glyphicon-eye-open"></span> </span> </td> </tr> <?php endWhile; ?> </table> <div class="modal fade" id="modalAtualizarPGTO" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog modal-xs" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <h4 class="modal-title" id="myModalLabel" align="center">Atualizar</h4> </div> <div class="modal-body"> <form id="frmAtualizarPGTO"> <div hidden=""> <input type="text" class="form-control input-sm" id="idformadepagamento" name="idformadepagamento"> </div> <div class="col-sm-8"> <label>Descrição</label> <input type="text" id="descricao" name="descricao" class="form-control input-sm"> </div> <div class="col-sm-4" align="center"> <label>Entrar no caixa</label> <input id="entrarnocaixa" name="entrarnocaixa" value=0 class="botao botao-deslizante" type="checkbox"> <label for="entrarnocaixa"></label> </div> <div class="col-sm-3" align="center"> <label>Dinheiro</label> <input id="dinheiro" name="dinheiro" class="botao botao-deslizante" type="checkbox"> <label for="dinheiro"></label> </div> <div class="col-sm-3" align="center"> <label>Débito</label> <input id="debito" name="debito" class="botao botao-deslizante" type="checkbox"> <label for="debito"></label> </div> <div class="col-sm-3" align="center"> <label>Crédito à vista</label> <input id="credito" name="credito" class="botao botao-deslizante" type="checkbox"> <label for="credito"></label> </div> <div class="col-sm-3" align="center"> <label>Parcela?</label> <input id="parcela" name="parcela" class="botao botao-deslizante" type="checkbox"> <label for="parcela"></label> </div> <div class="col-sm-6" id="tabela1" name="tabela1"> <table class="table table-hover table-condensed table-bordered" style="text-align: center; margin-top: 5px;"> <tr> <td>Parcela</td> <td>Autoriza parcelar</td> <td>Taxa %</td> </tr> <tr> <td><label>1x</label></td> <td align="center"> <input id="1autoriza" name="1autoriza" class="botao botao-deslizante" type="checkbox"> <label for="1autoriza"></label> </td> <td> <input type="text" class="form-control input-sm" id="1taxa" name="1taxa"> </td> </tr> <tr> <td><label>2x</label></td> <td align="center"> <input id="2autoriza" name="2autoriza" class="botao botao-deslizante" type="checkbox"> <label for="2autoriza"></label> </td> <td> <input type="text" class="form-control input-sm" id="2taxa" name="2taxa"> </td> </tr> <tr> <td><label>3x</label></td> <td align="center"> <input id="3autoriza" name="3autoriza" class="botao botao-deslizante" type="checkbox"> <label for="3autoriza"></label> </td> <td> <input type="text" class="form-control input-sm" id="3taxa" name="3taxa"> </td> </tr> <tr> <td><label>4x</label></td> <td align="center"> <input id="4autoriza" name="4autoriza" class="botao botao-deslizante" type="checkbox"> <label for="4autoriza"></label> </td> <td> <input type="text" class="form-control input-sm" id="4taxa" name="4taxa"> </td> </tr> <tr> <td><label>5x</label></td> <td align="center"> <input id="5autoriza" name="5autoriza" class="botao botao-deslizante" type="checkbox"> <label for="5autoriza"></label> </td> <td> <input type="text" class="form-control input-sm" id="5taxa" name="5taxa"> </td> </tr> <tr> <td><label>6x</label></td> <td align="center"> <input id="6autoriza" name="6autoriza" class="botao botao-deslizante" type="checkbox"> <label for="6autoriza"></label> </td> <td> <input type="text" class="form-control input-sm" id="6taxa" name="6taxa"> </td> </tr> </table> </div> <div class="col-sm-6" id="tabela1" name="tabela1"> <table class="table table-hover table-condensed table-bordered" style="text-align: center; margin-top: 5px;"> <tr> <td>Parcela</td> <td>Autoriza parcelar</td> <td>Taxa %</td> </tr> <tr> <td><label>7x</label></td> <td align="center"> <input id="7autoriza" name="7autoriza" class="botao botao-deslizante" type="checkbox"> <label for="7autoriza"></label> </td> <td> <input type="text" class="form-control input-sm" id="1taxa" name="7taxa"> </td> </tr> <tr> <td><label>8x</label></td> <td align="center"> <input id="8autoriza" name="8autoriza" class="botao botao-deslizante" type="checkbox"> <label for="8autoriza"></label> </td> <td> <input type="text" class="form-control input-sm" id="8taxa" name="8taxa"> </td> </tr> <tr> <td><label>9x</label></td> <td align="center"> <input id="9autoriza" name="9autoriza" class="botao botao-deslizante" type="checkbox"> <label for="9autoriza"></label> </td> <td> <input type="text" class="form-control input-sm" id="9taxa" name="9taxa"> </td> </tr> <tr> <td><label>10x</label></td> <td align="center"> <input id="10autoriza" name="10autoriza" class="botao botao-deslizante" type="checkbox"> <label for="10autoriza"></label> </td> <td> <input type="text" class="form-control input-sm" id="10taxa" name="10taxa"> </td> </tr> <tr> <td><label>11x</label></td> <td align="center"> <input id="11autoriza" name="11autoriza" class="botao botao-deslizante" type="checkbox"> <label for="11autoriza"></label> </td> <td> <input type="text" class="form-control input-sm" id="11taxa" name="11taxa"> </td> </tr> <tr> <td><label>12x</label></td> <td align="center"> <input id="12autoriza" name="12autoriza" class="botao botao-deslizante" type="checkbox"> <label for="12autoriza"></label> </td> <td> <input type="text" class="form-control input-sm" id="12taxa" name="12taxa"> </td> </tr> </table> </div> <?php $creditox = (bool) rand(0, 1) ? true : false; ?> </form> </div> <div class="modal-footer" style="margin-top:400px; "> <div class="col-sm-12"> <span class="btn btn-primary btn-block" data-dismiss="modal" id="btnAtualizarPGTO">Salvar</span> </div> </div> </div> </div> </div> <script type="text/javascript"> $(document).ready(function(){ $('#btnAtualizarPGTO').click(function(){ dados=$('#frmAtualizarPGTO').serialize(); $.ajax({ type:"POST", data:dados, url:"../procedimentos/configuracao/formasdepagamento/atualizar.php", success:function(r){ alert(r); alert(dados); if(r==1){ alertify.success("Sucesso :)"); }else{ alertify.error("Ops, Algo deu errado :("); } } }); }); }); function adicionarDado(id) { $.ajax( { type:"POST", data:"id=" + id, url:"../procedimentos/configuracao/formasdepagamento/obterDados.php", success:function(r){ dado=jQuery.parseJSON(r); $('#idformadepagamento').val(dado['idformadepagamento']); $('#descricao').val(dado['descricao']); $('#entrarnocaixa').val(dado['entrarnocaixa']); $('#dinheiro').val(dado['dinheiro']); $('#debito').val(dado['debito']); $('#credito').val(dado['credito']); $('#parcela').val(dado['parcela']); $('#1autoriza').val(dado['1autoriza']); $('#1taxa').val(dado['1taxa']); $('#2autoriza').val(dado['2autoriza']); $('#2taxa').val(dado['2taxa']); $('#3autoriza').val(dado['3autoriza']); $('#3taxa').val(dado['3taxa']); $('#4autoriza').val(dado['4autoriza']); $('#4taxa').val(dado['4taxa']); $('#5autoriza').val(dado['5autoriza']); $('#5taxa').val(dado['5taxa']); $('#6autoriza').val(dado['6autoriza']); $('#6taxa').val(dado['6taxa']); $('#7autoriza').val(dado['7autoriza']); $('#7taxa').val(dado['7taxa']); $('#8autoriza').val(dado['8autoriza']); $('#8taxa').val(dado['8taxa']); $('#9autoriza').val(dado['9autoriza']); $('#9taxa').val(dado['9taxa']); $('#10autoriza').val(dado['10autoriza']); $('#10taxa').val(dado['10taxa']); $('#11autoriza').val(dado['11autoriza']); $('#11taxa').val(dado['11taxa']); $('#12autoriza').val(dado['12autoriza']); $('#12taxa').val(dado['12taxa']); } }); } // -------------------------- OCULTA AS TABELAS ------------------------- $("#tabela1, #tabela2").css("visibility","hidden"); // ------------------ CLICANDO MUDA PARA TABELA VISIVEL/INVISIVEL ----------------------- $("#parcela").click(function(){ if($(this).val()=="true"){ $("#tabela1, #tabela2").css("visibility","hidden"); $(this).val("false"); } else{ $("#tabela1, #tabela2").css("visibility","visible"); $(this).val("true"); } }); $("#dinheiro").click(function(){ if($(this).val()==""){ $(this).val("0"); } else{ $(this).val("1"); } }); </script>  
      daqui ele vai para este script
       
       
      <?php session_start(); require_once "../../../classes/conexao.php"; require_once "../../../classes/formasdepagamento.php"; $obj = new classe(); $dados=array( $_POST['idformadepagamento'], $_POST['descricao'], $_POST['entrarnocaixa'], $_POST['dinheiro'], $_POST['debito'], $_POST['credito'], $_POST['parcela'], $_POST['1autoriza'], $_POST['1taxa'], $_POST['2autoriza'], $_POST['2taxa'], $_POST['3autoriza'], $_POST['3taxa'], $_POST['4autoriza'], $_POST['4taxa'], $_POST['5autoriza'], $_POST['5taxa'], $_POST['6autoriza'], $_POST['6taxa'], $_POST['7autoriza'], $_POST['7taxa'], $_POST['8autoriza'], $_POST['8taxa'], $_POST['9autoriza'], $_POST['9taxa'], $_POST['10autoriza'], $_POST['10taxa'], $_POST['11autoriza'], $_POST['11taxa'], $_POST['12autoriza'], $_POST['12taxa'] ); echo $obj->atualizar($dados); ?>  que finaliza aqui (lembrando que estou usando apenas atualizar, nem fiz o cadastro ainda)
      public function atualizar($dados) { $c = new conectar(); $conexao=$c->conexao(); $sql = "UPDATE formasdepagamento SET descricao = '$dados[1]', entrarnocaixa = '$dados[2]', dinheiro = '$dados[3]', debito = '$dados[4]', credito = '$dados[5]', parcela = '$dados[6]', 1autoriza = '$dados[7]', 1taxa = '$dados[8]', 2autoriza = '$dados[9]', 2taxa = '$dados[10]', 3autoriza = '$dados[11]', 3taxa = '$dados[12]', 4autoriza = '$dados[13]', 4taxa = '$dados[14]', 5autoriza = '$dados[15]', 5taxa = '$dados[16]', 6autoriza = '$dados[17]', 6taxa = '$dados[18]', 7autoriza = '$dados[19]', 7taxa = '$dados[20]', 8autoriza = '$dados[21]', 8taxa = '$dados[22]', 9autoriza = '$dados[23]', 9taxa = '$dados[24]', 10autoriza = '$dados[25]', 10taxa = '$dados[26]', 11autoriza = '$dados[27]', 11taxa = '$dados[28]', 12autoriza = '$dados[29]', 12taxa = '$dados[30]' where idformadepagamento = '$dados[0]'"; echo mysqli_query($conexao, $sql); }  
      desde ja peço desculpa caso tenha algum topico que me explique aqui, porém os que achei não entendi... e acreditem fiz muita pesquisa
       
      também sou um tanto "leigo" no assunto e sou meio novato no ramo, então ainda tenho muitas dificuldades... mas desde já agradeço imensamente! 
    • By Francisco Vasconcelos
      Olá, pessoal!!
       
      Help-me!!
       
      Tenho a seguinte linha em um script PHP para rastrear entrega dos Correios através de uma URL + códio de rastreio:
       
      <? $post = array('Objetos' => 'CÓDIGO DE RASTREIO AQUI');
      // iniciar CURL
      $ch = curl_init();
      // informar URL e outras funções ao CURL
      curl_setopt($ch, CURLOPT_URL, "https://www2.correios.com.br/sistemas/rastreamento/resultado_semcontent.cfm");
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
      curl_setopt($ch,CURLOPT_POSTFIELDS, http_build_query($post));
      // Acessar a URL e retornar a saída
      $output = curl_exec($ch);
      // liberar
      curl_close($ch);
      // Imprimir a saída
      echo $output;
      ?>      
       
      Isso funciona, mas é preciso inserir o código de rastreio na primeira linha, claro.
       
      MINHA PERGUNTA:
      Como fazer para inserir uma variável (CÓDIGO DE RASTREIO) nessa primeira linha pra que eu consiga acessar através de uma simples URL (ex: http://meusite.com/script=CÓDIGO DE RASTREIO
       
      Espero ter sabido me expressar!! :( 
       
      Desde já, agradeço imensamente por qualquer ajuda!!
       
      Valeu, galera!!
       
    • By Fernando Rafael
      Boa tarde, atualmente estou tendo um problema com alguns comandos que encontro na internet, sobre retornar linhas de um bloco de notas.
       
      Achei um comando que retorna apenas a primeira linha, e outro que retorna todas através de um laço de repetição.  Mas preciso de algo mais especifico no qual eu diga a linha que quero e retorne o conteúdo, apenas isso...
      Preciso dessa forma pois é um volume de dados muito grande, laços são inviáveis, o valor que preciso sempre vão estar nas mesmas linhas, preciso de algo mais direto.
       
      Comando que achei que retorna apenas a primeira linha:

       
      @echo off set /p conteudo=<teste.txt echo. echo %conteudo% pause  
      Comando para todas as linhas:

       
      for %%G IN ("teste.txt") DO ( type %%G )  
      Agradeço a ajuda, não sou bom em comandos CMD ou BAT...
    • By dgsantanna
      Boa tarde aos amigos , estou iniciando em programação agora  e apesar do vasto conhecimento em telecom ainda estou engatinhando em php,
      estou criando meu primeiro sistema que recebe dados de um dispositivo de telecom e faço o devido tratamento dos dados , ta tudo correndo bem porém ao exibir a tabela com os dados só exibe até o décimo registro isso até mesmo se eu mandar exibir a partir do decimo primeiro por exemplo, segue o código e agradeço primeiramente por participar deste forum e espero em breve poder contribuir e muito com os amigos.
       
       
      $dados = '-----------------------------------------------------------------------------
        F/S/P   ONT         SN         Control     Run      Config   Match    Protect
                ID                     flag        state    state    state    side
        -----------------------------------------------------------------------------
        0/ 0/0    0  485754435365C08B  active      online   normal   match    no
        0/ 0/0    1  4857544353BCB08B  active      offline  initial  initial  no
        0/ 0/0    2  4857544367719D7F  active      online   normal   match    no
        0/ 0/0    3  48575443096A6C7D  active      online   normal   match    no
        0/ 0/0    4  485754436771837F  active      online   normal   match    no
        0/ 0/0    5  485754432BCC288C  active      online   normal   match    no
        0/ 0/0    6  48575443F5D79E92  active      online   normal   match    no
        0/ 0/0    7  48575443F5E77692  active      online   normal   match    no
        0/ 0/0    8  4857544384EF4D9A  active      online   normal   match    no
        0/ 0/0    9  48575443676EF97F  active      online   normal   match    no
        0/ 0/0   10  48575443676C487F  active      online   normal   match    no
        0/ 0/0   11  48575443817D157C  active      online   normal   match    no
        0/ 0/0   12  4857544384EF469A  active      online   normal   match    no
        0/ 0/0   13  485754436770CD7F  active      online   normal   match    no
        0/ 0/0   14  485754432B50CF8C  active      online   normal   match    no
        0/ 0/0   15  485754436770E77F  active      online   normal   match    no
        -------------------------------------------------------------------------------
        F/S/P   ONT-ID   Description
        -----------------------------------------------------------------------------
        0/ 0/0       0   anderson
        0/ 0/0       1   Jhonatan Felipe Bassetto
        0/ 0/0       2   Willisngton Lucas de Oliveira
        0/ 0/0       3   Magalhes Marclio de Souza
        0/ 0/0       4   Luciano Hipolito Almeida
        0/ 0/0       5   Eleicao Coelho do Nascimento
        0/ 0/0       6   Renata Pereira Bicalho
        0/ 0/0       7   Ananias arruda Molina
        0/ 0/0       8   Letcia Littig Lucas
        0/ 0/0       9   Walcir da Silva paes Leme
        0/ 0/0      10   Beatriz Santos Carvalho
        0/ 0/0      11   Adelina Nunes de Carvalho Santos
        0/ 0/0      12   Jos Marcos Oliveira
        0/ 0/0      13   Daniel Umbelino Ramos
        0/ 0/0      14   Cleonice Maria da Silva
        0/ 0/0      15   Wagner Farias Rodrigues
        -----------------------------------------------------------------------------
        ';
       
      CODIGO UTILIZADO
       
      $test = explode('-----------------------------------------------------------------------------',$dados);
                                      $linha = explode ("0/ ",$test[2]);
                                      $contagem = count($linha); 
                                      //echo $contagem;
                                      //print_r ($linha);
                                      
                                      for ($i=1;$i<=$contagem;$i++)
                                      {
                                      $linha2 = explode (' ',$linha[$i]);
                                      //echo $a;                            
                                      print_r ( 
                                      "<tr> 
                                      
                                      <td>{$linha2[4]}<br></td>
                                      <td>{$linha2[14]}<br></td>
                                      <td>{$linha2[6]}<br></td>
                                      <td>{$linha2[8]}<br></td>
                                      <td>{$linha2[14]}<br></td>
                                      <td>{$linha2[17]}<br></td>
                                      
                                      
                                      </tr>");
                                      
                                       }
       
       
×

Important Information

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