Gå til innhold

PHP Loop spm?


Anbefalte innlegg

Lurer på en liten ting.

Hvordan får jeg vist linje for linje i en loop med php, slik som fastname har på sin domenesøk.

 

Regner med det er en loop ivertfall, noen som vet hvordan det kan gjøres ?

Og kanskje har et lite eksempel :cool:

Endret av bazzo
Lenke til kommentar
Videoannonse
Annonse

Hva er det du er på jakt etter, at det skal dukke opp linje for linje eller er det selve domenesøket du er på jakt etter?

 

Det at det dukker opp litt tregt linje for linje skyldes at whois serverene bruker litt tid på å svare - og at det ikke er plassert i en tabell. I f.eks. IE vil tabeller føre til at tabellen i sin helhet ikke vises før innholdet er hentet.

 

Er du der i mot på jakt etter domene info må du gjøre en query på port 43 til tilhørende whois server. Du gjør da et whois oppslag, så søker du bare etter teksten "ikke funnet" eller tilsvarende. Denne teksten varierer mellom de forskjellige serverene, tror "no match" er den vanligste. Et lite søk på google.com vil til og med vise deg ferdige slike scripts.

Lenke til kommentar
Det at det dukker opp litt tregt linje for linje skyldes at whois serverene bruker litt tid på å svare - og at det ikke er plassert i en tabell. I f.eks. IE vil tabeller føre til at tabellen i sin helhet ikke vises før innholdet er hentet.

5516496[/snapback]

 

Men domenene hos fastname listes jo i en tabell ?

Lenke til kommentar

Vise noe linje for linje i PHP er vel greit:

 

<?
$arr[0] = "Linje 1";
$arr[1] = "Linje 2";
$arr[2] = "Linje 3";

foreach ($arr as $linje)
{
  echo $linje."<br />";
}
?>

Denne skriver ut arrayet linje for linje. Skal du bruke tabell blir det slik:

 

<?
$arr[0] = "Linje 1";
$arr[1] = "Linje 2";
$arr[2] = "Linje 3";

echo "<table>";
foreach ($arr as $linje)
{
  echo "<tr><td>$linje</td></tr>";
}
echo "</table>";
?>

Lenke til kommentar
Er det mulig å gjøre det i en while loop ?

5521168[/snapback]

Ja, men det blir grenseløst tungvidt.

 

$var[0] = "Foo 1";
$var[1] = "Foo 2";
$var[2] = "Foo 3";

while (!empty($var))
{
echo $var[0];
unset($var[0]);
sort($var);
}

 

Edit: Hva er det egentlig du er ute etter? Kan ikke si jeg helt skjønner problemstillingen her, og hvorfor skal du bruke en while-loop når foreach fungerer tilfredstillende?

Endret av Ernie
Lenke til kommentar
Edit: Hva er det egentlig du er ute etter? Kan ikke si jeg helt skjønner problemstillingen her, og hvorfor skal du bruke en while-loop når foreach fungerer tilfredstillende?

5521315[/snapback]

 

Jeg har et eksisterende script som jeg holder på å skrive om, men er ikke helt sikker enda på hvordan jeg vil gjøre det ?

 

Koden ser slik ut i dag, jeg vil at den skal skrive ut resultatene etterhvert som de blir hentet ut. Nå skriver den ikke noe før alle resultatene er hentet.

 

$ns = fsockopen($anic,43); fputs($ns,"$name\r\n");
$result = '';

while(!feof($ns)) $result .= fgets($ns,128); fclose($ns);

En masse output........

$i++;
}

Lenke til kommentar

while(!feof($ns)) $result .= fgets($ns,128);

Det er dette som er while-loopen din. Kan også skrives slik:

while(!feof($ns))
{
  $result .= fgets($ns,128);
}

...hvis det er mer while-loop-aktig. :)

 

Kan du ikke prøve å sette inn denne kode-snutten:

while(!feof($ns))
{
  $result .= fgets($ns,128);
  echo fgets($ns,128)."<br />";
}

...og så ser du hva den spyr ut.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...