我希望在单击按钮时将我的UISlider值发送到mysql数据库

时间:2016-12-23 03:26:45

标签: php mysql swift xcode uislider

我希望能够将我的swift项目连接到我的数据库(使用phpmyadmin托管在蓝色主机上),当点击该按钮时,我希望滑块或标签上的值(因为它们已连接)被输入我的数据库中的一个表。我知道这是一个两部分问题,但我很难找到有用的资源:

  1. 使用php和phpmyadmin将swift 3连接到我的数据库(我无法找到一个可以解释文件放置位置以及如何访问它们的实用教程)
    1. 如何将该值发送到数据库。
    2. 我将为此添加更多内容,但要在我的项目中打破一些基础,我真的需要一个坚实的连接开始,并找出如何发送数据并使用swift和数据库检索它。

      我非常感谢有关此主题的任何帮助,甚至可以链接到可能对我有用的任何资源。我是编程新手,所以这对我来说都是陌生的。

      // So far this is my code in [view controller.swift]
      
      import UIKit
      
      class ViewController: UIViewController {
      
          @IBOutlet weak var lbl: UILabel!
      
          @IBAction func slider(_ sender: UISlider)
          {
              lbl.text = String(Int(sender.value))
          }
      
          func postToServerFunction() {
              print(lbl.text!)
          }
      
          @IBAction func postToServerButton(_ sender: UIButton) {
              postToServerFunction()
          }
      
      
          override func viewDidLoad()
          {
              super.viewDidLoad()
          }
      
          override func didReceiveMemoryWarning()
          {
              super.didReceiveMemoryWarning()
          }
      }
      

      This is what my storyboard looks like

1 个答案:

答案 0 :(得分:0)

这是一个很大的主题,所以很难一举回答,但看到没有其他人尝试过,让我试着在这里帮助你。

我看到你已经有了一个'postToServerButton'函数,我假设它已连接到storyboard中的'Button'按钮。这是调用postToServerFunction(),我没有看到。我将从写作开始。您还需要将滑块作为IBOutlet连接到代码以获取其值。我正在从内存中编写这段代码,所以有些可能是错误的,但希望你能得到这个想法

@IBOutlet weak var slider: UISlider! // Connect your slider to this
let constantValue = 8 // Don't change this

func postToServerFunction() {
    var sliderValue = Int(self.slider.value) // The slider value as an Int
    var sliderString = String(sliderValue) // The slider value as a String
    // The line below is to help you check that you're getting the right values from the slider
    print("\(self.constantValue)==D, Slider value: \(sliderValue), Slider String: \(sliderString)")

    postValueToServer(sliderValue) // We'll write this below, this is where the post to server part is happening
}

所以这个下一个功能就是事情变得复杂。这是将您的代码连接到数据库。我在下面写了一些基本代码,但这是一个复杂的主题,取决于各种变量。

func postValueToServer(sliderValue : Int) {
    print("\(self.constantValue)==D, Posting slider value \(sliderValue) to database") // Again just another check to make sure we're posting the right value
    var url: NSURL = NSURL(string: "http://INSERTYOURPHPURL.php")!
    var request:NSMutableURLRequest = NSMutableURLRequest(URL:url)
    request.HTTPMethod = "POST"
    request.HTTPBody = sliderValue.dataUsingEncoding(NSUTF8StringEncoding);
    NSURLConnection.sendAsynchronousRequest(request, queue:       NSOperationQueue.mainQueue())
        {
            (response, data, error) in
            print(response)

        }   
}

查看此网站以获得指导: http://www.ios-blog.co.uk/tutorials/swift/swift-how-to-send-a-post-request-to-a-php-script/