Ir para conteúdo

POWERED BY:

Arquivado

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

Rodolfo TI

Problema em organizar código com aspas.

Recommended Posts

A idéia simples, pegar uma condição se for verdadeira executa uma estrutura embaixo, existe uma forma melhor de agregar códigos html no php, digo sem usar o echo.

 

 

 
 <tr valign="middle">
    <?php if($_POST['busca_estadoprocesso'] == "S"){
   
          echo(  '<td id="sinotipo" class='print $status18;'><strong><img src="imagens/b_info.png" width="11" height="11" onMouseOver="toolTip("Para S => A instalação do processo está conforme ao sinótipo;   Para Q => O sinótipo aplicado é o sinótipo de referência.")" onMouseOut="toolTip()">  Sinótipo</strong>
                <select name="status18" id="select50" class="caixa" onChange="if (document.form.comentario18.value == ''){ document.form.comentario18.value = this.value;} document.getElementById('"sinotipo"').className = this.value; document.form.salvar.disabled=''; document.form.gerar.disabled='"true"';">
                  <option> </option>"
                  <option style="background-color:#CCCCCC"'  if ($status18 == "N/A") print "selected";' value="N/A" >N/A</option>
                  <option style="background-color:#00FF00 "' if ($status18 == "Verde") print "selected";' value="Verde">v</option>
                  <option style="background-color:#FF9900 "' if ($status18 == "Laranja") print "selected";' value="Laranja" >o</option>
                  <option style="background-color:#FF0000 "' if ($status18 == "Vermelho") print "selected";' value="Vermelho" >r</option>
              </select></td>');
     }
   ?>
 

 

Não consigo executar esse código com ele tenho o retorno:

 


( ! ) SCREAM: Error suppression ignored for ( ! ) Parse error: syntax error, unexpected T_PRINT in C:\wamp\www\codap2\infoDocPecaDet.php on line 554

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente é preciso concatenar para mostrar as duas coisas.

 

e segundo eu não gosto dessa pratica, eu trabalho com todas as estruturas de if, loop etc.. primeiro e depois no html eu faço

 

 

 

echo <<<HTML

meu html vai aqui junto com meu $php sem precisar me preocupar com aspas
<a href="meulink.php?var=$var">aaaa</a>
HTML;

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu trabalho com todas as estruturas de if, loop etc.. primeiro e depois no html eu faço

 

 

Tem algum exemplo ou algum material dessa forma ?

 

Se já deu manutenção em código certamente já encontrou coisas assim, eu prefiro trabalhar todo php separado se possível arquivos separados e usar o HTML somente para saída ? é desse jeito que diz ?

 

Somente trazendo uma variável por post ou algo do tipo rs.

 

echo <<<HTML

meu html vai aqui junto com meu $php sem precisar me preocupar com aspas
<a href="meulink.php?var=$var">aaaa</a>
HTML;

Até tentei assim:

 

 

 
<?php   if($_POST['busca_estadoprocesso'] = "S"){
    echo <<<HTML
         
            <td id="sinotipo" class="<?php print $status18; ?>"><strong><img src="imagens/b_info.png" width="11" height="11" onMouseOver="toolTip('Para S => A instalação do processo está conforme ao sinótipo;   Para Q => O sinótipo aplicado é o sinótipo de referência.')" onMouseOut="toolTip()">  Sinótipo</strong>
                <select name='status18' id='select50' class='caixa' onChange="if (document.form.comentario18.value == ''){ document.form.comentario18.value = this.value;} document.getElementById('sinotipo').className = this.value; document.form.salvar.disabled=''; document.form.gerar.disabled='true';">
                  <option> </option>
                  <option style='background-color:#CCCCCC ' <?php if ($status18 == "N/A") print "selected";?> value='N/A' >N/A</option>
                  <option style='background-color:#00FF00 ' <?php if ($status18 == "Verde") print "selected";?> value='Verde' >v</option>
                  <option style='background-color:#FF9900 ' <?php if ($status18 == "Laranja") print "selected";?> value='Laranja' >o</option>
                  <option style='background-color:#FF0000 ' <?php if ($status18 == "Vermelho") print "selected";?> value='Vermelho' >r</option>
              </select></td>
  };
  HTML ; // esse cara nao devia fechar o html ?
  ?>

 

Mas aí fica tudo "texto" , cinza claro no notepad o

 

 

 
HTML;
 

 

não devia fechar isso ? Ou é pelo fato de ainda dentro do html existirem outros php's.

 

Ja resolveu o problema, não me atentei que quando uso do <<<HTML HTML; o ultimo comando tem que ser colado no canto, o porque eu não sei, só sei que é assim

Compartilhar este post


Link para o post
Compartilhar em outros sites
Ja resolveu o problema, não me atentei que quando uso do <<<HTML HTML; o ultimo comando tem que ser colado no canto, o porque eu não sei, só sei que é assim

Tbm não sei pq, me esqueci de me apegar a esse detalhe mesmo..

 

então cara a estrutura que eu disse você tiraria todos esses if de dentro do bloco HTML.

 

e não precisa ficar dando print ou echo, é só jogar a variável lá.

 

 

 

if($status == 1){

$cor = 'Vermelho';
}else if($status == 2){

$cor = 'Azul';
}


echo <<<HTML

minha cor é $azul
HTML;

lembrando que não existe só HTML, tem também SQL e outros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A parte para validar as opções do select em um projeto onde eu tinha muitas opções e que não tinha somente um select e tinha varios com muitas opções resolvi o problema de deixa selecionado com jquery

 

$('#select50').find('option[value="<?php echo $status18;?>"]').attr('selected',true);

Compartilhar este post


Link para o post
Compartilhar em outros sites

então cara a estrutura que eu disse você tiraria todos esses if de dentro do bloco HTML.

 

e não precisa ficar dando print ou echo, é só jogar a variável lá.

 

lembrando que não existe só HTML, tem também SQL e outros.

 

Então deixa ver se entendi, quando uso o "<<<" eu concateno o php e o html por isso não preciso dar echo $variavel ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não concatena nada.

 

ele só esta identificando que é um bloco HTML, acontece que o print é necessário quando você trabalha com mais de 1 estrutura PHP, no caso como você estava fazendo.

 

Isso tem um nome só que eu não lembro qual.

Super tag.. alguma coisa do tipo auhahuahuhauahuhua

 

<?php
$bla= 'bla';
?>
<div>
<?php

echo $bla;
?>
</div>

Eu acho isso ruim por causa da leitura e pode ser até paranoia mas se seguir um raciocinio logico a página le que é php ai fala opa aqui acabou e depois ler de novo, deve deixar o processo mais lento.

 

Eu crio tudo dentro da mesma instancia php <?php?> e vou trabalhando concatenando caso precise adicionar conteudo a uma certa variavel.

 

 

 

<?php
$select = '<select>';

for($options as $o){

$select .= "<option>$o</option>";
}

$select .= '</select>';



echo <<<HTML

<label>

<span>Selecione um tipo</span>
$select
</label>
HTML;
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi, acho que vou ter que criar um outro tópico pra isso mas pro javascript consigo fazer da mesma forma??

 

Tenho uma tag lá ou MouseOver no js que quero aplicar uma condicional a ela com variavels do php , da pra fazer o mesmo rs?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi.

Tenho um código JS que precisa ser colocado numa condicionar

 

por exemplo


if(Valor = S ){
MouseOver= "Esse valor aqui que vem do php";
}

consigo usar essa super tag pro js tb ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para quem não conhece o Heredoc e Nowdoc(<<<), como disseram acima

http://www.php.net/manual/pt_BR/language.types.string.php#language.types.string.syntax.heredoc

Como cacei esse nome rs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tava procurando o nome disso e não achava. ahuahuahuahuhuahuahuahua

agora sim

Eu tb, pra tentar mesclar com js, mas vi que não rolou, tive que abrir um tópico na sessão js.

 

@offTopic: Pessoal use o bom senso, coloquem as funções separadas, otimize tempo de manutenção pois o tempo de desenvolvimento é pra isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente, usei algo do tipo

 

<td id="sinotipo" class="<?php print $status18; ?>"><strong><img src="imagens/b_info.png" width="11" height="11" onMouseOver="toolTip('"<?php if ($_POST['busca_estadoprocesso'] == "S") echo 'Para S => A instalação do processo está conforme ao sinótipo;'; ?>"   Para Q => O sinótipo aplicado é o sinótipo de referência.')" onMouseOut="toolTip()">  Sinótipo</strong>

 

Mas algo faz com que essa condição seja sempre verdadeira, ou simplesmente não ta passando na condicional

Compartilhar este post


Link para o post
Compartilhar em outros sites

por que não usa uma string normal?

 

ao invés de usar os heredoc ou isso ai que não sei dizer o que é uahhuahuauhahauhhauuah

 

No segundo item que postei ou no primeiro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí pessoal, resolvi aqui rs, falta de atenção mesmo:

 

 

 

<td id="sinotipo" class="<?php print $status18; ?>"><strong><img src="imagens/b_info.png" width="11" height="11" onMouseOver="toolTip(<?php if ($_POST['busca_estadoprocesso'] == "S") echo 'Para S => A instalação do processo está conforme ao sinótipo; ?>   Para Q => O sinótipo aplicado é o sinótipo de referência.')" onMouseOut="toolTip()">  Sinótipo</strong>
 

 

Na verdade não precisava de outra aspas pois a função JS Tooltip ja está como texto, basta adicionar o php.

 

 

Gambiarra? Sei lá. Mas funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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