1

我有一个mysql的噩梦。让我解释一下我的问题。

这是我想要实现的目标:!http://i604.photobucket.com/albums/tt125/TheNameHobbs/client_workoutpage_example.png

我在数据库中有一个表,其中填充了不同的锻炼机器。我需要这个循环为数据库中的每台机器创建一个 div 并将图片与链接一起放入。该数据库有一个机器 ID 以及机器名称、图像路径和视频链接。

这就是我必须创建的 div:

function machine_count() {
return mysql_result(mysql_query("SELECT COUNT(`machine_id`) FROM `machines` WHERE `machine_id` = $machine_id"), 0);
}

$(document).ready(function() {
 $machinecount = machine_count();
        for (var i = 0; i < $machinecount; i++) {
            $('<div/>', {
        'id': 'div' + i,
        'class': 'some_class_name',
        'html': 'i am div with id=div' + i
        }).appendTo('.body1');
        }
        });

CSS:

.body1 {
width: 100%;
}
.some_class_name {
width: 24.5%;
float: left;
border: 1px solid black;
}

不知何故,我需要在该循环中添加一种方法来获取机器图片并链接并为每个 div 相应地填充它们。

有任何想法吗?

4

4 回答 4

1

结合你的JQUERYPHP代码

    $(document).ready(function() {

    <?php

        $sql = "SELECT * FROM `machines` WHERE `machine_id` = $machine_id";
        $retval = mysql_query( $sql, $conn );
        if(! $retval )
        {
          die('Could not get data: ' . mysql_error());
        }
        while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
        {
        ?>
            $('<div/>', {
                    'id': 'div _<?php echo $row["machine_id"]; ?>',
                    'class': 'some_class_name',
                    'html': 'i am div with id=div '+ 
                            '<?php echo $row["machine_id"]; ?>'+  
                            ' <?php echo $row["machine_name"]; ?>'+
                            '<img src="PATH_TO_IMAGE/<?php echo $row["image_name"]; ?>" /> '+
                           ' <?php echo $row["video_link"]; ?>'
                }).appendTo('.body1');

    <?php   } ?>

});
于 2013-05-15T19:16:22.147 回答
1

有两种方法可以做到这一点,使用 jquery 或使用 PHP。如果你想使用 php 使用下面的脚本..

 <?php
  $i=0
  $query=mysql_query("SELECT `machine_id`, `IMAGE_PATH`. `video_link` FROM `machines` WHERE `machine_id` = $machine_id")
  while($rows=mysql_fetch_array($query)){ ?>
    <div id= "<?php echo $i; ?>"  class= "some_class_name"> i am div with id=div <?php echo $i; ?>>
     <img src="<?php echo $rows[IMAGE_PATH]; ?>" alt="" />
     <a href="<?php echo $rows[video_link]; ?>">Video Link</a>
    </div>
    <?php $i++; }  ?>
于 2013-05-15T19:51:48.800 回答
0

您正在混合 PHP 和 javascript。

试试这个:

//PHP CODE
<?php
function machine_count() {
    return mysql_result(mysql_query("SELECT COUNT(`machine_id`) FROM `machines` WHERE `machine_id` = $machine_id"), 0);
}
?>

//JAVASCRIPT CODE
$(document).ready(function() {
    $machinecount = <?php echo machine_count(); ?>
    for (var i = 0; i < $machinecount; i++) {
        $('<div/>', {
        'id': 'div' + i,
        'class': 'some_class_name',
        'html': 'i am div with id=div' + i
        }).appendTo('.body1');
    }
 });

确保您的文件具有 php 扩展名并且您正在服务器上运行它。

于 2013-05-15T18:50:27.373 回答
-1

我终于想出了这个解决方案:

 <script>
        $(document).ready(function() {

<?php

    $count = mysql_result(mysql_query("SELECT COUNT(*) FROM `machines`"), 0);
for ($machine_id = 0; $machine_id <= $count; $machine_id++) {
    $sql = "SELECT * FROM `machines` WHERE `machine_id` = $machine_id";
    $retval = mysql_query( $sql, $conn );
    if(! $retval )
    {
      die('Could not get data: ' . mysql_error());
    }
    while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
    {
    ?>
        $('<div/>', {
                'id': 'div _<?php echo $row["machine_id"]; ?>',
                'class': 'some_class_name',
                'html': '<img src="client workout page/round_<?php echo $row["machine_id"]; ?>.jpg" style="display:block;margin:0 auto;"><br>'+ 
                        '<img src="<?php echo $row["picture"]; ?>" style="width:50%;display:block;margin:0 auto;"/> '+
                       ' <a href="<?php echo $row["link"]; ?>"><img src="client workout page/click to play video.jpg" style="width:186px;height: 14px;position:absolute;bottom:0;left:0;right:0;margin-left:auto;margin-right:auto;"></a>'
            }).appendTo('.body1');       
<?php   }
    }
 ?>

});
</script>
于 2013-05-16T00:00:36.493 回答