Je suis en train de remplir une table en utilisant jQuery $.post
, mais je continue à obtenir (an empty string)
lorsque je me connecte les données à l'aide console.log()
pyromanes, est le code ici,
jQuery:
$.each(data, function(i, json){
//get the system names
$.post('get_system_name.php', {product_id:json.product_id}, function(data){
console.log(data);
});
});
PHP:
$product_id = $_POST['product_id'];
mysql_connect("localhost", "user", "1234") or die(mysql_error());
mysql_select_db("eskom_products") or die(mysql_error());
$query = mysql_query("SELECT products FROM products WHERE product_id='".$product_id."'") or die(mysql_error('Please try again'));
$array = mysql_fetch_array($query, true);
echo $array['products'] ;
dans un premier temps je fais une demande $.getJSON()
, puis je boucle à travers toutes les entrées que je reçois à l'aide de retour $.each
, mais comme vous pouvez le voir, le nom du système n'est pas dans la même table, donc je dois faire un $.post()
séparé pour obtenir le nom dans la table liée, mais tout ce que je reçois est une chaîne vide, des idées?
Cela peut avoir plusieurs raisons - le débogage de base est la clé. Par exemple. activer 'error_reporting (E_ALL);' dans le script pour voir s'il y a des problèmes avec la syntaxe –
De plus, vous avez une vulnérabilité d'injection SQL dans le script PHP (vous devez échapper le paramètre 'product_id') –
cela peut ne pas être pertinent , mais juste curieux, pourquoi appelez-vous plusieurs messages sur le serveur lorsque vous ne pouvez le faire qu'une seule fois? – jerjer