Sign in to follow this  
hatshepsut

Данные с сервера на клиент с Mysql на html

Recommended Posts

Здравствуйте.
Есть база данных: username/password/fname/surname/birthday в 'accounts'

Решил сделать паспорт команда: /passport

Паспорт открывается в package-client файл passport/index.html 

там есть строка:  Имя персонажа: <input type="text" readonly class="form-control-plaintext" id="passportName"

Вопрос: Как вывести данные с базы данных, а точнее fname с 'accounts' в html файл. 

Знаю что фигурирует код: document.getElementById('passportName').value = Имя персонажа. 

Объясните пожалуйста как с сервера передать данные fname с accounts желательно код на сервере и код на клиенте.


Заранее спасибо!

p.s. Делаю все через Node.js 

 

 

 

Edited by hatshepsut

Share this post


Link to post
Share on other sites

Привет!

Client-side, HTML

<script>
//Создаем функцию, которая будет изменять элементы пасспорта и показывать там нужные нам значения.
function updateData(fname, surname, birthday) {
 //Получаем элементы DOM для частей пасспорта
  let name = document.getElementById("passportName")
  /*Тоже самое для дня рождения и всего остального, если надо
Далее, для <textbox> и <input> используем node.value, чтобы задать значение внутри, если же ты используешь абзац или блок для отображения текста, то используем node.innerHTML
 innerHTML - содержание HTML элемента, value - значение в input или textbox
*/
//Для твоего случая
  name.value = fname + " " + surname // Ставим в textbox имя + фамилия, с пробелом.
  }
</script>

Client-side 

// Добавляем событие для получение информации о паспорте и отображения его
mp.events.add("showPassport", (fname, surname, birthday)=> {
let passportBrowser = mp.browsers.new(/*Создашь здесь браузер*/)
//Как только браузер загрузится, вызываем функцию, которая выставляет наши данные в HTML.
mp.events.add('browserDomReady', (browser) => {
if(browser === passportBrowser) {
 browser.execute(`updateData(${fname},${surname}, ${birthday} )`) // Эта строка вызывает JavaScript код в браузере.
}
});
})

Server-side

//Добавляем команду
mp.events.addCommand("passport", (player)=> {
/*
Здесь пилишь запрос в MySQL и записываешь в переменную fname имя, surname фамилию, в birthday - день рождения
*/
 //Вызываем наше событие на клиенте и передаем ему значения из БД.
  player.call("showPassport", [fname, surname, birthday])
})

 

Edited by Hanvod

Share this post


Link to post
Share on other sites
1 час назад, Hanvod сказал:

Привет!

Client-side, HTML

<script>
//Создаем функцию, которая будет изменять элементы пасспорта и показывать там нужные нам значения.
function updateData(fname, surname, birthday) {
 //Получаем элементы DOM для частей пасспорта
  let name = document.getElementById("passportName")
  /*Тоже самое для дня рождения и всего остального, если надо
Далее, для <textbox> и <input> используем node.value, чтобы задать значение внутри, если же ты используешь абзац или блок для отображения текста, то используем node.innerHTML
 innerHTML - содержание HTML элемента, value - значение в input или textbox
*/
//Для твоего случая
  name.value = fname + " " + surname // Ставим в textbox имя + фамилия, с пробелом.
  }
</script>

Client-side 

// Добавляем событие для получение информации о паспорте и отображения его
mp.events.add("showPassport", (fname, surname, birthday)=> {
let passportBrowser = mp.browsers.new(/*Создашь здесь браузер*/)
//Как только браузер загрузится, вызываем функцию, которая выставляет наши данные в HTML.
mp.events.add('browserDomReady', (browser) => {
if(browser === passportBrowser) {
 browser.execute(`updateData(${fname},${surname}, ${birthday} )`) // Эта строка вызывает JavaScript код в браузере.
}
});
})

Server-side

//Добавляем команду
mp.events.addCommand("passport", (player)=> {
/*
Здесь пилишь запрос в MySQL и записываешь в переменную fname имя, surname фамилию, в birthday - день рождения
*/
 //Вызываем наше событие на клиенте и передаем ему значения из БД.
  player.call("showPassport", [fname, surname, birthday])
})

 

 

Привет! Вот у меня что получилось, паспорт не открывается. 
Команда на сервере: 

mp.events.addCommand("pass", (player, fname, surname, birthday)=> {
        gm.mysql.handle.query('SELECT fname, surname, birthday FROM `accounts` WHERE `username` = ?', [fname, surname, birthday, player.name]);
        player.call("showPassport", [fname, surname, birthday]);

});

Вот то что в клиенте:

mp.events.add("showPassport", (fname, surname, birthday)=> {
    let passportBrowser = mp.browsers.new('package://passport/index.html');
    mp.gui.cursor.show(true, true);
    mp.events.add('browserDomReady', (browser) => {
        if(browser === passportBrowser) {
            browser.execute(`updateData(${fname},${surname}, ${birthday} )`) 
        }
    });
});

Не открывается паспорт и ничего не происходит.

Edited by hatshepsut

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.