www.webdeveloper.com
Results 1 to 5 of 5

Thread: Need help with an AJAX/PHP/MySQL function!

  1. #1
    Join Date
    Sep 2008
    Posts
    52

    Need help with an AJAX/PHP/MySQL function!

    Hi! I'm trying to get the information in this form be saved in a database (so far so good) and when I click the link beneath the form I will use an AJAX script to execute a php-script that reads from a database and then submits it into the div called "info". But the whole part from reading the database and then send it back to the client doesn't work.

    The scripts I use is:
    HTML Code:
    <form action="insert-pm.php" method="post">
    Sender: <input type="text" name="sender" /><br />
    Receiver: <input type="text" name="receiver" /><br />
    Title: <input type="text" name="title" /><br />
    Content: <textarea name="content"/></textarea><br />
    <input type="submit" value="S&#228;nd"/>
    </form>
    
    <a href="javascript:showUser()">Visa info</a>
    
    <script type="text/javascript" language="javascript">
    var xmlhttp;
    
    function showUser(str)
    {
    xmlhttp=GetXmlHttpObject();
    if (xmlhttp==null)
      {
      alert ("Browser does not support HTTP Request");
      return;
      }
    var url="php_mysql-connect.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)
    {
    document.getElementById("info").innerHTML=xmlhttp.responseText;
    }
    }
    
    function GetXmlHttpObject()
    {
    if (window.XMLHttpRequest)
      {
      // code for IE7+, Firefox, Chrome, Opera, Safari
      return new XMLHttpRequest();
      }
    if (window.ActiveXObject)
      {
      // code for IE6, IE5
      return new ActiveXObject("Microsoft.XMLHTTP");
      }
    return null;
    }
    </script>
    <div id="info">
    The php-script that writes into the database:
    PHP Code:
    <?php

    $user_name 
    "root";
    $password "XXXXX";
    $database "test";
    $server "localhost";

    $con mysql_connect($server$user_name$password);
    if (!
    $con)
      {
      die(
    'Could not connect: ' mysql_error());
      }

    mysql_select_db($database$con);

    $sql="INSERT INTO pm (UserID, SenderID, Title, Content)
    VALUES
    ('
    $_POST[sender]','$_POST[receiver]','$_POST[title]','$_POST[content]')";

    if (!
    mysql_query($sql,$con))
      {
      die(
    'Error: ' mysql_error());
      }
    echo 
    "1 record added";

    mysql_close($con)
    ?>
    The php script that reads the database and then returns the data:
    PHP Code:
    <?php

    $user_name 
    "root";
    $password "XXXXX";
    $database "test";
    $server "localhost";

    $q=$_GET["q"];

    $con mysql_connect($server$user_name$password);
    if (!
    $con)
      {
      die(
    'Could not connect: ' mysql_error());
      }

    mysql_select_db($database$con);

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

    $result mysql_query($sql);

    echo 
    "<table border='0'>
    <tr>
    <th>UserID</th>
    <th>ReceiverID</th>
    <th>Title</th>
    <th>Content</th>
    <th>Date</th>
    </tr>"
    ;

    while(
    $row mysql_fetch_array($result))
      {
      echo 
    "<tr>";
      echo 
    "<td>" $row['UserID'] . "</td>";
      echo 
    "<td>" $row['SenderID'] . "</td>";
      echo 
    "<td>" $row['Title'] . "</td>";
      echo 
    "<td>" $row['Content'] . "</td>";
      echo 
    "<td>" $row['Date'] . "</td>";
      echo 
    "</tr>";
      }
    echo 
    "</table>";

    mysql_close($con);
    ?>
    Can anyone help me with this? I think I'm doing some kind of basic mistake. Thanks!

    One more thing: How do I write the date and time when I submit the form into the databasefield called Date?

  2. #2
    Join Date
    Sep 2008
    Posts
    52
    Not a single reply?

  3. #3
    Join Date
    Jan 2009
    Posts
    3,346
    What do you mean "doesn't work"? Are you getting any results? Any error messages? Just unexpected results?

  4. #4
    Join Date
    Sep 2008
    Posts
    52
    When I click the link to show the results I only see the table but no information in it. And I get this error message:

    Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\portfolio 5.0\extra grejer\php\php_mysql-connect.php on line 31

  5. #5
    Join Date
    Jan 2009
    Posts
    3,346
    You need to check that the query executed:
    $result = mysql_query($sql);
    Should be followed by something like:
    PHP Code:
    if(!$result){
       
    //your query didn't execute properly
       
    die(mysql_error);


Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles