使用javascript连接数据库并检索值

时间:2012-11-29 17:12:59

标签: javascript mysql

我想连接到数据库并使用javascript从数据库中检索值,因为我构建了一个javascript条形图。以下是我的代码,如果有人可以调查并帮助我。

<?php
ini_set('display_errors',1); 
error_reporting(E_ALL);
$link = mysql_connect('localhost', 'root', 'root');
mysql_select_db('sarc', $link);
$result = mysql_query('SELECT 73');

$val = mysql_fetch_row($result);
$val = $val[0];

?>

<link rel="stylesheet" type="text/css" href="progressbar.css" />
<script type="text/javascript" src="progressbar.js"></script>
<style type="text/css">
.my_progress_bar {
border-width: 0px;
}

</style>

<div id="my_progress_bar_1"></div>

<script type="text/javascript">
var currentValue = [<?php echo $val; ?>];
var myProgressBar = null
var timerId = null
function loadProgressBar(){
myProgressBar = [
     new ProgressBar("my_progress_bar_1",{
         height: 400,
         width: 129,
         orientation: ProgressBar.Orientation.Vertical,
         direction: ProgressBar.Direction.BottomToTop,
         animationStyle: ProgressBar.AnimationStyle.StaticFull,
         showLabel: false,
         imageUrl: 'images/bottle-in.png',
         markerUrl: 'images/marker-bottle.png',
         extraClassName: {
             wrapper: 'my_progress_bar',
             left: 'my_progress_bar',
             right: 'my_progress_bar',
             middle: 'my_progress_bar',
             marker: 'my_progress_bar',
             parent: 'my_progress_bar',
             background: 'my_progress_bar'
         },
     })
 ];

 myProgressBar[0].setValue(currentValue);
}

loadProgressBar();
</script>

此代码在运行时显示空白页面。有人可以帮我吗

3 个答案:

答案 0 :(得分:1)

对于不熟悉AJAX和jQuery的人来说,这是一个很大的跳跃。我建议你从这里开始:

AJAX教程http://www.w3schools.com/ajax/default.asp

jQuery教程http://www.w3schools.com/jquery/default.asp

熟悉这两个之后,你会想要这样的东西:

文件1 :ajax_landing.php

// This file needs to search your database using PHP, and echo the results.
$data = mysql_fetch_assoc(mysql_query("SELECT myCol FROM myTable WHERE condition = value"));
echo json_encode($data);

// This should output something like...
{ myCol: 73 }

文件2 :chart_page.html(或.php)

<script>
$.getJSON("ajax_landing.php", function(response) {
    var value = response['myCol'];

    example_10(value);
});
</script>

当然,这只是表面上的问题,但希望能指出正确的方向。

请不要关联w3schools的downvotes。他们不是 可怕......;)

答案 1 :(得分:0)

如果您在Web浏览器中执行此javascript,正如我所假设的那样,那么从数据库获取数据的最常用方法是通过服务器。这意味着您需要某种动态服务器。在Java世界中,这将是一个Servlet容器,您很可能会在该servelt容器之上使用Web应用程序框架来提供帮助。你javasript将对服务器进行ajax调用,java代码将连接到DB,然后从该数据中准备一个ajax适当的响应,例如json或xml。

这有帮助吗?注意,你可以直接从javascript中找到其他类型的db,但这是一种高级主题。我需要您提出更多要求,以了解是否需要更专业的案例。

答案 2 :(得分:0)

嗯,这个@Rajan没有简单的答案,尽管AJAX似乎很复杂,但它是你的朋友。你必须添加一个从db读取数据的PHP页面并将其作为JSON返回(不是包含所有HTML的大页面,只是 JSON 字符串,ex { value: 73 },然后使用客户端JavaScript库(例如jQuery)访问该页面,使用ajax并将值传递给您的函数。

$.ajax({
  url: 'yourserver/phppage.php',
  dataType: 'json',
  data: data,
  success: function(data) { example_10(data.value); }
});

此代码不会按原样运行,但希望它能为您提供指导。您还需要修改example_10函数以接受参数。 :)

我们无法为您编写整个程序。但是我们当然可以帮助您解决问题。所以你必须开始自己。