2016-05-26 13 views
0

Dies ist mein Code zum Abrufen der Mysql-Tabelle InhaltVerzögerung zwischen jeder MySQL-Abfrage in PHP

Ich bekomme ganze Daten auf einmal.

Ich möchte eine Zeitverzögerung in jeder Abfrage setzen.

$host= "localhost"; 
$user= "xxxxx"; 
$pass= "xxxx"; 
$db="xxxxx"; 

$connect= mysql_connect($host,$user,$pass); 
if (!$connect)die ("Cannot connect!"); 
mysql_select_db($db, $connect); 

$result = mysql_query(" 
    SELECT 
     * 
    FROM 
     url 
"); 

if($result){ 
    while($row = mysql_fetch_array($result, MYSQL_ASSOC)){ 

$url = $row['urlss']; 
echo '<li>'.$url.'</li>'; 
} 
} 

Das Ergebnis ausgegeben wird

row1 
row2 
row3 
row4 

I-Ausgang In unten Weise

row1 
//wait 5 sec 
row2 
//wait 5 sec 
row3 
//wait 5 sec 
row4 
//wait 5 sec 

Dank

+6

Bitte [mit 'mysql_ *' Funktionen stoppen] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). [Diese Erweiterungen] (http://php.net/manual/en/migration70.removed-exts-sapis.php) wurden in PHP 7 entfernt. Erfahren Sie mehr [vorbereitet] (http://en.wikipedia.org/ (http://php.net/manual/en/pdo.prepared-statements.php) und [MySQLi] (http://php.net/manual/en/mysqli.quickstart .prepared-statements.php) und erwäge die Verwendung von PDO, [es ist wirklich ziemlich einfach] (http://jayblanchard.net/demystifying_php_pdo.html). –

+0

Sie können diese Client-Seite mit JavaScript tun. –

+0

@JayBlanchard irgendein Beispiel Sir? – Vinay

Antwort

0

Wenn Sie eine Verzögerung wollen bekommen wollen, dann könnte man sleep PHP versuchen Funktion

$host= "localhost"; 
$user= "xxxxx"; 
$pass= "xxxx"; 
$db="xxxxx"; 

$connect= mysql_connect($host,$user,$pass); 
if(!$connect) die ("Cannot connect!"); 
mysql_select_db($db, $connect); 

$result = mysql_query("SELECT * FROM url"); 

if($result){ 
    while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
    { 
     $url = $row['urlss']; 
     echo '<li>'.$url.'</li>'; 
     sleep(5); //sleep for 5 seconds 
    } 
} 
2

Verwenden Sie clientseitig Skript jquery/javascript, um es zu erreichen.

PHP-Code:

<?php 
// code for DB connection and query 

echo "<ul id='list-results'>"; 
if($result){ 
while($row = mysql_fetch_array($result, MYSQL_ASSOC)){ 
    $url = $row['urlss']; 
    // display none 
    echo '<li style="display:none">'.$url.'</li>'; 
} 
} 
echo "</ul>"; 
?> 

JQuery:

// include jquery 
<script src="https://code.jquery.com/jquery-1.9.1.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    // read all list tlements 
$("#list-results li").each(function(index) { 
    // fade in each li 
    $(this).delay(5000*index).fadeIn(); 
    }); 
}); 
</script> 
+0

Nein Ich möchte jede Zeile nach 5 Sekunden erhalten. In Ihrem Code Sir, ich bekomme alle Zeilen. sie werden erst nach 5 Sekunden eingeblendet. – Vinay

+0

funktioniert gut überprüfen Sie dies https://jsfiddle.net/zvx60q9r/ –

+0

@Vinay, Sie geben HTML-Daten aus, und es wird nicht angezeigt, wie Sie wünschen, cuz Web-Browser fragt Daten von Ihrem Server und nachdem es es rendert . Sie können sie innerhalb von

  • einigen Daten
  • ausgeben und sie dann mit jquery animieren. Ravinder Reddy hat Recht mit seiner Antwort! – num8er

    0

    Sie

    verwenden könnte
    foreach ($row as $text) { 
        //output text, sleep 5 seconds 
        echo $text; 
        ob_flush(); 
        flush(); 
        sleep(5); 
    
    } 
    

    Aber Javascript könnte in diesem Fall eine bessere Option sein, da Sie alle Daten zuerst an den Client senden und JavaScript-Intervall verwenden, um alle 5 Sekunden eine $ -Zeile zu iterieren.

    echo '<script type="text/javascript"> 
        var data = ' . json_encode($rows) . '; 
        var output = document.getElementById("output-id"); 
        var i = 0; 
        var no_rows = data.length; 
        var interval = setInterval(function() { 
         output.appendChild(document.createTextNode(data[i].columnName)); 
         i++; 
         if (i >= no_rows) { 
          clearInterval(interval); 
         } 
        }, 5000); 
    </script> '; 
    
    Verwandte Themen