Как мне обновить базу данных mysql с помощью ajax и php в innerhtml - PullRequest
3 голосов
/ 12 мая 2009

Как мне обновить базу данных mysql с помощью ajax и php без обновления страницы

Ответы [ 3 ]

10 голосов
/ 12 мая 2009

Вот хороший пример , он показывает оператор SELECT, но он должен быть простым и простым, чтобы обновить скрипт до того, что вам нужно.

HTML со страницы примера:

<html>
    <head>
        <script src="selectuser.js"></script>
    </head>
    <body>

        <form> 
            Select a User:
            <select name="users" onchange="showUser(this.value)">
                <option value="1">Peter Griffin</option>
                <option value="2">Lois Griffin</option>
                <option value="3">Glenn Quagmire</option>
                <option value="4">Joseph Swanson</option>
            </select>
        </form>

        <p>
        <div id="txtHint"><b>User info will be listed here.</b></div>
    </p>

</body>
</html>

JavaScript:

var xmlHttp;

function showUser(str)
{ 
    xmlHttp=GetXmlHttpObject();
    if (xmlHttp==null)
    {
        alert ("Browser does not support HTTP Request");
        return;
    }
    var url="getuser.php";
    url=url+"?q="+str;
    url=url+"&sid="+Math.random();
    xmlHttp.onreadystatechange=stateChanged;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);
}

function stateChanged() 
{ 
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
    { 
        document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
    } 
}

function GetXmlHttpObject()
{
    var xmlHttp=null;
    try
    {
        // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e)
    {
        //Internet Explorer
        try
        {
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}

PHP, вызванный Ajax:

<?php
$q = $_GET["q"];

$con = mysql_connect('localhost', 'peter', 'abc123');
if (!$con) {
    die('Could not connect: ' . mysql_error());
}

mysql_select_db("ajax_demo", $con);

$sql = "SELECT * FROM user WHERE id = '" . $q . "'";

$result = mysql_query($sql);

echo "<table border='1'>
    <tr>
    <th>Firstname</th>
    <th>Lastname</th>
    <th>Age</th>
    <th>Hometown</th>
    <th>Job</th>
    </tr>";

while ($row = mysql_fetch_array($result)) {
    echo "<tr>";
    echo "<td>" . $row['FirstName'] . "</td>";
    echo "<td>" . $row['LastName'] . "</td>";
    echo "<td>" . $row['Age'] . "</td>";
    echo "<td>" . $row['Hometown'] . "</td>";
    echo "<td>" . $row['Job'] . "</td>";
    echo "</tr>";
}
echo "</table>";

mysql_close($con);

?>
5 голосов
/ 12 мая 2009

Вы можете использовать библиотеку JQuery и сделать что-то вроде

$.ajax({
   type: "POST",
   url: "some.php",
   data: "name=John&location=Boston",
   success: function(msg){
     alert( "Data Saved: " + msg );
   }
 });

В вашем файле some.php есть что-то вроде этого:

<?php

$name = $_POST['name'];
$location = $_POST['location'];

$query("your insert query");

$result = mysql_query($query);

?>

?>

1 голос
/ 12 мая 2009

http://www.w3schools.com/PHP/php_ajax_database.asp объясняет это довольно хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...