2016-09-29 2 views
0

Ich habe diese Tabelle: mysql tableFilter und erhalten Daten von Mysql

ich in einem Array alle Daten aus der Spalte „codigo“ erhalten müssen, die Reihen codidopostal = 1001. Für diese pourposse von „Post Ich schicke hat "codigopostal = 1001.

rest service

Sobald ich es bekommen, dann muss ich die ersten Daten aus dem Array extrahiert werden, weil später werde ich es verwenden, in einer URI hinzufügen zu machen und Abfrage an einen externen Server, Habe Datei in XML.

Die uri Ich baue ist:

"http://www.aemet.es/xml/municipios/localidad_01059.xml"

ich das machen. http://www.aemet.es/xml/municipios/localidad_ + "0" + "Código" +“.xml

aber es mich nicht hinzufügen "codigo". Wie es in Foto zu sehen ist, fügen Sie nur "0", aber nicht "0" + "codigo" .

result

Hier bin voller Code lassen, wird jede Hilfe willkommen:

<?php 

require_once 'login_mysql.php'; 

if(isset($_POST['postCode']) && !empty($_POST['postCode'])){ 

$sql = "SELECT alava.codigo FROM alava WHERE alava.codigopostal = '$postCode'"; 


if (mysqli_connect_error()){ 
    echo 'Error de Conexión: ' . mysqli_connect_error(); 
    exit(); 
} 

$r = mysqli_query($con,$sql); 
if (!$r){ 
    echo 'No se pudo hacer la consulta: ' . mysqli_error($con); 
    echo json_encode("Registro inexistente"); 
    exit(); 
} 

$result = array(); 

while($row = mysqli_fetch_array($r)){ 

    //Pushing name and id in the blank array created 
    array_push($result,array(
     "codigo"=>$row['codigo'] 

     )); 
    $codigo = array_values($result)[0]; 
} 

    echo json_encode(array('result'=>$output_result)); 

// Close mysql connection 
mysqli_close($con); 

    }else{ 
    echo "Operacion fallida"; 
    } 

$json_object = json_decode(json_encode(array('result'=>$result))); 


$localidad = "$codigo"; 
$cadena1 = "http://www.aemet.es/xml/municipios/localidad_"; 
$cadena2 = "$localidad"; 
$cadena3 = ".xml"; 
$prefijo = "0"; 
$url=$cadena1 . $prefijo . $cadena2 . $cadena3 ; 


$texto = file_get_contents($url); 
$texto = str_replace(array("\n", "\r", "\t"), '', $texto); 
$texto = trim(str_replace('"', "'", $texto)); 
$simpleXml = simplexml_load_string($texto); 
$json = json_encode($simpleXml); 
echo $json; 

return $json;    
+1

Sie sind anfällig für [SQL-Injection-Angriffe] (http://bobby-tables.com) –

+0

, wo die, wenn die Bedingung für echo "Operacion fallida"; – Cyclotron3x3

+0

Ich Marc, ich mache gerade einen Versuch. Kein endgültiger Code. Nur zu verstehen, wie es funktioniert. –

Antwort

0

I lösungs-

erste Abfrage korr gefunden ectly zum Tabellenextrahieren aller Daten mit spezifischem Index. In diesem Fall ist „codigopostal.

require_once 'login_mysql.php'; 


if(isset($_POST['postCode']) && !empty($_POST['postCode'])){ 
$postCode = $_POST['postCode']; 

$sql = 
     "SELECT * FROM wp_alava WHERE wp_alava.codigopostal = '$postCode'"; 

Dann nehmen wir Daten und wir Eingang in Array. Wenn es im Inneren ist, dann nehmen wir die erste, da alle dupliziert werden und wir brauchen nur ein, und weil wir weiß nicht, wie viele es sind, sind wir sicher, dass es eine ist, die die erste ist.

//creating a blank array 
$result = array(); 

//looping through all the records fetched 
while($row = mysqli_fetch_array($r)){ 


array_push($result,array(
//Pushing codigo in the blank array created 
     "codigo"=>$row['codigo'] 
    )); 
} 

//Displaying the array in json format 
$codigo_poblacion = json_encode(array('result'=>$result)); 

$primer_codigo_encontrado = json_decode($codigo_poblacion); 

$primer_codigo_encontrado->result[0]->codigo; 
$codigo_poblacion_aemet = $primer_codigo_encontrado->result[0]->codigo; 

dann bauen wir unsere URI aus und senden es Daten geting. Da Daten, die wir in Json benötigen, wir analysieren sie inrto JSon Format, um später in unserer APP oder einer anderen Benutzerschnittstelle verwendet zu werden

ist alles, hier haben Sie eine API, um eine URI für das spanische Wetter Web zu erstellen, die es nicht gab, sie geben Ihnen nur XML für Prognosen.

Grüße

Verwandte Themen