sedex 0 Denunciar post Postado Setembro 5, 2007 Olá pessoal, estou com um probleminha na exibição de registros do mysql que contém a tag <br>... Utilizo o metodo SWAP DO JavaScript para atualizar as informaçoes sem dar refresh na pagina. Até postei o problema no java script, mas ate agora nao consegui nada... http://forum.imasters.com.br/index.php?showtopic=246095 No formulario de cadastro, eu utilizo duas TEXTAREA para legenda1 e legenda2, pois preciso digitar informações que ocupem mais de uma linha, tipo assim: EX: Rodas 14"<br> Rodas 17"<br> Rodas 19"<br> Rodas 22" Gostaria de saber se existe solução nesse caso, ou teria que fazer uma gambiarra, e usar REPLACE para trocar um caractere como (, virgula, / barra, ; ponto-virgula, . ponto) por <br> na hora de exibir o valor no echo? <?php echo "<div id=\"texto1\" class='texto1c'> /* Array que exibi o valor de legenda1 (esse campo é uma textarea no formulario) {$imageset[0][legenda1]} </div>"; ?> POR FAVOR, PRECISO RESOLVER ESSE PROBLEMINHA. meu messenger é felix_henrique@hotmail.com Compartilhar este post Link para o post Compartilhar em outros sites
Periscuelo 20 Denunciar post Postado Setembro 5, 2007 Olá pessoal, estou com um probleminha na exibição de registros do mysql que contém a tag <br>... Utilizo o metodo SWAP DO JavaScript para atualizar as informaçoes sem dar refresh na pagina. Até postei o problema no java script, mas ate agora nao consegui nada... http://forum.imasters.com.br/index.php?showtopic=246095 No formulario de cadastro, eu utilizo duas TEXTAREA para legenda1 e legenda2, pois preciso digitar informações que ocupem mais de uma linha, tipo assim: EX: Rodas 14"<br> Rodas 17"<br> Rodas 19"<br> Rodas 22" Gostaria de saber se existe solução nesse caso, ou teria que fazer uma gambiarra, e usar REPLACE para trocar um caractere como (, virgula, / barra, ; ponto-virgula, . ponto) por <br> na hora de exibir o valor no echo? <?php echo "<div id=\"texto1\" class='texto1c'> /* Array que exibi o valor de legenda1 (esse campo é uma textarea no formulario) {$imageset[0][legenda1]} </div>"; ?> POR FAVOR, PRECISO RESOLVER ESSE PROBLEMINHA. meu messenger é felix_henrique@hotmail.com Amigo Sedex sua duvida é simples.Primeiramente dados de uma TEXTAREA eu costumo gravar em um campo LONGTEXT no MySQL. Supondo que você faça o mesmo, ao inserir qualquer registro em que você tenha utilizado a tecla ENTER por ex: "Eu estou Testando Agora o Meu Script". Se você fizer um texto desta forma em uma TEXTAREA e gravar no Banco de Dados em um campo LONGTEXT ele vai gravar a informação conforme você digitou. O problema na realidade se eu entendi bem sua duvida é na hora de exibir os dados novamente pois ele não exibe os dados da forma que você digitou e sim tudo em uma mesma linha estou certo? Bem se for isto basta você usar a função nl2br() do PHP. ex: <?php echo nl2br($texto); ?>Supondo que $texto é o conteúdo que vem do campo LONGTEXT do Banco de Dados você verá que vaiexibir os dados da forma correta. Se não for esta a sua duvida ou a dica não sanar seu problema poste ae. Espero ter ajudado http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
sedex 0 Denunciar post Postado Setembro 5, 2007 Periscuelo, muito obrigado pela força... Olha o que acontece.... Se eu cadastrar um novo registro, e nele estiver contido alguma tag <br> ele vai ser exibido normalmente.... EX: Imagem Grande Descrição Rodas 14"<br> Rodas 17"<br> Rodas 19"<br> Rodas 22" link de outros produtos. O erro esta acontecendo aqui >> No momento que eu clico no link de outro produto. Se no registro(mysql) que eu cliquei tiver tag <br> ele nao atualiza nenhum das informações: Não atualiza a Imagem grande e nem a descrição. Mas se nao tiver a tag <br> ele atualiza normalmente como deve ser. Entendeu o que ta acontecendo? E muito obrigado pela força! Compartilhar este post Link para o post Compartilhar em outros sites
Periscuelo 20 Denunciar post Postado Setembro 5, 2007 Periscuelo, muito obrigado pela força... Olha o que acontece.... Se eu cadastrar um novo registro, e nele estiver contido alguma tag <br> ele vai ser exibido normalmente.... EX: Imagem Grande Descrição Rodas 14"<br> Rodas 17"<br> Rodas 19"<br> Rodas 22" link de outros produtos. O erro esta acontecendo aqui >> No momento que eu clico no link de outro produto. Se no registro(mysql) que eu cliquei tiver tag <br> ele nao atualiza nenhum das informações: Não atualiza a Imagem grande e nem a descrição. Mas se nao tiver a tag <br> ele atualiza normalmente como deve ser. Entendeu o que ta acontecendo? E muito obrigado pela força! Amigo Sedex a solução que mensionei serve para que você não tenha mais que cadastrar a tag <br>no MySQL. Por qual motivo você não pode usar a tecla ENTER ao invés de gravar tag's <br> no banco de dados? Espero ter ajudado http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
sedex 0 Denunciar post Postado Setembro 5, 2007 Deixa eu te explicar direitinho...Eu ja to utilizando a função nl2br().Apos preencher o formulario na pagina cadastro.php, o formulario envia os dados para a pagina valida_cadastro.php, onde eu pego e transformo as variaveis:$legendaa = $_POST["legenda"]; //Armazena em $legendaa o valor do campo digitando no input legenda$legenda = nl2br($legendaa); //Converte a variavel $legendaa utilizando a funcao nl2br().PORQUE EU TO UTILIZANDO O nl2br() AQUI?Suponha que eu precise especificar as medidas de uma RODA.Nao ficaria legal assim: Roda 14", Roda 17", Roda 19", Roda 22" (Pois iria estragar o meu layout.)Para nao danificar o layout, eu preciso exibir os dados da seguinte forma:Rodas 14"<br>Rodas 17"<br>Rodas 19"<br>Rodas 22"Entendeu? Compartilhar este post Link para o post Compartilhar em outros sites
Periscuelo 20 Denunciar post Postado Setembro 5, 2007 Deixa eu te explicar direitinho...Eu ja to utilizando a função nl2br().Apos preencher o formulario na pagina cadastro.php, o formulario envia os dados para a pagina valida_cadastro.php, onde eu pego e transformo as variaveis:$legendaa = $_POST["legenda"]; //Armazena em $legendaa o valor do campo digitando no input legenda$legenda = nl2br($legendaa); //Converte a variavel $legendaa utilizando a funcao nl2br().PORQUE EU TO UTILIZANDO O nl2br() AQUI?Suponha que eu precise especificar as medidas de uma RODA.Nao ficaria legal assim: Roda 14", Roda 17", Roda 19", Roda 22" (Pois iria estragar o meu layout.)Para nao danificar o layout, eu preciso exibir os dados da seguinte forma:Rodas 14"<br>Rodas 17"<br>Rodas 19"<br>Rodas 22"Entendeu?Sinceramente amigo sedex :huh: eu to boiando no rio tietê e vou cair que nem ¨#@%$ da que a pouquinho. ^_^ Tira uma duvida minha. O Campo que você deseja exibir vem do banco de dados?Se sim como ele é gravado no banco de dados?Qual é o tipo de campo no banco de dados? varchar ou longtext?Se não for do banco de dados e sim de outro form, vem de um input type textou de um TEXTAREA ?Se ele vem de um input, você usa a função nl2br() para exibir ele como deseja e não estragar o seu layoutmas quando vai gravar isto no banco de dados ele não grava corretamente é isto?Ou ele grava corretamente mas depois fica exibindo as tag's <br> na página?Estou no aguardo das respostas para tentar te ajudar melhor. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
sedex 0 Denunciar post Postado Setembro 5, 2007 Te agradeço sua boa vontade... vamos la! 1 - O campo que eu desejo exibir vem sim do banco de dados (mysql). 2 - O tipo do campo eu estou usando (text) 3 - Esse é o campo no meu formulario de cadastro: <textarea name="legenda1" cols="45" rows="5" class="linkcontrole" tabindex='8'></textarea> 4 - Aqui é onde eu recebo os dados digitados no formulario de cadastro: $legendaa = $_POST["legenda"]; $legenda = nl2br($legendaa); //Aqui é onde eu preparo a variavel para inserir no banco de dados. 5 - E aqui é onde eu abro minha query para inserir os dados na tabela. $query = "INSERT INTO $dbimg VALUES('0','$codigo','$thumbname','$imagename', '$legenda', '$legenda1', '$legenda2')"; 6 - Os unicos campos que utilizam TEXTAREA são $legenda1 e $legenda2. Entendeu? Compartilhar este post Link para o post Compartilhar em outros sites
Periscuelo 20 Denunciar post Postado Setembro 5, 2007 Te agradeço sua boa vontade... vamos la! 1 - O campo que eu desejo exibir vem sim do banco de dados (mysql). 2 - O tipo do campo eu estou usando (text) 3 - Esse é o campo no meu formulario de cadastro: <textarea name="legenda1" cols="45" rows="5" class="linkcontrole" tabindex='8'></textarea> 4 - Aqui é onde eu recebo os dados digitados no formulario de cadastro: $legendaa = $_POST["legenda"]; $legenda = nl2br($legendaa); //Aqui é onde eu preparo a variavel para inserir no banco de dados. 5 - E aqui é onde eu abro minha query para inserir os dados na tabela. $query = "INSERT INTO $dbimg VALUES('0','$codigo','$thumbname','$imagename', '$legenda', '$legenda1', '$legenda2')"; 6 - Os unicos campos que utilizam TEXTAREA são $legenda1 e $legenda2. Entendeu? Aeeee amigo sedexxxxxxx agora sim entendi o que precisava http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Ai é que esta a questão amigo sedex. No seu banco de dados mude o tipo para LONGTEXT aonde você precisa gravar suas legendas. Ao invés de usar o nl2br para gravar os dados no banco de dados, grave os dados sem esta função. Deixe que ele grave tudo normalmente. E use o nl2br para EXIBIR OS DADOS depois. Quando você der o SELECT que você for exibir o dado que veio do banco de dados ai sim você usa o nl2br(). Assim você não insere <br> no MySQL e obtem o resultado desejado. ex: <?php $legenda = $_POST["legenda"];$query = "INSERT INTO $dbimg VALUES('0','$codigo','$thumbname','$imagename', '$legenda', '$legenda1', '$legenda2')";$query2 = mysql_query("SELECT * FROM $dbimg");$array = mysql_fetch_array($query2);$legenda = $array['legenda'];echo nl2br($legenda); ?>Seria mais ou menos assim entendeu?Qualquer duvida poste ae. Espero ter ajudado http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
sedex 0 Denunciar post Postado Setembro 5, 2007 Amigo, surgiu apenas uma duvida....O meu SELECT ta assim:$resultl = mysql_db_query($dbname, "SELECT * FROM $dbimg WHERE codigo='$codigo' AND legenda='$legenda' ORDER BY id DESC", $link);e quando vou exibir os dados eu to utilizando assim: echo "<div id=\"texto1\" class='texto1c'>{$imageset[0][legenda1]}</div>"; Já tinha tentado colocar nl2br() no echo mais nao consegui... voce disse que tenho que colocar o nl2br no select... como posso usar nesse caso ai? Compartilhar este post Link para o post Compartilhar em outros sites
Periscuelo 20 Denunciar post Postado Setembro 5, 2007 Amigo, surgiu apenas uma duvida....O meu SELECT ta assim:$resultl = mysql_db_query($dbname, "SELECT * FROM $dbimg WHERE codigo='$codigo' AND legenda='$legenda' ORDER BY id DESC", $link);e quando vou exibir os dados eu to utilizando assim: echo "<div id=\"texto1\" class='texto1c'>{$imageset[0][legenda1]}</div>"; Já tinha tentado colocar nl2br() no echo mais nao consegui... voce disse que tenho que colocar o nl2br no select... como posso usar nesse caso ai?Ai é simples amigo sedex. Se no echo não funcionou o nl2br transfira ele para uma variável.Ficaria assim para termos certeza que vai funcionar:<?php $legenda = $_POST["legenda"];$query = "INSERT INTO $dbimg VALUES('0','$codigo','$thumbname','$imagename', '$legenda', '$legenda1', '$legenda2')";$query2 = mysql_query("SELECT * FROM $dbimg");$array = mysql_fetch_array($query2);$legendaa = $array['legenda'];$legenda = nl2br($legendaa);echo $legenda; ?>Também funcionaria desta forma:<?php $legenda = $_POST["legenda"];$query = "INSERT INTO $dbimg VALUES('0','$codigo','$thumbname','$imagename', '$legenda', '$legenda1', '$legenda2')";$query2 = mysql_query("SELECT * FROM $dbimg");$array = mysql_fetch_array($query2);$legenda = nl2br($array['legenda']);echo $legenda; ?>Ficou claro agora? Se não poste aeEspero ter ajudado http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
sedex 0 Denunciar post Postado Setembro 5, 2007 Vou colocar o meu codigo pra voce entender como ta aqui na pagina onde é feita a exibição dos dados do banco de dados: <?php require 'admin/clientes/configuracao.php'; require 'admin/clientes/config/config.php'; $link = mysql_connect($dbhost, $dbuser, $dbpass); $result = mysql_db_query($dbname, "SELECT * FROM $dbvin WHERE codigo='$codigo'", $link); $data = mysql_fetch_array($result); @mysql_db_query($dbname, "UPDATE $dbvin SET viewed=viewed+1 WHERE codigo='$codigo'", $link); foreach($data as $key => $item) { $data[$key] = stripslashes($item); } if($data[numimages]) { $imageset = array(); $result = mysql_db_query($dbname, "SELECT * FROM $dbimg WHERE codigo='$codigo' AND legenda='$legenda' ORDER BY id DESC", $link); while($row = mysql_fetch_array($result)) { array_push($imageset, $row); } } $result = mysql_db_query($dbname, "SELECT dealer, email, phone FROM $dbcfg", $link); $dealer = mysql_fetch_array($result); mysql_close($link); ?>Aqui eu vou exibir a legenda 1<?phpecho "<div id=\"texto1\" class='texto1c'>{$imageset[0][legenda1]}</div>"; ?>Aqui eu vou exibir a legenda 2<?phpecho "<div id=\"texto1\" class='texto1c'>{$imageset[0][legenda2]}</div>"; ?>Aqui eu vou exibir a imagem grande<?phpecho "<a name=\"top\" id=\"top\"><img id=\"grande\" name='largeimage' src='admin/clientes/fotos/{$imageset[0][image]}'></a><div id='texto' class='texto2_br_c'>{$imageset[0][legenda]}</div>"; ?>Aqui eu vou exibir a legenda<?phpecho "<div id=\"texto1\" class='texto1c'>{$imageset[0][legenda]}</div>"; ?> Compartilhar este post Link para o post Compartilhar em outros sites
Periscuelo 20 Denunciar post Postado Setembro 5, 2007 Vou colocar o meu codigo pra voce entender como ta aqui na pagina onde é feita a exibição dos dados do banco de dados: <?php require 'admin/clientes/configuracao.php'; require 'admin/clientes/config/config.php'; $link = mysql_connect($dbhost, $dbuser, $dbpass); $result = mysql_db_query($dbname, "SELECT * FROM $dbvin WHERE codigo='$codigo'", $link); $data = mysql_fetch_array($result); @mysql_db_query($dbname, "UPDATE $dbvin SET viewed=viewed+1 WHERE codigo='$codigo'", $link); foreach($data as $key => $item) { $data[$key] = stripslashes($item); } if($data[numimages]) { $imageset = array(); $result = mysql_db_query($dbname, "SELECT * FROM $dbimg WHERE codigo='$codigo' AND legenda='$legenda' ORDER BY id DESC", $link); while($row = mysql_fetch_array($result)) { array_push($imageset, $row); } } $result = mysql_db_query($dbname, "SELECT dealer, email, phone FROM $dbcfg", $link); $dealer = mysql_fetch_array($result); mysql_close($link); ?>Aqui eu vou exibir a legenda 1<?phpecho "<div id=\"texto1\" class='texto1c'>{$imageset[0][legenda1]}</div>"; ?>Aqui eu vou exibir a legenda 2<?phpecho "<div id=\"texto1\" class='texto1c'>{$imageset[0][legenda2]}</div>"; ?>Aqui eu vou exibir a imagem grande<?phpecho "<a name=\"top\" id=\"top\"><img id=\"grande\" name='largeimage' src='admin/clientes/fotos/{$imageset[0][image]}'></a><div id='texto' class='texto2_br_c'>{$imageset[0][legenda]}</div>"; ?>Aqui eu vou exibir a legenda<?phpecho "<div id=\"texto1\" class='texto1c'>{$imageset[0][legenda]}</div>"; ?> Se você fizer desta forma:<?php $legendaa1 = {$imageset[0][legenda1]};$legenda1 = nl2br($legendaa1);echo "<div id=\"texto1\" class='texto1c'>$legenda1</div>";?>Não funciona?? Compartilhar este post Link para o post Compartilhar em outros sites
sedex 0 Denunciar post Postado Setembro 5, 2007 Eu entendi o que voce quis me dizer aqui: <?php $legenda = $_POST["legenda"]; $query = "INSERT INTO $dbimg VALUES('0','$codigo','$thumbname','$imagename', '$legenda', '$legenda1', '$legenda2')"; $query2 = mysql_query("SELECT * FROM $dbimg"); $array = mysql_fetch_array($query2); $legendaa = $array['legenda']; $legenda = nl2br($legendaa); echo $legenda; ?> So não sei como devo fazer, pois nao tenho apenas um campo legenda! Devo fazer assim com o array: <?php $legenda = $_POST["legenda"]; $query = "INSERT INTO $dbimg VALUES('0','$codigo','$thumbname','$imagename', '$legenda', '$legenda1', '$legenda2')"; $query2 = mysql_query("SELECT * FROM $dbimg"); $array = mysql_fetch_array($query2); $legendaa = $array['legenda']; $legenda = nl2br($legendaa); $legendab = $array['legenda1']; $legenda1 = nl2br($legendab); $legendac = $array['legenda2']; $legenda2 = nl2br($legendac); echo $legenda; ?> echo $legenda1; ?> echo $legenda2; ?> Seria mais ou menos assim? Compartilhar este post Link para o post Compartilhar em outros sites
Periscuelo 20 Denunciar post Postado Setembro 5, 2007 Eu entendi o que voce quis me dizer aqui: <?php $legenda = $_POST["legenda"]; $query = "INSERT INTO $dbimg VALUES('0','$codigo','$thumbname','$imagename', '$legenda', '$legenda1', '$legenda2')"; $query2 = mysql_query("SELECT * FROM $dbimg"); $array = mysql_fetch_array($query2); $legendaa = $array['legenda']; $legenda = nl2br($legendaa); echo $legenda; ?> So não sei como devo fazer, pois nao tenho apenas um campo legenda! Devo fazer assim com o array: <?php $legenda = $_POST["legenda"]; $query = "INSERT INTO $dbimg VALUES('0','$codigo','$thumbname','$imagename', '$legenda', '$legenda1', '$legenda2')"; $query2 = mysql_query("SELECT * FROM $dbimg"); $array = mysql_fetch_array($query2); $legendaa = $array['legenda']; $legenda = nl2br($legendaa); $legendab = $array['legenda1']; $legenda1 = nl2br($legendab); $legendac = $array['legenda2']; $legenda2 = nl2br($legendac); echo $legenda; ?> echo $legenda1; ?> echo $legenda2; ?> Seria mais ou menos assim? Isto mesmo amigo sedex, assim eu creio que seja um meio bem mais simples.Mas vai da necessidade de seu script. Se você acha melhor fazer de outra forma ou a unica forma que funciona corretamente como deseja for a que você postou ai você tenta a ultima dica que postei. Se for fazer com fetch_array não se esqueça de colocar a clausula WHERE na $query2 para que selecione apenas os registros que você acha necessário. Assim você evita de deixar seu script lento. Faça uns testes e poste se deu certo ou não que nós tentamos denovo. Espero ter ajudado http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
sedex 0 Denunciar post Postado Setembro 6, 2007 Amiguim... Não funcionou não... aconteceu a mesma coisa!No phpmyadmin, eu vejo o registro... nele não possui nem uma tag <br>, mas tem quebra de linha.Com isso a aplicação não atualiza a imagem e nem as legendas. Mas se eu tirar a quebra de linha e colocar tudo em uma unica linha, funciona.obrigado pela ajuda! Compartilhar este post Link para o post Compartilhar em outros sites