MySQL PHP naar JSON file.

Door Rogier Gorter, 5 jaar geleden, 8.941x bekeken

Dit PHP script schrijft gegevens naar een JSON file. Je kunt het voor Google Maps gebruiken of voor andere doeleinden. Op mijn MAMP werkte het in ieder geval goed. Je moet alleen wat aanpassingen doen door de Json file naar een aparte DATA map te versturen en de PHP file in een andere map met htaccess bescherming ivm database gegevens. Ik heb gedeeltes met een aantal bestaande scripts (Stack overflow) gecombineerd en aan elkaar geplakt. Ik dacht het is misschien wel een handig dingetje.

Gesponsorde koppelingen

PHP script bestanden

  1. result.php

 

Er zijn 3 reacties op 'Mysql php naar json file'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Randy vsf
Randy vsf
5 jaar geleden
 
0 +1 -0 -1
Dit stukje code doet hetzelfde, alleen maak ik hier gebruik van mysqli ipv mysql.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php

$db
= @new Mysqli('localhost','root','','port');

if ($db->connect_errno) {
    die('Connect Error: ' . $db->connect_errno);
}


if($result = $db->query("SELECT * FROM users")); {
    while($row = $result->fetch_assoc()) {
        $data[] = $row;
    }
}


echo json_encode($data);
?>
Thomas van den Heuvel
Thomas van den Heuvel
5 jaar geleden
 
0 +1 -0 -1
Dit is dus functionaliteit waarmee je JSON-bestanden bakt ofzo?

Iets wat ik mis zijn character encoderingen. Deze mis ik:
- als je een db-connectie opent
- als je je bestanden wegschrijft

Het toevoegen hiervan zal je veel kopzorgen schelen.

En mysql_-functies als je *nieuwe* code schrijft? tsk!

Daarnaast, als je bestanden naar output stuurt, gebruik dan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
header('Content-Type: application/json; charset=UTF-8');
echo json_encode($myArray);
?>

(of met een andere toepasselijke character encoding).


5 jaar geleden
 
0 +1 -0 -1
Inerdaad Thomas. Of directer: json_encode verwacht dat de input UTF-8 gecodeerd is. Je kunt de database dit laten waarborgen (laten transcoden) door de mysql_set_charset() functie te gebruiken om in ieder geval de connectie naar PHP via UTF-8 te laten verlopen.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. result.php

Labels

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.