0

我想连接到数据库并使用 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>

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

4

3 回答 3

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 投反对票。他们没那么可怕...... ;)

于 2012-11-29T21:15:23.480 回答
0

好吧,这个@Rajan 没有简单的答案,尽管 AJAX 看起来很复杂,但它是你的朋友。您必须添加一个 PHP 页面,该页面从 db 读取数据并将其作为 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 函数以接受参数。:)

我们无法为您编写整个程序。但我们当然可以在您遇到困难的地方提供帮助。所以你必须开始你自己。

于 2012-11-29T17:40:50.833 回答
0

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

这有帮助吗?请注意,您可能可以直接从 javascript 中找到其他类型的数据库,但这是高级主题。我需要您提出更多要求才能知道是否需要更专业的案例。

于 2012-11-29T17:16:14.357 回答