2015-05-30 2 views
-3

Я использую javascript, чтобы получить кучу значений из Riot API, однако я хочу сохранить их в своей собственной базе данных, используя php. Например, я пытаюсь сохранить gameID, и это то, что я пытаюсь сделать прямо сейчас.Как использовать php внутри javascript?

 <?php 
     $insrt = "INSERT INTO game (gameId) 
     VALUES (".<script>b.gameId</script>.")"; 
     mysqli_query($dbc, $insrt); 
     ?> 

Я уверен, что я даже не близкий к правилу, но я не уверен, как это сделать.

+1

Вы не можете вставлять переменные JavaScript в PHP. Эти два языка работают в разное время в разных местах. Вам нужен звонок AJAX. –

+0

Ваши вещи на JavaScript происходят на клиентском компьютере где-то, пока PHP будет запущен на вашем сайте. Как-то вам нужно будет сделать код JavaScript «разговаривать» с сервером. В старые времена это было сделано, отправив

. В настоящее время вы, вероятно, используете какую-либо форму Ajax (асинхронный HTTP). – cars10m

ответ

2

Вам нужно использовать другой подход. Вы можете сделать ajax-вызов скрипта php, чтобы сделать это за вас. Но инициатором будет javascript со стороны клиента. Использование JQuery (дайте мне знать, если вы не можете), вы можете сделать

$.ajax({url: "insert_game_id.php", data: {gameId :b.gameId} }); 

и ваш PHP скрипт

<?php 
     $gameId = $_POST['gameId']; 
     $insrt = "INSERT INTO game (gameId) 
     VALUES ($gameId)"; 
     mysqli_query($dbc, $insrt); 
?> 

См jQuery Ajax POST example with PHP

+0

И не забудьте извлечь '$ gameId' из супер-глобального' $ _POST' в ваш PHP-скрипт ... – cars10m

+0

@ cars10, woh, good point. Спасибо за напоминание – AmmarCSE

+0

Итак, если бы я хотел сделать обобщенную версию этого кода, чтобы передать его другим вещам, таким как имена игроков, могу ли я передать имя переменной в моей базе данных, а также значение переменной через ajax ? Что-то вроде этого: data: {gameId: b.gameId, dbname: gameid} – ghadams

Смежные вопросы