bazzo Skrevet 29. januar 2006 Del Skrevet 29. januar 2006 (endret) 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 Endret 29. januar 2006 av bazzo Lenke til kommentar
???????? Skrevet 29. januar 2006 Del Skrevet 29. januar 2006 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
bazzo Skrevet 29. januar 2006 Forfatter Del Skrevet 29. januar 2006 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
Albino Skrevet 29. januar 2006 Del Skrevet 29. januar 2006 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
bazzo Skrevet 30. januar 2006 Forfatter Del Skrevet 30. januar 2006 Er det mulig å gjøre det i en while loop ? Lenke til kommentar
Ernie Skrevet 30. januar 2006 Del Skrevet 30. januar 2006 (endret) 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 30. januar 2006 av Ernie Lenke til kommentar
bazzo Skrevet 30. januar 2006 Forfatter Del Skrevet 30. januar 2006 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
Albino Skrevet 30. januar 2006 Del Skrevet 30. januar 2006 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå