如何从mysql数据库中检索数据并在jquery mobile中的列表视图中填充

时间:2013-12-20 06:25:03

标签: php jquery html mysql jquery-mobile

请有人帮我找到如何从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();

?>

但是当进入那个页面时它什么也没有显示,当刷新时它会显示出来,只是在询问如何获取数据并在页面加载时打印它。感谢。

1 个答案:

答案 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,这是一个坏习惯。