Mysql PickerView

XCode AppleVolt egy kis időm ezért ahogy ígértem befejezzük a UIPickerView-et ! Mysql adatbázisból fogjuk a megjelenítő szöveget beolvasni így ha olyan App-et készítetek ami pl: megrendelésnél kiválasztás van akkor az adatbázisból fogja  frissíteni magát!
Az UIPickerView készítése már nem új dolog nektek és 90%-a ismerős is lesz, csak ami új az az adat beolvasása ! A kedvenc Json megoldást mutatom majd be mert egyszerűbb mint ha xml-ből olvasnánk be !!!
Adatbázis és a php kapcsolat így épül fel !

Mysql adatbázis
php:
php kapcsolat
Természetesen a kapcsolati adatokat át kell írnotok mert ez csak localhost kapcsolatra van beállítva !!

<?php

$DB_HostName = “localhost”; //127.0.0.1
$DB_Name = “root”; // adatbázis név
$DB_User = “root”; //felhasználó név
$DB_Pass = “root”; // jelszó

$objConnect = mysql_connect($DB_HostName,$DB_User,$DB_Pass) or die(mysql_error());
$objDB = mysql_select_db($DB_Name,$objConnect);
$strSQL = “SELECT * FROM pickermysql WHERE 1 “;
$objQuery = mysql_query($strSQL);
$intNumField = mysql_num_fields($objQuery);
$resultArray = array();
while($obResult = mysql_fetch_array($objQuery))
{
$arrCol = array();
for($i=0;$i<$intNumField;$i++)
{
$arrCol[mysql_field_name($objQuery,$i)] = $obResult[$i];
}
array_push($resultArray,$arrCol);
}
mysql_close($objConnect);
echo json_encode($resultArray);
?>

Akkor kezdjük is el !!!!
Első lépés egy sima view létrehozása amihez hozzáadunk egy text,picker,és a meghívó gombot a szokásos módon !

Mysql PickerView 1

@interface ViewController : UIViewController<UIPickerViewDelegate,UIPickerViewDataSource>
@property (nonatomic,strong) IBOutlet UIPickerView * picker;
@property (nonatomic, strong) IBOutlet UITextField * szovegtxt;

– (IBAction)gomb:(id)sender;

A .m fájl következik
Mysql PickerView 2

@interface ViewController ()
{
NSMutableArray *varosok;
NSDictionary *dict;
NSString *varosokid;
NSString *varosokneve;
}

@end

@implementation ViewController
@synthesize picker,szovegtxt;

– (void)viewDidLoad
{
[super viewDidLoad];

picker.delegate = self;
picker.dataSource = self;
picker.showsSelectionIndicator = YES;
picker.opaque = NO;

[picker setHidden:TRUE];

varosokid = @”szamID”;
varosokneve = @”szovegneve”;

varosok = [[NSMutableArray alloc] init];

NSData *jsonData = [NSData dataWithContentsOfURL:
[NSURL URLWithString:@”http://www.localhost/pickermysql.php”%5D%5D;

id jsonObjects = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:nil];

for (NSDictionary *dataDict in jsonObjects) {
NSString *strVarosokID = [dataDict objectForKey:@”szamID”];
NSString *strVarosokNeve = [dataDict objectForKey:@”szovegneve”];

dict = [NSDictionary dictionaryWithObjectsAndKeys:
strVarosokID, varosokid,
strVarosokNeve, varosokneve,
nil];
[varosok addObject:dict];

NSLog(@”mysql %@”,dict);
}
}
Létrehoztuk a kapcsolatot az adatbázis tárolóval és megadtuk neki, hogy a táblából mit olvasson ki !
Innentől már ismerős lesz mert azonos a már régen bemutatott UIPickerView-el !
Mysql PickerView 3

– (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}

– (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return varosok.count;
}

– (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
NSDictionary *tmpDict = [varosok objectAtIndex:row];
return [tmpDict objectForKey:varosokneve];
}

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
NSDictionary *tmpDict = [varosok objectAtIndex:row];
szovegtxt.text = [tmpDict objectForKey:varosokneve];

[picker setHidden:TRUE];
}
Végül hozzáadjuk a gombot is és megadjuk neki a viselkedést !

– (IBAction)gomb:(id)sender {
[picker setHidden:FALSE];
}

Mehetünk a szerkesztőbe és adjuk hozzá a text,picker,gomb-ot és kössük össze őket! Gombnál látható hogy mit kell kiválasztani !!
Mysql PickerView 4
Ha kész vagyunk mentés után ha futtatjuk akkor elvileg így fog kinézni !

Mysql PickerView 5

Ennyi volt az egész !!




Reklámok

Hozzászólás

Kategória: Források

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés /  Módosítás )

Google kép

Hozzászólhat a Google felhasználói fiók használatával. Kilépés /  Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés /  Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés /  Módosítás )

Kapcsolódás: %s