Aquí está mi código php donde estoy llamando a una función dataLC () para actualizar algunos valores, pero tan pronto como se ejecuta la página, la parte que llama a la función no se ejecutó, no puedo resolver el problema.

<?php
include 'db.php';
$GLOBALS['lks']=0;
$GLOBALS['cmnts']=0;

echo $GLOBALS['lks'];
echo $GLOBALS['cmnts'];
?>
<div class="btnclasess">
          <div id="likescommentID" class="likescomment"><?php dataLC(2); ?><a style="padding-right: 7px" href="#"><?php if($GLOBALS['lks']==0){echo '';}else{ echo $GLOBALS['lks']." Likes"; } ?></a><a href="#"><?php if($GLOBALS['cmnts']==0){echo '';}else{ echo $GLOBALS['cmnts']." Comments"; } ?></a></div>
         <div class="pull-left likebtn"><a href="#" onClick="connect(2)"><i class="fa fa-thumbs-up" style="margin-right: 6px;"></i>Like</a></div>
         <button class="pull-left btnhideshow show_hide" data-toggle="collapse" data-target="#demo2"><li class="fa fa-comments show_hide" style="margin-right: 6px;"></li>Comment</button>
         <button class="pull-left btnhideshow show_hide"><li class="fa fa-share-alt show_hide" style="margin-right: 6px;"></li>Share</button>
         <div class="clear"></div>
      <div class="clear"></div>
    </div>
<script>
        function connect(num) {

    $.ajax({
    type: "POST",
    url: "user-likes.php?id="+num,
    success: function(data) {
        $("#likescommentID").load(" #likescommentID");
    }
    });
    }
</script>
<?php 
function dataLC($val)
{
    $stmt = $linkID1->prepare("select likes,comments from user_posts where slno=?");
    $stmt->bind_param("s", $val);
    $stmt->execute();
    $stmt->bind_result($lksD,$cmntsD);
    $stmt->fetch();
    $stmt->close();

    $GLOBALS['lks']=$lksD;
    $GLOBALS['cmnts']=$cmntsD;
}
?>

¿Alguien puede verificar por qué la llamada a la función dataLC () no está funcionando?

0
Jahangir Alam 13 nov. 2017 a las 08:04

2 respuestas

La mejor respuesta

En su lugar, debe pasar la variable de la base de datos como parámetro. La variable $linkID1 no existe en la función.

Páselo como parámetro:

function dataLC($linkID1 , $val) {

}
0
Rotimi 13 nov. 2017 a las 05:28

Creo que en db.php hay una clase de conexión y $linkID1 es un objeto. Si esta afirmación es verdadera, es posible que se haya perdido la inicialización del objeto para esta página. Intente utilizar la reiniciación para este objeto.

Como es decir. $linkID1 = new classname( constructor parameters);

0
A.D. 13 nov. 2017 a las 05:21