Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
Tenho um formulário que retorna um registro de uma tabela, um formulário para alteração.
Acontece que em alguns registros existem campos que contêm um valor com espaço, por exemplo "Maria José".
Ao retornar esse valor para um input text do formulário, não estou conseguindo retornar toda a string "Maria José", e sim somente a parte anterior ao espaço da string, no caso "Maria".
$sql= "SELECT * FROM produtos WHERE codigo ='$codigo';";
$executar = mysql_query($sql);
while($linhas = mysql_fetch_array($executar)){
echo "<form action=\"processa_atualizar.php?codigo=".$codigo."\" method=\"post\" enctype=\"multipart/form-data\" name=\"atualizar\" id=\"atualizar\">";
echo "<div class=\"style_form\">";
echo "Marca:<br />";
echo "<input type=\"text\" name=\"marca\" id=\"marca\" class=\"required\" value=".$linhas['marca']." title=\"Entre com a marca do produto!\"/>";
echo "</div>";
echo "</form>";
}
O $linhas{'marca'] deveria retornar "Maria José" no value do input, mas só retorna "Maria".
Como resolver?
No banco, a consulta retorna Maria José?
Retornar normal no banco, ver imagem:
/applications/core/interface/imageproxy/imageproxy.php?img=http://img189.imageshack.us/img189/7599/6diz.jpg&key=bb985d8abacf5d9a9140b258c7c58c6991691149dea1fc161d8e650842a07cbd" alt="6diz.jpg" />
MAS no formulário retorna só "Karina" no input.
Tá faltando as aspas no value...
value=\"".$linhas['marca']."\"
Deu certo, Edgar!
Obrigada. Uma coisa tão simples né, rs...
Mai vou deixar uma dica pra ti quando for concatenar strings veja como eu faço e como está a sua:
a sua:
echo "<div class=\"style_form\">";
Eu faço assim:
echo '<div class="style_form">';
Assim eu posso escrever qualquer conteudo dentro sem ter problemas com as barras, na sua linha de erro a minha ficaria assim:
echo '<input type="text" name="marca" id="marca" class="required" value="'.$linhas['marca'].'" title="Entre com a marca do produto!" />';
Pode notar que fica um código menos poluído. Abraços espero que siga a dica.Também poderia fazer dessa forma.
printf('<input type="text" name="marca" id="marca" class="required" value="%s" title="Entre com a marca do produto!" />', $linhas['marca'] );
ou
printf('<input type="%s" name="%s" id="%s" class="%s" value="%s" title="%s" />','text', 'marca' , 'marca', 'required', $linhas['marca'], 'Entre com a marca do produto!');
Agora imaginemos estes dados sendo retornado do banco de dados.
deixa a página dinâmica.
Este post solucionou a sua dúvida, peço que coloque como resolvido e me der um ponto positivo de reputação para que eu possa continuar ajudando outros colegas como você.
Caso não solucione o seu problema, peço que coloque a sua dúvida abaixo.
Att: João Paulo Sousa Supriano
verifique se no banco está cadastrando corretamente.