在我的网站上,我将一些数据回显到编辑页面。在这个页面上,我有来自MySQL的Bootstrap输入。最严重的是只显示第一个单词。我可以选择textarea,但这与布局不匹配。
PDO(登录后):
<ListView ItemSource="{Binding ParentSource}">
<ListView.ItemTemplate >
<DataTemplate>
<ViewCell>
<ViewCell.ContextActions>
<MenuItem Text="Delete" />
</ViewCell.ContextActions>
<ViewCell.View>
<Label Text="{Binding Prop1}"/>
<ListView ItemSource="{Binding ChildSource}">
<ListView.ItemTemplate >
<DataTemplate>
<ViewCell>
<ViewCell.View>
<Label Text="{Binding ChildProp1}"/>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
包含我所挣扎的数据的列是varchar(300)。
HTML
$getid = $db->prepare('SELECT * FROM db WHERE testid=:testid');
$getid->bindParam(':testid', $_GET['testid'], PDO::PARAM_INT);
$result = $getid->execute();
$row = $getid->fetch();
该列有10-15个单词,但只显示第一个单词,有人知道为什么吗?如果这是一个HTML5输入问题,可以调整它来显示所有单词吗?
答案 0 :(得分:2)
试试这个
<input type="text" class="form-control" name="info" value="<?php echo $row['info']; ?>">
问题是您没有在PHP代码中用引号关闭value
。
你编写代码的方式应该是
<input type="text" class="form-control" name="info" <?php echo "value=\"" . $row['info'] . "\""; ?>>
请注意,在您的判决之前和之后回复了\"
双引号。
编辑::以进一步解释为什么会出现意外行为,请查看运行该PHP页面时将打印的HTML代码。它看起来像这样。请注意,即使在SO语法颜色上,在第一个示例中只有单词“the”变为蓝色,而在第二个示例中整个句子变为蓝色。
<input type="text" class="form-control" name="info" value=the words inside info>
因为您没有使用XHTML,所以假设只有第一个单词是值,语法错误将被“修复”。其余的单词将被忽略或考虑其他未定义的属性。应该看起来的方式显然是
<input type="text" class="form-control" name="info" value="the words inside info">
因此,您可以通过在HTML中添加引号或在PHP代码中打印它们来解决此问题。