-1

PHPとAjaxを使用してMySQLデータベースを操作し、ロード時に複数のデータをHTMLページに取得するという新しいことを試しています。

HTML:

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

Jクエリ:

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();

名前からテキストを取得し、それを data.php に渡し、値 #realcost、#size、および #desc を取得します。

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));

 ?>

これらのフィールにデータを取得できない理由がわかりません。

4

3 に答える 3

2

そのコードには非常に多くの間違いがあり、どこから始めればよいかわかりません。

ただし、phpファイルで構文エラーが修正されたと仮定すると、実際には、SQLクエリを実行した後に行を取得する必要があります$name_row = mysql_fetch_assoc($name);

そして、PDOまたはmysqliに切り替えることをお勧めします。

そしてもちろん、1つのクエリですべての情報を取得できます...

于 2012-06-30T14:12:30.397 に答える
2

これを試して

<?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']));

 ?>
于 2012-06-30T14:17:58.067 に答える
1

間違った関数「mysql_qery」から使用しているためです。

これを参照してください:

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));

次の行を使用して、エラーが表示されるようにします。

ini_set("display_errors", true);

次に、firebug (mozilla firefox のアドオン) を使用して、php ファイルの出力を表示し、エラーを確認します。

データの取得中にエラーが発生しました。
この機能を参照してください。おそらくヘルプ...:

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;
}
于 2012-06-30T14:11:42.170 に答える