2016-12-23 4 views
2

Ich möchte mein swift-Projekt mit meiner Datenbank verbinden (gehostet auf blauen Host mit phpmyadmin) und wenn die Schaltfläche angeklickt wird, möchte ich den Wert auf dem Schieberegler oder Label (da sie verbunden sind) in eine Tabelle in meiner Datenbank eingegeben werden. Ich weiß, das eine zweiteilige Frage, aber ich habe eine harte Zeit, die für eine hilfreiche Ressource zu finden:Ich möchte, dass mein UISlider-Wert an die mysql-Datenbank gesendet wird, wenn auf geklickt wird

  1. swift 3 meine Datenbank verbindet mit PHP und phpMyAdmin (Ich kann nicht eine solide Tutorial, das erklärt, wo man Ablegen von Dateien und wie diese zugänglich ist)

und

  1. wie dieser Wert an die Datenbank zu senden.

ich mehr dazu werde das Hinzufügen aber etwas an Boden auf meinem Projekt zu brechen brauche ich wirklich einen soliden Start mit der Verbindung und herauszufinden, wie Daten zu senden und sie mit schnellen und der Datenbank abrufen.

Ich schätze wirklich jede Hilfe zu diesem Thema oder sogar Links zu Ressourcen, die mir helfen können. Ich bin neu im Programmieren, also ist mir das alles fremd.

// 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

Antwort

0

Diese Art große Thema ist, so dass es schwierig wäre, es auf einen Schlag zu beantworten, aber da niemand sehen sonst versucht hat, lassen Sie mich versuchen, Ihnen ein wenig hier zu helfen.

Ich sehe, Sie haben bereits eine Funktion 'PostToServerButton', die ich nehme, ist mit der Schaltfläche 'Button' in Ihrem Storyboard verbunden. Dies ruft die postToServerFunction() auf, die ich nicht geschrieben sehe. Ich werde damit anfangen, das zu schreiben. Sie müssen auch den Schieberegler als IBOutlet mit Ihrem Code verbinden, um seinen Wert zu erhalten. Ich schreibe diesen Code aus dem Speicher so ein Teil davon wahrscheinlich falsch ist, aber hoffentlich werden Sie die Idee

@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 
} 

Also die nächste Funktion erhalten ist, wo die Dinge kompliziert werden. Dies verbindet Ihren Code mit einer Datenbank. Ich habe unten einige grundlegende Code geschrieben, aber das ist ein komplexes Thema, das von einer Vielzahl von Variablen abhängt.

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) 

     } 
} 

Schauen Sie sich diese Seite für eine gute Führung: http://www.ios-blog.co.uk/tutorials/swift/swift-how-to-send-a-post-request-to-a-php-script/

Verwandte Themen