简体   繁体   English

我如何使用php jquery和ajax从mysql检索多个值?

[英]how can i retreve multiple values from mysql with php jquery and ajax?

im trying out something new for me that's working with a MySQL database using PHP and Ajax to retrieve multiple data to a HTML page on loading. 即时消息为我尝试了一些新东西,这些东西正在使用PHP和Ajax与MySQL数据库一起使用,以便在加载时将多个数据检索到HTML页面。

HTML: HTML:

 <div id="name">Mark</div>
 <br/>
 <input id="realcost" value=""></input>
 <p id="size"></p>
 <div id="#desc">description</div>

Jquery: jQuery:

function get() {
$.getJSON('data.php', {
    name: $("#name").text()
}, function(data) {
    $("input#realcost").val(data.cost);
    $("p#size").text(data.size);
    $("#desc").text(data.details);
    'json'
});
}
get();

what it dose is gets the text from name pass it to data.php and retrieves the values #realcost, #size and #desc 它的作用是从名称中获取文本,然后将其传递到data.php并检索值#realcost,#size和#desc

PHP: PHP:

 <?php
 mysql_connect( "localhost", "username", "password");
 $name = mysqul_real_escape_string ($_POST['name']);
 $cost = mysql_qery ("SELECT cost FROM list.itemlist WHERE name='$name'");
 $size = mysql_qery ("SELECT size FROM list.itemlist WHERE name='$name'");
 $details = mysql_qery ("SELECT details FROM list.itemlist WHERE name='$name'");
 echo json_encode(array("cost" => $cost, "size" => $size, "details" => $details));

 ?>

don't know why i cant retrieve data into these feel's. 不知道为什么我无法从这些感觉中检索数据。

There is so much wrong with that code, it's hard to see where to start. 该代码有很多错误,很难看到从哪里开始。

But assuming that you get your syntax errors fixed in the php file, you actually need to retrieve rows after you make an sql query, something like $name_row = mysql_fetch_assoc($name); 但是,假设您已在php文件中修复了语法错误,则实际上您需要在执行sql查询后检索行,例如$name_row = mysql_fetch_assoc($name); .

And I would recommend switching to PDO or mysqli. 我建议切换到PDO或mysqli。

And of course you can get all information in just one query... 当然,您可以在一个查询中获取所有信息...

Try this 尝试这个

<?php
 mysql_connect( "localhost", "username", "password");
 $name = mysql_real_escape_string ($_POST['name']);
$query = "SELECT cost, size, details FROM list.itemlist where name='$name'");
$row = mysql_fetch_assoc(mysql_query($query));

 echo json_encode(array("cost" => $row['cost'], "size" => $row['size'], "details" => $row['details']));

 ?>

Because you are using from a wrong function 'mysql_qery'. 因为您使用的是错误的函数“ mysql_qery”。

See this: 看到这个:

ini_set("display_errors", true);
mysql_connect( "localhost", "username", "password");
$name = mysql_real_escape_string ($_POST['name']);
$cost = mysql_query ("SELECT cost FROM list.itemlist WHERE name='$name'");
$size = mysql_query ("SELECT size FROM list.itemlist WHERE name='$name'");
$details = mysql_query ("SELECT details FROM list.itemlist WHERE name='$name'");
echo json_encode(array("cost" => $cost, "size" => $size, "details" => $details));

use this line to ensure that errors will be shown: 使用此行来确保显示错误:

ini_set("display_errors", true);

And then use firebug (Addon for mozilla firefox) to see the output of your php file and check errors. 然后使用firebug(mozilla firefox的附件)查看您的php文件的输出并检查错误。

Your has some errors with getting data. 您在获取数据时遇到一些错误。
see this function,maybe help...: 看到此功能,可能有帮助...:

function getAllDATA($user, $pass, $host, $name = '')
{
    $conn = mysql_connect($user, $pass, $host);

    if (!$conn)
        return false;

    //@mysql_query("SET NAMES 'utf8' "); if you are using utf8 data

    $dbName = "DatabaseName");
    if (!mysql_select_db($dbname))
        return false;


    $data = array();

    $q = "SELECT cost FROM list.itemlist WHERE name='$name'";

    //echo $q;

    $result = mysql_query($q);

    //echo mysql_error();

    while($row = mysql_fetch_assoc($result))
        $data[] = $row;

    mysql_close($conn);

    self::$data = $data;

    return $data;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM