Created
July 16, 2013 12:48
-
-
Save TorbenKoehn/6008411 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/* | |
* Die Daten in $_GET befinden sich in der URL | |
* http://meine-domain.com/api.php?action=test&nocheins=test2 | |
* Hier ist | |
* $_GET[ 'action' ] === 'test' | |
* $_GET[ 'nocheins' ] === 'test2' | |
* | |
* Die Daten vom POST request befinden sich im Request Body | |
* $_POST[ 'email' ] === '[email protected]' | |
* | |
*/ | |
//Verbindung zu einer MySQL Datenbank? | |
$db = new PDO( 'mysql:host=localhost;dbname=test', 'user', 'pass' ); | |
//Die Aktion, die durchgeführt werden soll | |
//Wenn keine Action gesetzt ist, ist sie automatisch 'hole-daten' | |
$action = empty( $_GET[ 'action' ] ) ? 'hole-daten' : $_GET[ 'action' ]; | |
$result = array(); | |
switch( $action ) { | |
//Wenn $action === 'hole-daten' | |
//z.B. http://meine-domain.com/api.php?action=hole-daten | |
// http://meine-domain.com/api.php?action=hole-daten&id=14 | |
case 'hole-daten': | |
//Die ID (Wenn eine definiert wurde, ansonsten null) | |
$id = empty( $_GET[ 'id' ] ) ? null : intval( $_GET[ 'id' ] ); | |
$stmt = null; | |
if( !empty( $id ) ) { //wollen wir spezifische Daten? | |
$stmt = $db->prepare( 'select * from my_table where id=?' ); | |
$stmt->execute( $id ); | |
} else { //oder ALLE daten? | |
$stmt = $db->prepare( 'select * from my_table' ); | |
$stmt->execute(); | |
} | |
$result = array( 'success' => true, 'data' => $stmt->fetchAll() ); | |
break; | |
//Wenn $action === 'schreibe-daten' | |
//z.B. http://meine-domain.com/api.php?action=schreibe-daten&id=15 | |
case 'schreibe-daten': | |
//hier muss eine ID gesetzt sein, wir wollen immer nur einen | |
//Datensatz aktualisieren | |
$id = empty( $_GET[ 'id' ] ) ? null : intval( $_GET[ 'id' ] ); | |
//Die Daten liegen im Request Body, POST | |
$wert = empty( $_POST[ 'wert' ] ) ? '' : $_POST[ 'wert' ]; | |
if( empty( $id ) ) | |
$result = array( | |
'success' => false, | |
'message' => 'Keine ID definiert!' | |
); | |
else if( empty( $wert ) ) | |
$result = array( | |
'success' => false, | |
'message' => 'Kein Wert definiert!' | |
); | |
else { | |
$stmt = $db->prepare( 'update my_table set my_field=?' ); | |
$stmt->execute( $wert ); | |
$result = array( 'success' => true ); | |
} | |
break; | |
//Wenn keine Aktion oder sie existiert nicht | |
default: | |
$result = array( | |
'success' => false, | |
'message' => "Aktion $action existiert gar nicht!" | |
); | |
} | |
//Ausgabe der Daten im JSON Format | |
exit( json_encode( $result ) ); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment