Hallo,
ich weiß nicht, ob das überhaupt so geht, wie ich mir das vorstelle, aber hier mal mein bisheriger Code.
Um die Daten von der DB zu holen die anfrage.php
PHP
<?php
$host = "localhost";
$user = "xxx";
$pass = "xxx";
$databaseName = "test_db";
$tableName = "fruits";
// connect db
include 'DB.php';
$con = mysql_connect($host,$user,$pass);
$dbs = mysql_select_db($databaseName, $con);
// query
$result = mysql_query("SELECT * FROM $tableName");
$array = mysql_fetch_row($result);
// result
echo json_encode($array);
?>
Alles anzeigen
Hier mein Wordpress-Template:
PHP
<?php
// Exit if accessed directly
if ( !defined('ABSPATH')) exit;
/**
* Full Content Template
*
Template Name: test
*
* @file test.php
* ....
*/
get_header(); ?>
<div id="content-full" class="grid col-940">
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php get_template_part( 'loop-header' ); ?>
<h1>Ausgabe </h1>
<div id="output"> ... text ...</div>
<br/>
<a id="json_click_handler" href="#">
Click here to do request!
</a>
<br/>
<br/>
<?php
endwhile;
get_template_part( 'loop-nav' );
else :
get_template_part( 'loop-no-posts' );
endif;
?>
</div><!-- end of #content-full -->
<?php get_footer(); ?>
Alles anzeigen
In der functions.php hab ich mein Script eingebunden:
PHP
add_action( 'wp_print_scripts', 'add_my_scripts', 100 );
function add_my_scripts() {
if ( !is_admin() ) {
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', ( 'https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js' ), false, null, true );
wp_enqueue_script( 'jquery' );
wp_enqueue_script('eigenes-script', get_template_directory_uri() . '/js/my-script.js', array('jquery'), '2.6.1', false);
wp_enqueue_script( 'eigenes-script' );
} }
add_action('init', 'add_my_scripts');
my-script.js
Code
jQuery(document).ready(function(){
jQuery('#json_click_handler').click(function(){
doRequest();
});
});
function doRequest(){
// here is where the request will happen
jQuery.ajax({
url: 'anfrage.php',
data: "",
dataType: 'json',
success:function(data){
var id = data[0];
var vname = data[1];
$('#output').html("<b>id: </b>"+id+"<b> name: </b>"+vname);
alert('OK');
},
error: function(errorThrown){
alert('Fehler');
console.log(errorThrown);
}
});
}
Alles anzeigen
Nun würde ich gerne wissen, ob bzw. wie es möglich ist, dass ich in einen Paramter für meine query übergebe, so dass nach einem bestimmten Datensatz gesucht wird.
Mein Ansatz sah so aus (geht aber nicht):
Müsste ich dazu in der anfrage.php etwas anpassen, oder funktioniert das grundsätzlich so nicht?
DANKE Euch!!