PHP via ajax, javascript
Ik heb het volgende script gevonden.
Maar krijg telkens "undefined".
En de tekst in de DIV blijft gewoon staan.
Hij ziet wel dat API.PHP geladen is.
En hij geeft ook 12 keer de melding (aantal markers in de database);
id: undefined naam: undefined adres: undefined lat: undefined lng: undefined type: undefined
API.PHP
CLIENT.PHP
Maar krijg telkens "undefined".
En de tekst in de DIV blijft gewoon staan.
Hij ziet wel dat API.PHP geladen is.
En hij geeft ook 12 keer de melding (aantal markers in de database);
id: undefined naam: undefined adres: undefined lat: undefined lng: undefined type: undefined
API.PHP
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
$result = mysql_query("SELECT * FROM $tableName"); //query
$data = array();
while ( $row = mysql_fetch_assoc($result))
{
$data[] = $row;
}
echo json_encode($data);
$data = array();
while ( $row = mysql_fetch_assoc($result))
{
$data[] = $row;
}
echo json_encode($data);
CLIENT.PHP
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<div id="output">this element will be accessed by jquery and this text will be replaced</div>
<script type="text/javascript">
$.ajax({
url: 'api.php',
data: "",
dataType: 'json',
success: function(rows)
{
for (var i in rows)
{
var row = rows[i];
var id = row[0];
var name = row[1];
var address = row[2];
var lat = row[3];
var lng = row[4];
var type = row[5];
$('#output').append("<b>id: </b>"+id+"<b> naam: </b>"+name+"<b> adres: </b>"+address+"<b> lat: </b>"+lat+"<b> lng: </b>"+lng+"<b> type: </b>"+type)
.append("<hr />");
}
}
});
<script type="text/javascript">
$.ajax({
url: 'api.php',
data: "",
dataType: 'json',
success: function(rows)
{
for (var i in rows)
{
var row = rows[i];
var id = row[0];
var name = row[1];
var address = row[2];
var lat = row[3];
var lng = row[4];
var type = row[5];
$('#output').append("<b>id: </b>"+id+"<b> naam: </b>"+name+"<b> adres: </b>"+address+"<b> lat: </b>"+lat+"<b> lng: </b>"+lng+"<b> type: </b>"+type)
.append("<hr />");
}
}
});
Je haalt $row op met fetch_assoc, en vervolgens lees je deze uit in JSON alsof deze geconstrueerd was middels fetch_row...
Indien je met AJAX/JavaScript aan de slag gaat zorg dan ook dat je fatsoenlijk kunt debuggen, dan worden dit soort vragen triviaal.
Gebruik console.log() en maak gebruik van de netwerktab van je development balk in je browser (doorgaans onder functietoets F12).
Indien je met AJAX/JavaScript aan de slag gaat zorg dan ook dat je fatsoenlijk kunt debuggen, dan worden dit soort vragen triviaal.
Gebruik console.log() en maak gebruik van de netwerktab van je development balk in je browser (doorgaans onder functietoets F12).
Bedankt voor je snelle reactie Thomas.
Het is een bestaand script, en volgens de reacties werkte het.
Ik kan ook in de console zien dat api.php wordt gelezen zonder foutmelding.
In api.php wordt ook alles netjes opgehaald.
En er worden ook 12 regels geschreven in client.php, maar de velden zijn leeg.
Maar zal er nog eens op studeren....
Het is een bestaand script, en volgens de reacties werkte het.
Ik kan ook in de console zien dat api.php wordt gelezen zonder foutmelding.
In api.php wordt ook alles netjes opgehaald.
En er worden ook 12 regels geschreven in client.php, maar de velden zijn leeg.
Maar zal er nog eens op studeren....
Ik denk dat jou api.php niets ophaalt, klopt de tabelnaam ect wel?
SELECT * FROM $tableName
SELECT * FROM $tableName
Ferdi R op 17/05/2016 21:41:32:
Ik denk dat jou api.php niets ophaalt, klopt de tabelnaam ect wel?
SELECT * FROM $tableName
SELECT * FROM $tableName
Het verwijst naar een variable, alleen dan zonder quotes.
ik heb het al hersteld.
$tableName staat al eerder vermeld...
Het werkt nu in principe wel.
$tableName staat al eerder vermeld...
Het werkt nu in principe wel.
Ai, waarom gebruik je nog de verouderde mysql_* functies van PHP?
gebruik liever mysqli_*() of PDO als je met de tijd mee wilt gaan.
gebruik liever mysqli_*() of PDO als je met de tijd mee wilt gaan.
Je hebt helemaal gelijk Arien.
Heb een mooie tuto gevonden op dit forum.
Want op de een of andere manier lukt het me nog steeds niet.
Dit stukje script was een studie. Kijken welke methoden het meest geschikt zijn in een toepassing.
Concreet gaat het om het vervangen van een ajax-databestand (txt) door de gegevens uit de database.
ajax: '../ajax/data/arrays.txt',
Dit is stukje uit script dat een/twee scroll tabel maakt met een sorteer en zoekfunctie.
Met het ajax-databestand werkt het prima.
Werkend voorbeeld:
https://datatables.net/examples/api/tabs_and_scrolling.html
Heb een mooie tuto gevonden op dit forum.
Want op de een of andere manier lukt het me nog steeds niet.
Dit stukje script was een studie. Kijken welke methoden het meest geschikt zijn in een toepassing.
Concreet gaat het om het vervangen van een ajax-databestand (txt) door de gegevens uit de database.
ajax: '../ajax/data/arrays.txt',
Dit is stukje uit script dat een/twee scroll tabel maakt met een sorteer en zoekfunctie.
Met het ajax-databestand werkt het prima.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$(document).ready(function() {
$('a[data-toggle="tab"]').on( 'shown.bs.tab', function (e) {
$.fn.dataTable.tables( {visible: true, api: true} ).columns.adjust();
} );
$('table.table').DataTablse( {
ajax: '../ajax/data/arrays.txt',
scrollY: 200,
scrollCollapse: true,
paging: false
} );
// Apply a search to the second table for the demo
$('#myTable2').DataTable().search( 'New York' ).draw();
} );
$('a[data-toggle="tab"]').on( 'shown.bs.tab', function (e) {
$.fn.dataTable.tables( {visible: true, api: true} ).columns.adjust();
} );
$('table.table').DataTablse( {
ajax: '../ajax/data/arrays.txt',
scrollY: 200,
scrollCollapse: true,
paging: false
} );
// Apply a search to the second table for the demo
$('#myTable2').DataTable().search( 'New York' ).draw();
} );
Werkend voorbeeld:
https://datatables.net/examples/api/tabs_and_scrolling.html
Gewijzigd op 18/05/2016 00:39:14 door Hans De Ridder
De basis heb ik nu gereed.
Voor de geïnteresseerden:
PHP
CLIENT:
Voor de geïnteresseerden:
PHP
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$table = 'markers';
$primaryKey = 'id';
$columns = array(
array( 'db' => 'name', 'dt' => 0 ),
array( 'db' => 'address', 'dt' => 1 ),
array( 'db' => 'lat', 'dt' => 2 ),
array( 'db' => 'lng', 'dt' => 3 ),
array( 'db' => 'type', 'dt' => 4 ),
);
// SQL server connection information
$sql_details = array(
'user' => 'xxxxxxxx',
'pass' => 'xxxxxxxxxxxxxxxx',
'db' => 'xxxxxxxxxx',
'host' => 'xxxxxxxxx'
);
require( 'ssp.class.php' );
echo json_encode(
SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
);
$primaryKey = 'id';
$columns = array(
array( 'db' => 'name', 'dt' => 0 ),
array( 'db' => 'address', 'dt' => 1 ),
array( 'db' => 'lat', 'dt' => 2 ),
array( 'db' => 'lng', 'dt' => 3 ),
array( 'db' => 'type', 'dt' => 4 ),
);
// SQL server connection information
$sql_details = array(
'user' => 'xxxxxxxx',
'pass' => 'xxxxxxxxxxxxxxxx',
'db' => 'xxxxxxxxxx',
'host' => 'xxxxxxxxx'
);
require( 'ssp.class.php' );
echo json_encode(
SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
);
CLIENT:




