A ver, fijate por este lado
data: 'id='+$("#post_id").val(),
ahi, $("#post_id").val() representa el valor (atributo valor) del elemento que en la página tenga por id
post_id
si vos tenes generado (te lo simplifico)
<input value="juan" id="post_id">
<button onclick="votar()">votar</button>
<input value="Carlos" id="post_id">
<button onclick="votar()">votar</button>
la función toma el valor del primer id que encuentra, ya que lis id de un elemento cualquiera sea en una página deben de ser "
únicos" (además su identificación no debe ser ni comenzar por un número)
asi a simple vista, deberías generar dinamicamente los id de cada input y pasar dicho id como parámetro a la función
Ejemplo (y simplifico una vez más):
Código PHP:
Ver original<input type="text" value="<?php echo $code_friend; ?>" name="<?php echo $code_friend; ?>" id="<?php echo 'a_' . $code_friend; ?>">
<button type="button" onClick="votar(<?php echo 'a_' . $code_friend; ?>)"><?php echo $i_FRIENDSHIP; ?></button>
y en tu función
Código Javascript
:
Ver originalfunction votar(elId){
$.ajax({
type: 'POST',
url: 'archivo.php',
data: 'id='+$("#" + elId).val(),
success: function(h){
// Un mensaje que muestra lo que imprimo con php
alert("DENTRO DE SCRIPT"+$("#"+ elId).val()+h);
}
});
Para que el botón mande el value del id del input que corresponde.
Ojo, que en mi ejemplo asumo que $code_friend es algún numero o cadena que no contenga espacios en blanco ni caracteres extraños (acentos, etc), y si fuera un numero le agrego
a_ al inicio por lo que te expliqué antes.
Si no podés usar $code_friend para identificar los id, tendrás que utilizar otro elemento de la tabla en la BD para usar
Saludos