Buenas noches, tengo un problema y es que no puedo entender como podría solucionar el siguiente problema.
Para ponerlos en contexto primero quisiera explicar el sistema, vendría siendo un procedimiento por el cual al cargar la pagina se muestran 5 registros y dependiendo si existen mas de 5 registros se habilitará un botón el cual cuando se presione ejecutará una función JS (Ajax) que llamará a un archivo .php
El sistema funciona perfecto o mejor dicho casi perfecto, ya que lo único que me falta para que quede totalmente terminado es lo siguiente:
En el archivo .php pre-cargado
Ahora en el archivo ajax.js donde está la función more results
Básicamente lo que hace este código es que si no hay ningún registro disponible para mostrar en una próxima tanda no va a ejecutar ni a llamar ningún fichero ya que es algo totalmente innecesario.
El problema radica que necesito que esa cantidad_total va a ser actualizada por lo que no puedo usar siempre el mismo <script> que llama a la función more que es cuando se da click a dicho botón.
Mi idea era agregar un nuevo fragmento de código <script> en el fichero ajax que llamamos desde ajax.js
re-actualizando o recreando el script, nosé bien si este seria un metodo optimo para hacerlo.
Gracias
Para ponerlos en contexto primero quisiera explicar el sistema, vendría siendo un procedimiento por el cual al cargar la pagina se muestran 5 registros y dependiendo si existen mas de 5 registros se habilitará un botón el cual cuando se presione ejecutará una función JS (Ajax) que llamará a un archivo .php
El sistema funciona perfecto o mejor dicho casi perfecto, ya que lo único que me falta para que quede totalmente terminado es lo siguiente:
En el archivo .php pre-cargado
Código (php) [Seleccionar]
if($cantidad_total >= 6) // Cantidad total se refiere a la cantidad total de registros encontrados
{
?>
<script type="text/javascript">
// habilita o crea la función que al dar click en X botón mostrará más registros
$(".boton_mas_resultados").click(function()
{
var cantidad_vista = document.querySelectorAll('.box_resultado_busqueda').length;
More_Results_Registros(cantidad_vista, <?php echo($cantidad_total); ?>);
});
</script>
<?php
}
Ahora en el archivo ajax.js donde está la función more results
Código (javascript) [Seleccionar]
function More_Results_Registros(cantidad_vista, cantidad_total)
{
var cant_actual = cantidad_total- cantidad_vista;
if(cantidad_actual >= 1) // Si quedan registros disponibles para mostrar al menos 1
{
document.body.style.cursor = "progress";
}
$.ajax({
url: 'ajax/elficheroajax.php',
type: 'POST',
dataType: 'html',
data: {cantidad_vista, cantidad_total},
success: function() {
document.body.style.cursor = "default";
}
})
.done(function(anuncios)
{
if(cantidad_actual >= 1)
{
$('.mostrador').html(anuncios);
}
})
}
Básicamente lo que hace este código es que si no hay ningún registro disponible para mostrar en una próxima tanda no va a ejecutar ni a llamar ningún fichero ya que es algo totalmente innecesario.
El problema radica que necesito que esa cantidad_total va a ser actualizada por lo que no puedo usar siempre el mismo <script> que llama a la función more que es cuando se da click a dicho botón.
Mi idea era agregar un nuevo fragmento de código <script> en el fichero ajax que llamamos desde ajax.js
re-actualizando o recreando el script, nosé bien si este seria un metodo optimo para hacerlo.
Gracias