Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wysyłaj dane z javascriptu do bazy mysql

JavaScript, jak zdefiniowano w Twoim pytaniu, nie może bezpośrednio współpracować z MySql. Dzieje się tak, ponieważ nie działa na tym samym komputerze.

JavaScript działa po stronie klienta (w przeglądarce), a bazy danych zwykle istnieją po stronie serwera. Aby wykonać zapytanie, prawdopodobnie będziesz musiał użyć pośredniego języka po stronie serwera (takiego jak PHP, Java, .Net lub stosu JavaScript po stronie serwera, takiego jak Node.js).

Oto samouczek, jak napisać kod, który połączy PHP, JavaScript i MySql, z kodem działającym zarówno w przeglądarce, jak i na serwerze:

http://www.w3schools.com/php/php_ajax_database.asp

A oto kod z tej strony. Nie pasuje dokładnie do Twojego scenariusza (wykonuje zapytanie i nie przechowuje danych w bazie danych), ale może pomóc w zrozumieniu typów interakcji, których będziesz potrzebować, aby to zadziałało.

W szczególności zwróć uwagę na te fragmenty kodu z tego artykułu.

Bity JavaScriptu:

xmlhttp.open("GET","getuser.php?q="+str,true);
xmlhttp.send();

Bity kodu PHP:

mysql_select_db("ajax_demo", $con);
$result = mysql_query($sql);
// ...
$row = mysql_fetch_array($result)
mysql_close($con);

Ponadto, gdy zrozumiesz, jak działa ten rodzaj kodu, sugeruję, abyś użył biblioteki JavaScript jQuery do wykonywania wywołań AJAX . Jest znacznie czystszy i łatwiejszy w obsłudze niż wbudowana obsługa AJAX i nie będziesz musiał pisać kodu specyficznego dla przeglądarki, ponieważ jQuery ma wbudowaną obsługę wielu przeglądarek. Oto strona dla dokumentacja jQuery AJAX API .

Kod z artykułu

Kod HTML/Javascript:

<html>
<head>
<script type="text/javascript">
function showUser(str)
{
if (str=="")
  {
  document.getElementById("txtHint").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("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getuser.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>

<form>
<select name="users" onchange="showUser(this.value)">
<option value="">Select a person:</option>
<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>
<br />
<div id="txtHint"><b>Person info will be listed here.</b></div>

</body>
</html>

Kod PHP:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie Mysql używające where i group by

  2. MySQL - Wyszukaj dokładne słowo z ciągu znaków

  3. Połącz się z mysql w kontenerze docker z hosta

  4. Jak obciąć tabelę z ograniczeniami klucza obcego?

  5. Wstaw wartość dynamicznego pola wyboru w bazie danych Mysql i pokaż wiadomość o przesłaniu danych