PHP用空格形成数组值


PHP form array value with white space

我在传递表单上值字段的关联数组位置的值时遇到问题。

$sql = mysqli_query(
    $conn, 
    "SELECT veiculos_codvei, 
            revisao.ordemServico, 
            descricao, 
            qtd,
            precoUnt, 
            precoTotal 
       FROM revisao
      INNER JOIN itensRevisao ON revisao.ordemServico = itensRevisao.ordemServico
      WHERE codRevisao='{$codRevisao}'
    ");
    $array = array();
    // retorna consulta sql num array associativo
    while ($row = mysqli_fetch_assoc($sql)) {
        $array[] = $row;
    }    
    print_r($array[0]['descricao'])
}

return"Öleo 15W40"然后我把它传给像这个这样的输入表单

<input type="text" class="form-control" name="descricao[]" id="descricao" placeholder="Pastilha do Freio" <?php if (isset($array[0]['descricao']) and ! empty($array[0]['descricao'])) echo "value=".$array[0]['descricao']."";?>>

但输入的值只是"Öleo",从谷歌chrome控制台我可以看到它的正确值,但似乎是一个连接问题。

<input type="text" class="form-control" name="descricao[]" id="descricao" placeholder="Pastilha do Freio" value="Óleo" 15w40="">

如果value属性周围没有引号(即您有value=Óleo 15W40而不是value="Óleo 15W40"),您看到的引号是浏览器自动添加的,以修复损坏的XML,请使用以下内容:

<input 
type="text" 
class="form-control" 
name="descricao[]" 
id="descricao" 
placeholder="Pastilha do Freio"
<?php if (isset($array[0]['descricao']) and !empty($array[0]['descricao'])) echo "value='"".$array[0]['descricao']."'"";?>
>

我发现,我从项目的另一部分复制了这个输入,我相信有理由将value标记放在IF中,尽管这可能是错误的。将价值放在IF之外可以解决问题。

<input type="text" class="form-control" name="descricao[]" id="descricao" placeholder="Pastilha do Freio" value="<?php if (isset($array[0]['descricao']) and ! empty($array[0]['descricao'])) echo $array[0]['descricao'];?>">