sql >> Databáze >  >> RDS >> Mysql

Zobrazit načítaný obrázek při provádění PHP

Ve většině případů by mít dvě stránky. První stránka, na straně klienta, zavolá na jinou stránku, na straně serveru, a během čekání ukazuje pěkně točící se věc. Když se dokončí načítání stránky na straně serveru (když se dokončí váš dotaz), vaše první stránka obdrží odpověď a poté můžete skrýt pěkně točící se věc, aby váš uživatel věděl, že je dokončena.

Můžete použít AJAX - v čistém Javascriptu nebo mnohem jednodušší v jQuery - k dynamickému načtení některých dat z vaší stránky PHP a zobrazení rotující věci na počkání. Zde jsem použil jQuery.

CSS

#loading_spinner { display:none; }

HTML

<img id="loading_spinner" src="loading-spinner.gif">

<div class="my_update_panel"></div>

jQuery

$('#loading_spinner').show();

var post_data = "my_variable="+my_variable;
$.ajax({
    url: 'ajax/my_php_page.php',
    type: 'POST',
    data: post_data,
    dataType: 'html',
    success: function(data) {
        $('.my_update_panel').html(data);
//Moved the hide event so it waits to run until the prior event completes
//It hide the spinner immediately, without waiting, until I moved it here
        $('#loading_spinner').hide();
    },
    error: function() {
        alert("Something went wrong!");
    }
});

PHP (moje_php_page.php)

<?php
// if this page was not called by AJAX, die
if (!$_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') die('Invalid request');

// get variable sent from client-side page
$my_variable = isset($_POST['my_variable']) ? strip_tags($_POST['my_variable']) :null;

//run some queries, printing some kind of result
$SQL = "SELECT * FROM myTable";
// echo results
?>


  1. LAST_INSERT_ID() vždy vrací 0 (RMySQL) - samostatný problém s připojením

  2. Joomla:Volání pomocné funkce z modelu?

  3. mysql jako dotaz vyloučit čísla

  4. PostgreSQL ZOBRAZIT TABULKY Ekvivalent (psql)