请有人帮我找到如何从mysql数据库中检索数据的解决方案,并在jquery mobile的列表视图中填充。
我的php代码如下
<? php
include('libraries/config.php');
$result = mysql_query("SELECT * from category") or die(mysql_error());
while ($obj = mysql_fetch_object($result)) {
$arr[] = $obj;
}
echo json_encode($data);
echo '{"Deals":'.json_encode($arr).'}';
?>
这里以json格式从mysql获取数据,但我不知道如何在listview中填充这个,我的html页面如下
<div id="content-area" style="height:auto;">
<br/>
<ul data-role="listview">
<li>
<a href="comfort_list.html">
<div class="content-home-tab1">
<div class="img-content">
<img id="ic_home" src="images/next_btn.png" style="margin-top:37px; margin-left:448px;" width="22" height="28" />
</div>
<div class="content-home-p">
<b>Comfort</b>
</div>
</div>
</a>
</li>
<li>
<a href="#">
<div class="content-home-tab1">
<div class="img-content">
<img id="ic_home" src="images/next_btn.png" style="margin-top:37px; margin-left:448px;" width="22" height="28" />
</div>
<div class="content-home-p">
<b>Handling Your Lenses</b>
</div>
</div>
</a>
</li>
</ul>
</div>
在我的代码中,我给静态数据列表是舒适的并处理你的镜头,我在db中有这些数据,我需要得到它并放在这里。
在页面中我以这样的形式发布
<form method="post" action="help.html">
<ul data-role="listview" >
<?php while ($row = $stmt->fetch()){
?>
<li>
<a href="help1.php?id=<?php echo $row['categoryID']; ?>">
<div class="content-home-tab1">
<div class="img-content">
<img id="ic_home" src="images/next_btn.png" style="margin-top:37px; margin-left:448px;" width="22" height="28" />
</div>
<div class="content-home-p">
<b><?php echo $row['title'];?>
</b>
</div></div></a>
</li>
<?php }?>
</ul>
</form>
并在另一个页面中尝试获取如下ID
<?php
include('libraries/config.php');
$getID = $_GET['id'];
echo $getID;
$stmt = $db->prepare("SELECT * from category where categoryID ='$_GET['id']'");
$stmt->execute();
?>
但是当进入那个页面时它什么也没有显示,当刷新时它会显示出来,只是在询问如何获取数据并在页面加载时打印它。感谢。
答案 0 :(得分:0)
正如C.S.所说,你不需要使用JSON,只需遍历你的数组并添加你的列表项。
编辑以显示PDO的基本用法,并演示如何访问查询结果。
自PHP 5.5.0起,mysql_query
扩展名已弃用,因此我建议您使用PDO_MySQL
首先设置数据库连接:
$dbName = "your_database_name_here";
$dbUserName = "your_username_here";
$dbPassword = "your_password_here";
$db = new PDO( 'mysql:host=localhost;dbname='.$dbName, $dbUserName, $dbPassword );
然后运行您的查询,并通过访问$row
循环中的while
数组来回显您的列表(或者您需要从数据库中获得的任何内容):
$stmt = $db->prepare("SELECT * from category");
$stmt->execute();
while ($row = $stmt->fetch()){
echo "<li>". $row['title'] ."</li>";
}
P.S。你应该摆脱那个内联css,这是一个坏习惯。