Nieuw lid |
|
Hallo,
Ik ben op zoek naar een eenvoudig voorbeeld van jquery/getJson gecombineerd met een PHP bestandje. Ik ben al de hele dag zelf aan het proberen maar ik bak er niet veel van.
Het ultieme doel is een inputveldje: ik typ een code, er word een prijs opgehaald en een tabelrij aangemaakt (zeg maar soort kasticketje)
Mijn doel nu:
bij document.ready tabel generern met alle prijzen in de DB (should be easy to do right?:s)
ik heb hetvolgende:
html-document:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<title>JSONP getJSON Jquery cross domain example</title>
<script src="http://code.jquery.com/jquery-latest.js" type="text/javascript">
</script>
<script>
$(document).ready(function() {
$.getJSON("search.php?jsoncallback=?",
function(data){
$.each(data, function(i,output){
alert(output);
var tblRow =
"<tr>"
+"<td>"+ data.name +"</td>"
+"</tr>"
$(tblRow).appendTo("#prijslijst tbody");
});
});
});
</script>
</head>
<body>
<table id="prijslijst" border="1">
<thead>
<th>Naam</th>
</thead>
<tbody></tbody>
</table>
</body>
</html>
<!DOCTYPE HTML> <title>JSONP getJSON Jquery cross domain example </title> <script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"> $(document).ready(function() { $.getJSON("search.php?jsoncallback=?", function(data){ $.each(data, function(i,output){ alert(output); var tblRow = +" <td>"+ data.name +" </td>" $(tblRow).appendTo("#prijslijst tbody"); }); }); }); <table id="prijslijst" border="1">
PHP-document
<?
error_reporting('E_ALL');
$link = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('test') or die(mysql_error());
//WHERE naam = '".$_POST['naam']."'
/*
$data = '{"name" : "10 euro"} ';
echo $_GET['jsoncallback'] . '(' . $data . ');';
*/
error_reporting('E_ALL');
$link = mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('test') or die(mysql_error());
//WHERE naam = '".$_POST['naam']."'
$result = mysql_query("SELECT id, prijs, naam FROM kopers" ) or die(mysql_error());
$data = array();
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
$data_row = array
(
'id' => $row[0],
'product_prijs' => $row[1],
'name' => $row[2]
);
// array in array maken gelijk met talenbestand, en de key van de hoofdarray prijzen noemen
$data['prijzen'][] = $data_row;
}
//print json_encode($data);
echo $_GET['jsoncallback'] . '(' . json_encode($data) . ');';
?>
<? //WHERE naam = '".$_POST['naam']."' /* $data = '{"name" : "10 euro"} '; echo $_GET['jsoncallback'] . '(' . $data . ');'; */ //WHERE naam = '".$_POST['naam']."' ( 'id' => $row[0], 'product_prijs' => $row[1], 'name' => $row[2] ); // array in array maken gelijk met talenbestand, en de key van de hoofdarray prijzen noemen $data['prijzen'][] = $data_row; } //print json_encode($data); echo $_GET['jsoncallback'] . '(' . json_encode ($data) . ');'; ?>
Ik zie niet wat ik fout doe, ik krijg bij men alert (object ocbject, object object ...) en in men tabel krijg ik één rij met 'undefiend' in iemand een idee?
EDIT
het php bestandje geeft volgende output:
({"prijzen":[{"id":"1","product_prijs":"10","name":"a"},{"id":"2","product_prijs":"5","name":"b"},{"id":"3","product_prijs":"22","name":"c"}]});
EDIT2
ik heb het gevonden, al die uren waren dan toch niet voor niets. jammer dat achter gezien deze manier niet erg performant is wnr je met grote DB zit. Maar goed, weer wat bijgeleerd vandaag
|