2016-05-16 8 views
1

Also habe ich dieses Problem, wo ich einen Datenbank-Client habe, und wie es jetzt ist, dass wenn die Seite geladen wird, es Abschnitte für jede Zeile in einer Datenbank generiert Tabelle mit einem Domain-Namen und der entsprechenden IP-Adresse dafür mit PHP.Ein Whois-Skript für eine Verzögerung einrichten

Darüber hinaus habe ich eine "zusätzliche Information" -Schaltfläche, die Informationen von einer php whois -API-Site lädt, die die entsprechende Adresse scannt und alle whois -Informationen über diese Site zurückgibt (Erstellungsdatum, Ablaufdatum) usw.)

Also ich möchte dieses System von einem Knopf zu einem sofortigen System ändern, kann aber nicht scheinen.

Ich denke, das Problem auf der Seite liegt versuchen, alle Skripte zu laden, bevor sie die Informationen erhalten

//This is the Jquery for the button press, which loads the additional information 


$(document).ready(function showresult(){ 
    $(".showinfo").click(function(){ 


     site = ($(this).closest('.row').find('li:first').text()); 

     $('.result').load('http://localhost/database/phpwhois-4.2.2/whois.php?query='+site+'&output=nice #result '); 
     $('.result').show(); 

     $('.hideinfo').show(); 
     $('.showinfo').hide(); 

      }); 
    }); 

Und dann die PHP

print "<div class='row'>"; 
print "<li class='names'>".$row['name']."</li>"; 
print "<li class='add'>".$row['add']."</li>"; 
print "<br><br>"; 

print "<div class='addinfo'> 
        <button class='showinfo'>More information </button> 

     <div class='result'> 

     </div> 

„;

EDIT

Also das, was ich versuchte, die nicht war in den Linien der

$(document).ready(function(){ 
    setTimeout(showinfo, 1000); 
} 


    function showinfo(){ 

     site = ($(this).closest('.row').find('li:first').text()); 

    $('.result').load('http://localhost/database/phpwhois-4.2.2/whois.php?query='+site+'&output=nice #result '); 
    $('.result').show(); 

    $('.hideinfo').show(); 
    $('.showinfo').hide(); 

     }); 
    }); 
+0

Wo ist der Code, den Sie bereits für das "instantenous system" ausprobiert haben? – 2pha

+0

Nun, im Grunde die Sache, die ich versuchte, war nur wegnehmen die Notwendigkeit für klicken Sie in $ (". Showinfo"). Klicken Sie auf (function() und dann eine Verzögerung von 2 Sekunden für das Laden dieser Funktion – matsutus

+0

Entfernen Sie einfach das Click-Ereignis Listener funktioniert nicht, weil die Funktion innerhalb des Click-Handlers auf '$ this' angewiesen ist, um die nächste Zeile zu finden. Sie sollten die Zeilen durchlaufen. Ich werde eine Antwort hinzufügen. – 2pha

Antwort

2

Sie so etwas wie dieses etwas nicht funktioniert benötigen:

$(document).ready(function(){ 
    // Find each row 
    $('.row').each(function(){ 
    // Store the current row JQuery object so we only have to find this once (better performance). 
    var currentRow = $(this); 
    // get the first li text 
    var site = currentRow.find('li:first').text(); 
    // Query whois and put it into result 
    currentRow.find('div.result').load('http://localhost/database/phpwhois-4.2.2/whois.php?query='+site+'&output=nice); 
    }) 
}); 

Dieser Code ist nicht getestet.
Auch ...
Ihre li s sollte von einer ul oder ol umschlossen werden.

+0

Das funktioniert! Es lädt die Informationen auf der Seite laden! Vielen Dank viel Mann! :) Auch, danke für Ihren Prozess kommentieren – matsutus