PHP - Using Ajax To Transfer Data
I am trying to write a basic Private Messaging script.
I have my main page which lists all messages that have been received. I then want to click on an href link to run an ajax query to bring information in from another .php file which shows the content of the selected message.
But I can't fathom out how to do this with an href. First off, is it possible? If so, can anyone tell me what I am doing wrong?
The relevant script is:
privatemessage.php:
<?php $query2 = DB::getInstance()->query("SELECT c.id as cid, c.title, c.time, m.id as membersid, m.username, m.member_first_name, m.member_last_name FROM conversation as c, members as m WHERE ((c.member1='{$memberid}' and c.read1='Yes' and c.removed1='No' and m.id=c.member2) OR (c.member2='{$memberid}' and c.read2='Yes' and c.removed2='No' and m.id=c.member1)) GROUP BY m.id ORDER BY m.id DESC"); ?> <table> <tr> <td align="left"> <?php echo htmlentities($result2->member_first_name); ?> <?php echo htmlentities($result2->member_last_name); ?> <?php echo "("; echo htmlentities($result2->username); echo ")"; ?> </td> <td align="right"> <?php echo timeAgo(strtotime($result2->time)); ?> </td> </tr> <tr> <td colspan="2" align="left"> <form action="" method="post"> <?php echo "Subject: "; ?> <?php echo "<input type='hidden' name='id' id='id' value='{$result2->cid}'>"; ?> <a href="#$result2->cid" onClick="showMessages(this.value)"><?php echo htmlentities($result2->title); ?> </form> <script src="//code.jquery.com/jquery-1.10.2.js"></script> <script src="js/readmessage.js"></script> </td> </tr>My readmessage.js code is: function showMessages(str) { if (str=="") { document.getElementById("txtMessage").innerHTML=""; return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtMessage").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","readmessage.php?q="+str,true); xmlhttp.send(); }And my readmessage.php code is: <?php require 'core/memberinit.php'; $member = new Member(); include 'timeago.php'; $memberid = $member->data() ->id; if(isset($_GET['q'])) { $q = html_entity_decode($_GET['q']); $req1 = DB::getInstance()->query("SELECT title, member1, member2 FROM conversation WHERE id='{$q}' AND id2='1'"); foreach ($req1->results() as $dn1) if($req1->count()==1) { if(($dn1->member1=='{$memberid}') or ($dn->member2=='{$memberid}')) { if($dn1->member1=='{$memberid}') { DB::getInstance()->query("UPDATE conversation SET read1='Yes' where id='{$q}' and id2='1'"); $user_partic = 2; } else { DB::getInstance()->query("UPDATE conversation SET read2='Yes' where id='{$q}' and id2='1'"); $user_partic = "1"; } $req2 = DB::getInstance()->query("SELECT conversation.time, conversation.message, members.id as userid, members.username, members.member_first_name, members.member_last_name FROM conversation, members WHERE conversation.id='{$id}' AND members.id=conversation.member1 ORDER BY conversation.id2"); if(isset($_POST['message']) and $_POST['message']!='') { $message = $_POST['message']; if(get_magic_quotes_gpc()) { $message = stripslashes($message); } $message = $string(nl2br(htmlentities($message, ENT_QUOTES, 'UTF-8'))); if( DB::getInstance()->query("INSERT into conversation (id, id2, title, member1, member2, message, time, read1, read2) VALUES('{$q}', '{(intval($req2->id2)+1)}', '', '{$memberid}', '', '{$message}', '.time().', '', '')") and DB::getInstance()->query("UPDATE conversation SET read'{$user_partic}'='Yes' WHERE id='{$q}' AND id2='1'")); } echo "<h4>"; echo $dn1->title; echo "</h4><br><br>"; echo "<table><col width='150px'><col width='50px'><col width='150px'>"; echo "<tr><th>Member</th><th> </th><th>Message</th></tr>"; foreach ($req2->results() as $dn2) { echo "<tr><td>"; echo $dn2->members.member_first_name; echo $dn2->members.member_last_name; echo " ("; echo $dn2->members.username; echo ") </td><td></td><td>"; echo timeAgo(strtotime($dn2->time)); echo "<br>"; echo $dn2->message; echo "</td></tr>"; } echo "</table>"; } } } ?>However, just to try and find where the error lies, I have tried the following code for my readmessage.php file: <?php require 'core/memberinit.php'; $member = new Member(); include 'timeago.php'; $memberid = $member->data() ->id; if(isset($_GET['q'])) { $q = intval($_GET['q']); echo $q; } ?>Which always returns a "0" reply - which says to me that my files are talking, but that the id isn't being carried across. Anybody got any suggestions? Many thanks for any help offered. Similar TutorialsHi, I'm quite new to PHP and I'd like to know if there's a way for me to use some PHP solution to get data from another PHP file instead of used AJAX. My intention is to have some kind of a loop in one PHP file that'll have a variable that gets the returned data from a different PHP file on every iteration and does something with it. Would be simple enough to do it with Ajax but I can't use it in this instance. Any thoughts? I am having trouble transferring data from provideX ODBC to MySQL using Navicat. So, I am wanting to write a php script that will write all of the data to a text file, then do a MySQL "DATA LOAD INFILE". I am VERY limited as far as the SQL functions that are available to me with the ODBC connection. The table does not have a special unique identifier other than the item number. This table I am pulling from has a little over 100,000 items. How can I get php to process the full 100,000 rows. I thought about getting it to process 5,000 rows sorted by item #> break > pass the last item to the next page > then process the next batch of 5,000 sorted by item # where the item is greater than the item processed on the last page. ?? Jake I have not tested this code yet. I just kind of threw it together. Code: [Select] <?php set_time_limit(900); ini_set('max_execution_time', '999'); $myFile = "item_master.txt"; unlink($myFile); $fp = fopen("item_master.txt", "w"); require("..\inc/data.inc"); if (!$conn) {exit("Connection Failed: " . $conn);} $sql="SELECT ITEM_NUM, DESCRIPTION_1, DESCRIPTION_2, ITEM_CLASS, ALPHA_SORT, STANDARD_PACK, GL_TABLE, PRIMARY_VND_NUM, VENDOR_ITEM_NUM, ACTIVE, ITEM_PRICE_CLS FROM ic_inventry_mast"; $rs=odbc_exec($conn,$sql); if (!$rs) {exit("Error in SQL");} while (odbc_fetch_row($rs)) { $ITEM_NUM=trim(odbc_result($rs,"ITEM_NUM")); $DESCRIPTION_1=trim(odbc_result($rs,"DESCRIPTION_1")); $DESCRIPTION_2=trim(odbc_result($rs,"DESCRIPTION_2")); $ITEM_CLASS=trim(odbc_result($rs,"ITEM_CLASS")); $ALPHA_SORT=trim(odbc_result($rs,"ALPHA_SORT")); $STANDARD_PACK=trim(odbc_result($rs,"STANDARD_PACK")); $GL_TABLE=trim(odbc_result($rs,"GL_TABLE")); $PRIMARY_VND_NUM=trim(odbc_result($rs,"PRIMARY_VND_NUM")); $VENDOR_ITEM_NUM=trim(odbc_result($rs,"VENDOR_ITEM_NUM")); $ACTIVE=trim(odbc_result($rs,"ACTIVE")); $ITEM_PRICE_CLS=trim(odbc_result($rs,"ITEM_PRICE_CLS")); $ITEM_NUM=str_replace('@','',$ITEM_NUM); $DESCRIPTION_1=str_replace('@','',$DESCRIPTION_1); $DESCRIPTION_2=str_replace('@','',$DESCRIPTION_2); $ITEM_CLASS=str_replace('@','',$ITEM_CLASS); $ALPHA_SORT=str_replace('@','',$ALPHA_SORT); $STANDARD_PACK=str_replace('@','',$STANDARD_PACK); $GL_TABLE=str_replace('@','',$GL_TABLE); $PRIMARY_VND_NUM=str_replace('@','',$PRIMARY_VND_NUM); $VENDOR_ITEM_NUM=str_replace('@','',$VENDOR_ITEM_NUM); $ACTIVE=str_replace('@','',$ACTIVE); $ITEM_PRICE_CLS=str_replace('@','',$ITEM_PRICE_CLS); $row="$ITEM_NUM@$DESCRIPTION_1@$DESCRIPTION_2@$ITEM_CLASS@$ALPHA_SORT@$STANDARD_PACK@$GL_TABLE@$PRIMARY_VND_NUM@$VENDOR_ITEM_NUM@$ACTIVE@$ITEM_PRICE_CLS\r\n"; fwrite($fp, $row); } fclose($fp); ?> Hello, I've been trying this for hours now, looking at different examples and trying to change them to work for me, but with no luck... This is what I am trying to do: I have a simple form with: - 1 input field, where I can enter a number - 1 Submit Button When I enter a number into the field and click submit, I want that number to be send to the php file that is in the ajax call, then the script will take that number and run a bunch of queries and then return a new number. I want that new number to be used to call the php script via ajax again, until no number is returned, or something else is returned like the word "done" or something like that, at which point is simply makes an alert or populated a div with a message... The point is, that depending on the number entered it could take up to an hour to complete ALL the queries, so I want the script that is called to only run a fixed amount of queries at a time and then return the number it is currently at (+1), so that it can continue with the next number when it is called again. I would like to use jquery, but could also be any other way, as long as I get this to work. I already have the php script completed that needs to be called by the ajax, it returns a single number when being called. Thank you, vb Hello friends, i need a help i have index.php and response.php and i am try to get data from response.php per once second and i am getting data in script tag. I want to use incoming data in php tag and i will parse the data however i cant do that anyone can help me ? So I have an AJAX call that I'm using to POST 1 variable to a PHP script I have on a separate server. The PHP takes this variable and returns data based off of what the variable is. This works on all browsers except IE9 and below. IE9 returns data but it's an error saying the variable is missing which to me shows that it isn't sending the data. Below I have the AJAX call I'm making:
(function (jQ) { var inviteID = '00000000000'; jQ.ajax({ url: 'www.example.com/test.php', type: 'POST', dataType: 'json', cache: false, data: { classID: inviteID }, error: function (data, status, error) { jQ('.statusField').append('Failu ' + data + status + error); }, success: function (data, status, error) { jQ('.statusField').append('Success: ' + data); } }); })(jQuery); And below I have the PHP script that's being used: <?php //first POST to grab token function runPost($classID) { $postdata = array( 'username' => 'username', 'password' => 'password' ); //open connection $ch = curl_init(); //set the url, POST data curl_setopt($ch, CURLOPT_URL, "https://www.example.com/login"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postdata)); curl_setopt($ch, CURLOPT_USERAGENT, 'example'); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //execute post $result = curl_exec($ch); //close connection curl_close($ch); list($message, $time, $token, $userID) = split(',', $result); list($one, $two, $three, $four, $five) = split('\"', $token); $four = json_encode($four); $four = str_replace('"','',$four); $secondaryPostData = array( 'token' => $four, 'data' => array( 'invitationID' => $classID )); //open connection $chu = curl_init(); //set the url, POST data curl_setopt($chu, CURLOPT_URL, "https://www.example.com/classID"); curl_setopt($chu, CURLOPT_POST, 1); curl_setopt($chu, CURLOPT_POSTFIELDS, json_encode($secondaryPostData)); curl_setopt($chu, CURLOPT_USERAGENT, 'example'); curl_setopt($chu, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); curl_setopt($chu, CURLOPT_RETURNTRANSFER, 1); //execute post $secondResult = curl_exec($chu); //close connection curl_close($chu); return json_encode($secondResult); } //Grab classID from javascript echo runPost(trim($_POST['classID'])); ?> Again, this works fine in everything except IE. I've tried using just $.post and even XDomainRequest() and get the same result. The network console in IE shows that the Request body does have the classID in it, but I'm guessing it's just not sending the data to the PHP script. I don't know if I'm missing something that IE needs to send this to the PHP script but any help with this would be GREATLY appreciated. II am new to jscript and AJAX and have a problem that I need to solve.
I have a form on which I need to input the RGB values of a color that will be used in the next PHP file.
I have choosen a color chooser written in jscript called JS-Color.
There are a number of pre-written scripts for choosing the color, of which I have used the following:
<script type="text/javascript" src="jscolor/jscolor.js"></script> R<input id="red" size="5"> G<input id="grn" size="5"> B<input id="blu" size="5"> - - - H<input id="hue" size="5"> S<input id="sat" size="5"> V<input id="val" size="5"> <p> Choose any color: <input class="color" id="myColor" onchange=" document.getElementById('red').value = this.color.rgb[0]*100 + '%'; document.getElementById('grn').value = this.color.rgb[1]*100 + '%'; document.getElementById('blu').value = this.color.rgb[2]*100 + '%'; document.getElementById('hue').value = this.color.hsv[0]* 60 + '°'; document.getElementById('sat').value = this.color.hsv[1]*100 + '%'; document.getElementById('val').value = this.color.hsv[2]*100 + '%';">I am trying to work out how to use this to get the 3 values that I can post in a form. Looking at the internet, I have found that AJAX is the easiest way to POST from jscript. I have attempted to write some script, but I'm sure I'm way off the mark. Here is my attempt: <!--DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Design by Free CSS Templates http://www.freecsstemplates.org Released for free under a Creative Commons Attribution 2.5 License Name : Yosemite Description: A two-column, fixed-width design with dark color scheme. Version : 1.0 Released : 20091106 --> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="keywords" content="" /> <meta name="description" content="" /> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title></title> <link rel="stylesheet" href="style.css" /> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> </head> <body> <div id="wrapper"><!-- start #wrapper --> <div id="menu"><!-- start #menu --> <ul> <li class="current_page_item"><a href="index.php">Home</a></li> <li><a href="Links.html">Links</a></li> <li><a href="Verse_Menu.html">Verses</a></li> <li><a href="Techniques.html">Techniques</a></li> <li><a href="blog.php">Blog</a></li> <li><a href="Gallery.html">Gallery</a></li> <li><a href="contact.html">Contact</a></li> <li><a href="AboutUs.html">About Us</a></li> <li><a href="Stats_Menu.html">Stats</a></li> </ul> </div><!-- end #menu --> <div id="header"><!-- start #header --> <div id="logo"> <h1><a href="http://www.1066cards4U.co.uk">1066 Cards 4U</a></h1> </div> </div><!-- end #header --> <div id="page"><!-- start #page --> <div id="page-bgtop"><!-- start #page-bgtop --> <div id="page-bgbtm"><!-- start #page-bgbtm --> <div id="content"><!-- start #content --> <h1>Page Title</h1> <script type="text/javscript"> $(function (){ $('#form_id').on('submit', function(e){ e.preventDefault(); $.ajax({ type: "POST", url: "/test_input.php", data: $(this).color.rgb[0]*255, $(this).color.rgb[1]*255, $(this).color.rgb[2]*255, success: function() { alert('success'); } }); }); }); </script> <form method="post" id="form_id"> <script type="text/javascript" src="jscolor/jscolor.js?refresh=adsl"></script> <script type="text/javascript"> jscolor.dir = "jscolor/"; </script> <script type="text/javascript" src="jscolor/jscolor.js"></script> R<input id="red" size="5"> G<input id="grn" size="5"> B<input id="blu" size="5"> H<input id="hue" size="5"> S<input id="sat" size="5"> V<input id="val" size="5"> <p> Choose any color: <input class="color" id="myColor" onchange=" document.getElementById('red').value = this.color.rgb[0]*255; document.getElementById('grn').value = this.color.rgb[1]*255; document.getElementById('blu').value = this.color.rgb[2]*255; document.getElementById('hue').value = this.color.hsv[0]* 60 + '°'; document.getElementById('sat').value = this.color.hsv[1]*100 + '%'; document.getElementById('val').value = this.color.hsv[2]*100 + '%';"> <input type="submit" id="submit" name="submit" value="Send"> </form> <br /><br /><br /><br /> </div><!-- end #content --> <div id="sidebar"><!-- start #sidebar --> <div id="search" ><!-- start #search --> <h2><font color="blue">SITE SEARCH</h2> <script> (function() { var cx = '018330043583532205772:h1v3z6ucuna'; var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true; gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//www.google.com/cse/cse.js?cx=' + cx; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s); })(); </script> <gcse:search></gcse:search> </div><!-- end #search --> <div style="clear: both;"> </div><!-- start and end #style --> </div><!-- end #sidebar --> <div style="clear: both;"> </div> </div><!-- end #page-bgbtm --> </div><!-- end #page-bgtop --> </div><!-- end #page --> </div><!-- end #wrapper --> <div id="footer"><!-- start #footer --> <p>Copyright (c) 2008 Sitename.com. All rights reserved. Design by <a href="http://www.freecsstemplates.org/" rel="nofollow">FreeCSSTemplates.org</a>.</p> <p>Copyright (c) 2013 - 1066 Cards 4U - content and design</p> <p><a href="sitemap.html"><font color="blue">Sitemap</font></a></p> </div><!-- end #footer --> </body> </html>Which is the variable that I can use? Is it this.color.rgb[0]*255; for example? I have created a variable $red etc, but it does not even open the test_input.php file. None of the examples I have seen on the internet relate to the task I am trying to figure out. Can anyone advise me? Hi Everyone,
I am struggling with a pdf.
On our server I get the pdf as a byte array from the database, which I then build up in a StreamingOutput object and return as a pdf file. This is done using java using JAX-RS service.
Now when I open the path/link in my browser(chrome/firefox) the pdf opens in the browser. So this means my backend is working.
On my webapp I want to use $.ajax to download the pdf and view it in an Iframe or embed it in an <embed> or <object> tag. I need to do this as the service call is actually under username and password, and we do not create a session between the browser and the server - there is a long explanation for this.
I saw the option to use http://[username]:[password]@www.myserver.com/... but this was dropped by most browsers. This is why I am trying ajax.
Now in my ajax call I do receive the pdf in the success function as:
%PDF-1.4....This open the browser's pdfviewer correctly and every thing, but the pdf only returns blank pages. The Base64 is a java object that I found on the internet. But I have tried it without the base64 but still now luck. Here is my success function from my ajax call. success: function(data, status, xhr) { var pdfText = Base64.encode(xhr.responseText); var url = "data:application/pdf;base64," + escape(pdfText); var html = '<embed width=100% height=600' + ' type="application/pdf"' + ' src="' + url + '">' + '</embed>'; $("div.inner").html(""); $("div.inner").append(html); }, I am retrieving Google Books info in JSON format and displaying it inside a div. I would like to send the contents of this div (name, title, description) to my database using Ajax.
Currently only the ISBN field sends because I have it declared as a variable. However my question is, how do I send the other fields (name, title, author). How do I declare these also, I'm not sure what format they need to be in etc.
My JS
$(document).ready(function() { $('#submit').click(function(ev) { ev.preventDefault(); var isbn = $('#isbn_search').val(); //get isbn direct from input var url='https://www.googleapis.com/books/v1/volumes?q='+isbn; $.getJSON(url,function(data){ $.each(data.items, function(entryIndex, entry){ var html = '<div class="results well">'; html += '<h3>' + entry.volumeInfo.title + '</h3>'; html += '<div class="author">' + entry.volumeInfo.authors + '</div>'; html += '<div class="description">' + entry.volumeInfo.description + '</div>'; }); }); }); });My Ajax; $.ajax({ type: 'POST', url: 'addIsbnScript.php', data: { 'isbn' : isbn, 'title' : title 'subtitle' : subtitle, 'authors' : authors, 'description' : description }, success: function () { $.growl({ message: " Record added" }); } });Note, if i manually set the vars like below they all do successfully send to my database, so I know my query is working ok var title = "some text", var author = "some text", Var description = "some text"Thanks in advance for any help, newbie here (incase it wasn't obvious!). J //my controller <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use DB; class homeController extends Controller { public function index() { $employee = DB::table('employee')->orderBy('id','desc')->get(); $department = DB::table('department')->orderBy('id','desc')->get(); return view('index', ['employee' => $employee , 'department' => $department]); } } //my routes Route::get('index','homeController@index'); //my view using blade temmplating engine @foreach($employee as $emp) <div class="employee"> <b>{{ $emp->name }} </b> <a href="employee/{{ $emp->id }}"> <p class="intro">{{ substr($emp->intro ,0, 50) }}...</p> </a> </div> @endforeach @foreach($department as $dep) <div class="department"> <b>{{ $dep->name }} </b> <a href="department/{{ $dep->id }}"> <p class="desc">{{ substr($dep->description ,0, 100) }}...</p> </a> </div> @endforeach I want to fetch using ajax, how can i do it, teach/help me The Business Logic is: If product is already purchased, upgrade the product I have a customer input form to get information, along with some fields which should be auto populated based on what the customer chooses. Screen Shot:
https://i.stack.imgur.com/Fkyim.png When we come to the shipping cost I am getting it from Magento, using a PHP function. form :
https://paste.ofcode.org/335FVUhpBGbazQtrcPLVQUs sp_cost.php
https://paste.ofcode.org/hvG2sP9TW9CEPgMMuKXNuw $results = getShippingEstimate('14419','1',"IN","642001"); How can i get country and zipcode from the user entry and return the shipping cost?
Edited April 26, 2019 by aveeva Hello everyone, I begin in everything web related but I have been programming for years. I tried to code something simple : small Mysql DB (works fine) and to begin a search bar to browse data. I adapted a code that I understood provided here : https://www.cloudways.com/blog/live-search-php-mysql-ajax/. Base principle is simple : as you type in your query, it will pass the text to script.js that will forward this request to ajax.php file. In the ajax.php, a javascript function named “fill()” will pass the fetched results. This function will also display the result(s) into “display” div in the “search.php” file. The problem is that when I type anything it displays, below the search bar, at the moment I type a character: Quote
'; //Fetching result from database. while ($Result = MySQLi_fetch_array($ExecQuery)) { ?> ")'>
instead of the actual answer from my database (no error in the browser console). I tested the SQL query + the user I provide and everything seems fine. Any clue what could be the root cause ? I strongly suspect a mistake in the code as I already corrected one (script.js instead of scripts.js) but I really cannot figure out where. Thanks in advance,
problematic code (ajax.php):
<?php //Including Database configuration file. include "db.php"; //Getting value of "search" variable from "script.js". if (isset($_POST['search'])) { //Search box value assigning to $Name variable. $Name = $_POST['search']; //Search query. $Query = "SELECT Name FROM search WHERE Name LIKE '%$Name%' LIMIT 5"; //Query execution $ExecQuery = MySQLi_query($con, $Query); //Creating unordered list to display result. echo ' <ul> '; //Fetching result from database. while ($Result = MySQLi_fetch_array($ExecQuery)) { ?> <!-- Creating unordered list items. Calling javascript function named as "fill" found in "script.js" file. By passing fetched result as parameter. --> <li onclick='fill("<?php echo $Result['Name']; ?>")'> <a> <!-- Assigning searched result in "Search box" in "search.php" file. --> <?php echo $Result['Name']; ?> </li></a> <!-- Below php code is just for closing parenthesis. Don't be confused. --> <?php }} ?> </ul>
here my sample code <form> <input id="query" type="text" name="query" placeholder="search here..." autocomplete="off"> <button type="submit" value="query" >search</button> <div class="sugbx"></div> </form> //php code, assume we already run a whole php code ...... <ul class="list-group list-unstyled" style="cursor:pointer; color: #191919; position:absolute; top:12px;"> <?php foreach($query as $movie) { ?> <li class="list-group-item" onClick="searchValue('<?php echo $movie["movie_name"]; ?>'),;"><?php echo $movie["movie_name"]; ?></li> <?php } ?> </ul> <?php } ?> //ajax here $('#search').keyup(function(){ $.ajax({ type: 'GET', url: 'phpcode.php', data:'query='+$(this).val(), success: function(data){ $('.sugbx').show(); $('.sugbx').html(data); } }); }); function searchValue(val) { $('#query').val(val); $('.sugbx').hide(); } //ajax the input accept the value only after selecting one of the listed value on the suggesstion box and then i have to click the submit button the problem is, how to submit the value accepted when a list is clicked I had this working, but when I try and get fancy and use AJAX the data doesn't display. I think this is a PHP problem though. My code for the select form including AJAX code Code: [Select] <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-GB"> <head> <title>AJAX Example</title> <link rel="stylesheet" type="text/css" href="Form.css" media="screen" /> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("tr:odd").addClass("odd"); }); </script> <script type="text/javascript"> function showPlayers(str) { var xmlhttp; if (str=="") { document.getElementById("DataDisplay").innerHTML=""; return; } if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); else {// code for IE6, IE5 } xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("DataDisplay").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","Query.php?category_id="+str,true); xmlhttp.send(); } </script> </head> <body> <h1">AJAX Example</h1> <?php #connect to MySQL $conn = @mysql_connect( "localhost","username","pw") or die( "You did not successfully connect to the DB!" ); #select the specified database $rs = @mysql_SELECT_DB ("MyDB", $conn ) or die ( "Error connecting to the database test!"); ?> <form name="sports" id="sports"> <legend>Select a Sport</legend> <select name="category_id" onChange="showPlayers(this.value)"> <option value="">Select a Sport:</option> <?php $sql = "SELECT category_id, sport FROM sports ". "ORDER BY sport"; $rs = mysql_query($sql); while($row = mysql_fetch_array($rs)) { echo "<option value=\"".$row['category_id']."\">".$row['sport']."</option>\n "; } ?> </select> </form> <br /> <div id="DataDisplay"></div> </body> </html> Query.php <?php #get the id $id=$_GET["category_id"]; #connect to MySQL $conn = @mysql_connect( "localhost","username","pw") or die( "Error connecting to MySQL" ); #select the specified database $rs = @mysql_SELECT_DB ("MyDB", $conn ) or die ( "Could not select that particular Database"); #$id="category_id"; #create the query $sql ="SELECT * FROM sports INNER JOIN players ON sports.category_id = players.category_id WHERE players.category_id = '".$id."'"; echo $sql; #execute the query $rs = mysql_query($sql,$conn); #start the table code echo "<table><tr><th>Category ID</th><th>Sport</th><th>First Name</th><th>Last Name</th></tr>"; #write the data while( $row = mysql_fetch_array( $rs) ) { echo ("<tr><td>"); echo ($row["category_id"] ); echo ("</td>"); echo ("<td>"); echo ($row["sport"]); echo ("</td>"); echo ("<td>"); echo ($row["first_name"]); echo ("</td>"); echo ("<td>"); echo ($row["last_name"]); echo ("</td></tr>"); } echo "</tr></table>"; mysql_close($conn); ?> I think the problem is either with this part in the AJAX Code: [Select] xmlhttp.open("GET","Query.php?category_id="+str,true); or most likely in my Query.php code when I wasn't using AJAX and using POST it worked fine, but adding the AJAX stuff and GET it doesn't work. When I echo out the SQL the result is Code: [Select] SELECT * FROM sports INNER JOIN players ON sports.category_id = players.category_id WHERE players.category_id = '' so the category_id is not being selected properly and that is the primary key/foreign key in the MySQL table which connects the JOIN. I am trying to transfer some data from one Servers DB to a new server with cleaner tables. When i run my code the transfer seems to be working but the script just keeps running and never give the desired responses. First it collects the data (for testing i limited results by 1) then checks to see if the app is in the new DB, if so then it updates its contents. If not then it adds it. It seems to work for both updates and inserts but i must still be missing something. Thanks for any help. Code: [Select] <?php function getTime() { $a = explode (' ',microtime()); return(double) $a[0] + $a[1]; } $Start = getTime(); ###################################################################### $connection1 = mysql_connect('','',''); if (!$connection1){ die('Could not connect: ' . mysql_error()); } $db_selected1 = mysql_select_db('', $connection1); if (!$db_selected1) { die ('Could not connect: ' . mysql_error()); } //if(isset($_REQUEST['appcounting'])){ //$appcounting = ($_REQUEST['appcounting'] + 1); //$appnext = 1; //$appgroup = $appcounting + $appnext; //echo "Checked app $appcounting-$appgroup.<br />\n"; //} //else{ //$appcounting = 0; //$appnext = 1; //} $count = 0; $appinfo = mysql_query("SELECT app_id, ipayAppID, Status, MID, BusinessContactName, BusinessContactPhone, BusinessEmail, BusinessWebsite, BusinessName, BusinessAddress, BusinessCity, BusinessState, BusinessZip, BusinessTaxID, BusinessMailingAddress, BusinessMailingCity, BusinessMailingState, BusinessMailingZip, agent_id, CreateTime, StatusChangeTime, ReceiveTime, ReviewTime, PayrollApprovalTime, PayrollPayTime, ApproveTime, DeclineTime, CancelTime, CancelDesc, PendingTime, PendingDesc FROM app ORDER BY app_id DESC LIMIT 0, 1") or die('SELECT ' . mysql_error()); while($row = mysql_fetch_array($appinfo)) { $app_id[] = $row['app_id']; $ipayAppID[] = $row['ipayAppID']; $Status[] = $row['Status']; $MID[] = $row['MID']; $BusinessContactName[] = $row['BusinessContactName']; $BusinessContactPhone[] = $row['BusinessContactPhone']; $BusinessEmail[] = $row['BusinessEmail']; $BusinessWebsite[] = $row['BusinessWebsite']; $BusinessName[] = $row['BusinessName']; $BusinessAddress[] = $row['BusinessAddress']; $BusinessCity[] = $row['BusinessCity']; $BusinessState[] = $row['BusinessState']; $BusinessZip[] = $row['BusinessZip']; $BusinessTaxID[] = $row['BusinessTaxID']; $BusinessMailingAddress[] = $row['BusinessMailingAddress']; $BusinessMailingCity[] = $row['BusinessMailingCity']; $BusinessMailingState[] = $row['BusinessMailingState']; $BusinessMailingZip[] = $row['BusinessMailingZip']; $agent_id[] = $row['agent_id']; $CreateTime[] = $row['CreateTime']; $StatusChangeTime[] = $row['StatusChangeTime']; $ReceiveTime[] = $row['ReceiveTime']; $ReviewTime[] = $row['ReviewTime']; $PayrollApprovalTime[] = $row['PayrollApprovalTime']; $PayrollPayTime[] = $row['PayrollPayTime']; $ApproveTime[] = $row['ApproveTime']; $DeclineTime[] = $row['DeclineTime']; $CancelTime[] = $row['CancelTime']; $CancelDesc[] = $row['CancelDesc']; $PendingTime[] = $row['PendingTime']; $PendingDesc[] = $row['PendingDesc']; $count++; } mysql_close($connection1); ###################################################################### $connection2 = mysql_connect('','',''); if (!$connection2){ die('Could not connect: ' . mysql_error()); } $db_selected2 = mysql_select_db('', $connection2); if (!$db_selected2){ die ('Could not connect: ' . mysql_error()); } $number = 0; $count_insert = 0; while($number <= $count) { $findapp = $app_id[$number]; $one = mysql_query("SELECT AppID FROM Apps WHERE `AppID`='$findapp'") or die('FIND ' . mysql_error()); $num_rows = mysql_num_rows($one); if ($num_rows == 1){ $myBusinessContactName = $BusinessContactName[$number]; $myBusinessContactName = addslashes($myBusinessContactName); $myBusinessName = $BusinessName[$number]; $myBusinessName = addslashes($myBusinessName); $myBusinessCity = $BusinessCity[$number]; $myBusinessCity = addslashes($myBusinessCity); $myBusinessMailingCity = $BusinessMailingCity[$number]; $myBusinessMailingCity = addslashes($myBusinessMailingCity); $myPendingDesc = $PendingDesc[$number]; $myPendingDesc = addslashes($myPendingDesc); $myCancelDesc = $CancelDesc[$number]; $myCancelDesc = addslashes($myCancelDesc); $myBusinessAddress = $BusinessAddress[$number]; $myBusinessAddress = addslashes($myBusinessAddress); $myBusinessMailingAddress = $BusinessMailingAddress[$number]; $myBusinessMailingAddress = addslashes($myBusinessMailingAddress); mysql_query("UPDATE Apps SET `IpayAppID`='$ipayAppID[$number]', `Status`='$Status[$number]', `MID`='$MID[$number]', `ContactName`='$myBusinessContactName', `ContactPhone`='$BusinessContactPhone[$number]', `ContactEmail`='$BusinessEmail[$number]', `ContactWebsite`='$BusinessWebsite[$number]', `DBA`='$myBusinessName', `BusinessAddress`='$myBusinessAddress', `BusinessCity`='$myBusinessCity', `BusinessState`='$BusinessState[$number]', `BusinessZip`='$BusinessZip[$number]', `BusinessTaxID`='$BusinessTaxID[$number]', `MailingAddress`='$myBusinessMailingAddress', `MailingCity`='$myBusinessMailingCity', `MailingState`='$BusinessMailingState[$number]', `MailingZip`='$BusinessMailingZip[$number]', `Agent1ID`='$agent_id[$number]', `CreateTime`='$CreateTime[$number]', `StatusChangeTime`='$StatusChangeTime[$number]', `ReceivedTime`='$ReceiveTime[$number]', `ReviewedTime`='$ReviewTime[$number]', `PayrollApprovalTime`='$PayrollApprovalTime[$number]', `PayrollPayTime`='$PayrollPayTime[$number]', `ApproveTime`='$ApproveTime[$number]', `DeclineTime`='$DeclineTime[$number]', `CancelTime`='$CancelTime[$number]', `CancelDesc`='$myCancelDesc', `PendingTime`='$PendingTime[$number]', `PendingDesc`='$myPendingDesc' WHERE AppID='$app_id[$number]'") or die('UPDATE ' . mysql_error()); $number++; } elseif(isset($app_id[$number]) && isset($BusinessName[$number])){ echo "Transfered App $findapp<br />\n"; $myBusinessContactName = $BusinessContactName[$number]; $myBusinessContactName = addslashes($myBusinessContactName); $myBusinessName = $BusinessName[$number]; $myBusinessName = addslashes($myBusinessName); $myBusinessCity = $BusinessCity[$number]; $myBusinessCity = addslashes($myBusinessCity); $myBusinessMailingCity = $BusinessMailingCity[$number]; $myBusinessMailingCity = addslashes($myBusinessMailingCity); $myPendingDesc = $PendingDesc[$number]; $myPendingDesc = addslashes($myPendingDesc); $myCancelDesc = $CancelDesc[$number]; $myCancelDesc = addslashes($myCancelDesc); $myBusinessAddress = $BusinessAddress[$number]; $myBusinessAddress = addslashes($myBusinessAddress); $myBusinessMailingAddress = $BusinessMailingAddress[$number]; $myBusinessMailingAddress = addslashes($myBusinessMailingAddress); mysql_query("INSERT INTO Apps (AppID, IpayAppID, Status, MID, ContactName, ContactPhone, ContactEmail, ContactWebsite, DBA, BusinessAddress, BusinessCity, BusinessState, BusinessZip, BusinessTaxID, MailingAddress, MailingCity, MailingState, MailingZip, Agent1ID, CreateTime, StatusChangeTime, ReceivedTime, ReviewedTime, PayrollApprovalTime, PayrollPayTime, ApproveTime, DeclineTime, CancelTime, CancelDesc, PendingTime, PendingDesc) VALUES ('$app_id[$number]', '$ipayAppID[$number]', '$Status[$number]', '$MID[$number]', '$myBusinessContactName', '$BusinessContactPhone[$number]', '$BusinessEmail[$number]', '$BusinessWebsite[$number]', '$myBusinessName', '$myBusinessAddress', '$myBusinessCity', '$BusinessState[$number]', '$BusinessZip[$number]', '$BusinessTaxID[$number]', '$myBusinessMailingAddress', '$myBusinessMailingCity', '$BusinessMailingState[$number]', '$BusinessMailingZip[$number]', '$agent_id[$number]', '$CreateTime[$number]', '$StatusChangeTime[$number]', '$ReceiveTime[$number]', '$ReviewTime[$number]', '$PayrollApprovalTime[$number]', '$PayrollPayTime[$number]', '$ApproveTime[$number]', '$DeclineTime[$number]', '$CancelTime[$number]', '$myCancelDesc', '$PendingTime[$number]', '$myPendingDesc')") or die('INSERT ' . mysql_error()); $number++; $count_insert++; } } if($count_insert == 0){ echo "All apps have been found.<br />\n"; exit; } mysql_close($connection2); ###################################################################### $End = getTime(); echo "Time taken = ".number_format(($End - $Start),2)." secs<br />\n"; //header('Refresh: 60; url=transfer_apps.php?appcounting=$appcounting'); ?> Hi there, How to work out?? We have our web page where we enter our client information.. Part A Than same information we have to enter third party web page. Part B How can we transfer same information fr our web page to third party web page like .. Input in text field instead of type each box… Please if someone can guide us or any link to follow… Hi: How do I transfer an ID to a 3rd page. Meaning: Events.php Code: [Select] ... <a href="eventDetails.php?calID=<?=$row['calID'];?>"><?=$row['calName'];?></a> ... Goes to eventDetails.php, and transfer/displays the calID properly: Code: [Select] <?php include('include/myConn.php'); include('include/myNav.php'); $calID = $_REQUEST['calID']; $query=mysql_query("select * from calTbl where calID = $calID") or die("Could not get data from db: ".mysql_error()); while($result=mysql_fetch_array($query)) { $calName=$result['calName']; $calDesc=$result['calDesc']; $calDate=$result['calDate']; $calID=$result['calID']; } ?> ... <a href="?calID=<?php echo $calID; ?>" onclick="openSesame();" class="myBold">Print</a> ... However, when I click the "Print" link (I see it is properly writing the calID on the link - like eventDetailsPrint.php?calID=7. The "eventDetailsPrint.php" is written from a JavaScript file as a new window function), it is coming up blank. Code: [Select] <?php include('include/myConn.php'); //$calID = $_REQUEST['calID']; //$calID = $_SERVER['calID']; //$calID = echo $_GET['calID']; echo $_POST["calID"]; $query=mysql_query("select * from calTbl where calID = calID") or die("Could not get data from db: ".mysql_error()); while($result=mysql_fetch_array($query)) { $calName=$result['calName']; $calDesc=$result['calDesc']; $calDate=$result['calDate']; $calID=$result['calID']; } ?> ... <?php echo $calID; ?> ... What is the trick to pass an ID from page to page to page? Thanks. I need my page to download the file (in a link form) to my server that the user gives using the input text field . I tried searching but didn't find. Please help me with this. If its a long thing please give me the php 'terms' that i need to get familiar with. I know that basics. I've created a pretty decent upload script. But that one has input type="file" so i used $_FILES. but in this case $_FILES is not working! Please help! Right now I redirect to index page after I delete a record. However I am looking to make it so that I can delete a record without redirecting the page. I know this can be accomplised using Ajax. I have spent countless hours before trying to make it work, but it did not work.
So here is a basic setup I created. Can you please update it with ajax code so that I can see how it's done properly?
<!DOCTYPE HTML> <html lang="en"> <head> <meta charset="UTF-8"> <title>Home Page</title> </head> <body> <div class="record" > <a href="record.php?id=<?php echo $record_id ?>"><?php echo $record_name; ?></a> <div class="delete-record"> <a href="delete.php">Delete Record</a> </div> </div> </body> </html> Edited by man5, 18 August 2014 - 08:55 PM. Hi all I am updating a old system to transfer files, and implementing download data as zip. My client want to move to a new ISP due to problems with the current ISP The old system run "5.5.38-1~dotdeb+7.1" (not sure how to read it, why plus seven?), and the new systenm "7.2.31-pl0-zoneos". The code, same on both can zip and unzip. However the old system causes me problems as: 1) the new system can handle non English characters, the old cannot, eg replacing Ü with _ and ä with õ. How can I get around this?
2) the old system can make a zip and I can download it. However on win7 and some old zip stuff there I can open it.
So my problems is, some old system running "5.5.38-1~dotdeb+7.1" cannot handle non-English characters and the zip is not valid. Does anyone have any idea how to handle the charcaters, and maybe - why the zip is in an old format not readable by newer systems? |