Bagaimana untuk melaksanakan sistem pengundian mudah menggunakan MySQL dan Ruby

WBOY
Lepaskan: 2023-09-20 12:37:51
asal
1091 orang telah melayarinya

Bagaimana untuk melaksanakan sistem pengundian mudah menggunakan MySQL dan Ruby

Cara melaksanakan sistem pengundian mudah menggunakan MySQL dan Ruby

Sistem pengundian ialah aplikasi dalam talian yang biasa digunakan untuk mengumpul pendapat pengguna tentang sesuatu isu atau topik. Dalam artikel ini, kami akan memperkenalkan cara menggunakan pangkalan data MySQL dan bahasa pengaturcaraan Ruby untuk melaksanakan sistem pengundian yang mudah.

Pertama, kita perlu menyediakan persekitaran. Pastikan anda telah memasang pangkalan data MySQL dan mempunyai persekitaran pengaturcaraan Ruby. Jika ia belum dipasang, anda boleh memuat turunnya dari laman web rasmi dan ikut arahan untuk memasangnya.

Seterusnya, kita perlu mencipta pangkalan data. Buka terminal MySQL atau gunakan alat antara muka grafik (seperti PhpMyAdmin) untuk mencipta pangkalan data kosong bernama "voting_system". Buat jadual bernama "undi" di bawah pangkalan data ini untuk menyimpan maklumat pengundian. Jadual hendaklah mengandungi medan berikut:

  • id: jenis integer yang meningkat secara automatik sebagai kunci utama
  • soalan: jenis teks soalan pengundian
  • pilihan1: jenis teks bagi pilihan pertama
  • pilihan2: jenis teks pilihan kedua
  • option1_votes: Bilangan undian untuk pilihan pertama, jenis integer, lalai ialah 0
  • option2_votes: Bilangan undian untuk pilihan kedua, jenis integer, lalai ialah 0

Jalankan yang berikut Kenyataan SQL dalam MySQL untuk mencipta jadual:

CREATE TABLE votes (
  id INT PRIMARY KEY AUTO_INCREMENT,
  question TEXT,
  option1 TEXT,
  option2 TEXT,
  option1_votes INT DEFAULT 0,
  option2_votes INT DEFAULT 0
);
Salin selepas log masuk

Seterusnya, mari gunakan Ruby untuk menyambung ke pangkalan data dan melaksanakan fungsi sistem pengundian. Pertama, kita perlu memasang permata pemacu MySQL Ruby. Jalankan arahan berikut dalam baris arahan untuk memasang:

gem install mysql2
Salin selepas log masuk

Kemudian, cipta fail Ruby, seperti "voting_system.rb", dan gunakan kod berikut untuk menyambung ke pangkalan data MySQL:

require 'mysql2'

# 创建数据库连接
client = Mysql2::Client.new(:host => "localhost", :username => "root", :password => "your-password", :database => "voting_system")

# 添加投票
def add_vote(question, option1, option2)
  query = "INSERT INTO votes (question, option1, option2) VALUES ('#{question}', '#{option1}', '#{option2}')"
  client.query(query)
  puts "投票问题:#{question},选项1:#{option1},选项2:#{option2},已添加"
end

# 获取投票信息
def get_votes
  query = "SELECT * FROM votes"
  result = client.query(query)
  result.each do |row|
    puts "投票ID: #{row['id']}"
    puts "问题: #{row['question']}"
    puts "选项1: #{row['option1']}"
    puts "选项1票数: #{row['option1_votes']}"
    puts "选项2: #{row['option2']}"
    puts "选项2票数: #{row['option2_votes']}"
    puts "
"
  end
end

# 投票
def vote(vote_id, option)
  query = "UPDATE votes SET #{option}_votes = #{option}_votes + 1 WHERE id = #{vote_id}"
  client.query(query)
  puts "投票ID:#{vote_id},选项:#{option},已记录"
end

# 示例代码
add_vote("你喜欢吃水果吗?", "喜欢", "不喜欢")
get_votes
vote(1, "option1")
get_votes
Salin selepas log masuk

Dalam kod contoh di atas, kami telah menentukan beberapa kaedah untuk melaksanakan fungsi sistem pengundian. Kaedah "add_vote" digunakan untuk menambah soalan undian dan pilihan pada pangkalan data, kaedah "get_votes" digunakan untuk mendapatkan semua maklumat pengundian dalam pangkalan data, dan kaedah "undi" digunakan untuk merekodkan pilihan pengundian pengguna.

Simpan dan jalankan fail "voting_system.rb", anda akan melihat maklumat undian dicetak pada konsol, dan data pengundian akan dikemas kini.

Melalui langkah di atas, kami berjaya melaksanakan sistem pengundian mudah menggunakan pangkalan data MySQL dan bahasa pengaturcaraan Ruby. Anda boleh mengubah suai dan melanjutkan kod seperti yang diperlukan, seperti menambah lebih banyak pilihan, statistik undian, dsb. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan sistem pengundian mudah menggunakan MySQL dan Ruby. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!