Hovedside

Informasjon
- Videointro
- Presentasjon
- Sagt om boka
- Nytt i 4.utgave
- Bruk av boka
- Innholdsfortegnelse
- Stikkordregister
- Prøvekapittel
- FAQ: spørsmål og svar
- Kjøp boka


Ressurser
- Installasjonshjelp
- Kodesnutter
- Løsninger
- Relevante kurs
- Trykkfeil
- Lenker
- Video


Diverse
- Tilbakemelding
- Diskusjonsforum
- Om forfatteren


 
 

Forum: Hjelp

Beskrivelse: Her kan du få hjelp til ting som du synes er vanskelig i boka.
(opprettet 24.07.2005)


Innlegg som vises nå

29 January 2006 kl 21:50:01Svar er ikke lenger mulig 
Postet av: Anonym
Re: $neste[0]

Kodesnutten er slik (klipper bort det uvesentlige:

$matrise = file("gjester.txt");
foreach ($matrise as $linje) {
     $neste = explode("***---***", $linje);
     echo "<h2>" . $neste[0] . "</h2>";
     //osv, klippet noe her...
}

Det som skjer er at alle LINJER på filen gjester.txt leses inn i en matrise. Hver linje blir ett element i matrisen. Er det 10 linjer på fil, blir det 10 matriseelementer.

Matrisen heter $matrise. Med foreach-løkken gjennomgås denne, element for element. For hvert element (dvs for hver gang foreach gjennomgås) legges neste matriseelement i variabelen $linje. Det betyr at $linje overskrives for hver runde, men det gjør ikke noe siden vi behandler informasjonen FØR den overskrives i neste løkke-runde.

Se på filen i figur 8.6. Der ser du at hver linje har et fast mønster: 3 informasjonsdeler (navn, melding, link) adskilt med ***---*** mellom. Til slutt på hver linje kommer et rart tegn (observer firkant-tegnet før "Kari"). Dette er tegnet for linjeskift.

Første gang foreach kjører, jobber du med første linje fra filen (blir lagt fra matrisens første element og over i variabelen $linje). Dersom du prøver å skrive ut $linje direkte, får du følgende linje ut:

Ola Nordmann***---***Hei, du har fine hjemmesider***---***www.ola-nordmann.no***---***

Det du ønsker, er å dele opp informasjonen i mindre deler, det vil si plukke ut alt mellom ***---***

For å gjøre dette, brukes explode() funksjonen. Denne er veldig lur. Se på eksempler fra php-manualen, eller les forklaringen på andre steder i boka.

explode mottar en streng, splitter denne opp basert på oppgitte mønster, og legger resultatet i en MATRISE. Denne matrisen kaller jeg i boka for $neste.

Det er derfor jeg til slutt skriver

echo $neste[0];

Det er det samme som å skrive ut NAVNET. Dersom jeg skriver echo $neste[1]; er det MELDINGEN som kommer ut.

Siden alt er inne i en løkke, vil alle deler fra alle gjester skrives ut, i kontrollerte former. Dette eksempelet er egentlig enkelt, men kan være vanskelig å få tak på. Det fine er at når en forstår det, er en midt i hjertet av databehandling med PHP. Data fra eksterne kilder (databaser og tekstfiler) er utrolig givende å jobbe med!

Lykke til!

 


Alle meldinger i dette forumet
Klikk på meldingene for å se innholdet, eller gå tilbake til forum-oversikten. Meldingene er sortert etter nyeste innlegg først.

Eksportere lokal SQL til tjener (Kjetil Larsen)
                   Re: Eksportere lokal SQL til tjener (anonym)
Filopplasting i safe mode (anonym)
Variabler i html-tag'er (anonym)
                   Re: Variabler i html-tag'er (anonym)
Problem med gjestebok (anonym)
Får ikke Apache 2.0.59 til å virke :( (anonym)
Hacking (Espen Kristensen)
                   Re: Hacking (anonym)
the requested operation have failed (Odd Einar Svendsen)
                   Re: the requested operation have failed (Svend Andreas Horgen)
                            Re: Re: the requested operation have failed (Odd Einar Svendsen)
Avansert SELECT setning med ListMeny og Checkbox (anonym)
MySql tar ikke default verdi i tekstfelt (anonym)
Hacking av index fil (anonym)
                   Re: Hacking av index fil (Markus)
Kontrollstrukturen FOREACH (anonym)
Maks innlegg per side (Simen)
                   Re: Maks innlegg per side (Svend Andreas Horgen)
JavaScript dialog (anonym)
JavaScript dialog (anonym)
Problemer med kodesnutt 10.1 (Koble til mySQL fra PHP (anonym)
                   Re: Problemer med kodesnutt 10.1 (Koble til mySQL fra PHP (Espen Kristensen)
                            Re: Re: Problemer med kodesnutt 10.1 (Koble til mySQL fra PHP (anonym)
                                     Re: Re: Re: Problemer med kodesnutt 10.1 (Koble til mySQL fra PHP (anonym)
Problem med import av norske tegn i XML fil (anonym)
Problem med import av norske tegn i XML fil (anonym)
                   Re: Problem med import av norske tegn i XML fil (Svend Andreas Horgen)
                            Re: Re: Problem med import av norske tegn i XML fil (anonym)
mbstring - phpMyAdmin 2.6.4-pl3 (anonym)
                   Re: mbstring - phpMyAdmin 2.6.4-pl3 (anonym)
                            Re: Re: mbstring - phpMyAdmin 2.6.4-pl3 (Espen Kristensen)
                            Re: Re: mbstring - phpMyAdmin 2.6.4-pl3 (Espen Kristensen)
                                     Re: Re: Re: mbstring - phpMyAdmin 2.6.4-pl3 (anonym)
sql injection (anonym)
Kakediagram i kap 12.- er det helt riktig? (anonym)
                   Re: Kakediagram i kap 12.- er det helt riktig? (Svend Andreas Horgen)
                            Re: Re: Kakediagram i kap 12.- er det helt riktig? (anonym)
Info om PEAR (anonym)
                   Re: Info om PEAR (Svend Andreas Horgen)
register_globals og sikkerhet (anonym)
$neste[0] (Tommy Eggen)
                   Re: $neste[0] (anonym)
Tips til nyhetsløsningen (anonym)
                   Re: Tips til nyhetsløsningen (Svend Andreas Horgen)
                            Re: Re: Tips til nyhetsløsningen (anonym)
                                     Re: Re: Re: Tips til nyhetsløsningen (Svend Andreas Horgen)
                                              Re: Re: Re: Re: Tips til nyhetsløsningen (anonym)
                                                       Re: Re: Re: Re: Re: Tips til nyhetsløsningen (Lennart F)
                                                                Re: Re: Re: Re: Re: Re: Tips til nyhetsløsningen (Svend Andreas Horgen)
                                                                         Re: Re: Re: Re: Re: Re: Re: Tips til nyhetsløsningen (Lennart F)
                   Re: Tips til nyhetsløsningen (anonym)
                   Re: Tips til nyhetsløsningen (anonym)
fwrite() (s. 395 i boka) (Tommy Eggen)
                   Re: fwrite() (s. 395 i boka) (Svend Andreas Horgen)
Får ikke mail, buhu :( (Are)
                   Re: Får ikke mail, buhu :( (Svend Andreas Horgen)
Enter ved utfylling av skjema (anonym)
                   Re: Enter ved utfylling av skjema (anonym)
                            Re: Re: Enter ved utfylling av skjema (Svend Andreas Horgen)
Problemer med gjestebok (anonym)
                   Re: Problemer med gjestebok (Svend Andreas)
Hvordan få ny setning i en inc.fil? (Elin Johansen)
                   Re: Hvordan få ny setning i en inc.fil? (Svend Andreas Horgen)
Hvordan gjøre en en variabel død? (Elin Johansen)
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ...... (Norvall)
                   Re: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ...... (anonym)
Fullstendig adresse? (anonym)
                   Re: Fullstendig adresse? (anonym)
Får ikke kontakt med MySQL serveren (anonym)
                   Oppdatering: Får ikke kontakt med MySQL serveren (anonym)
                            Re: Oppdatering: Får ikke kontakt med MySQL serveren (Svend Andreas)
                            Re: Oppdatering: Får ikke kontakt med MySQL serveren (anonym)
Session (anonym)
                   Re: Session (anonym)
password() (anonym)
password() (anonym)
                   Re: password() (Svend Andreas)
Logg ut? (anonym)
                   Re: Logg ut? (anonym)
                            Re: Re: Logg ut? (anonym)
                                     Re: Re: Re: Logg ut? (anonym)
                                              Re: Re: Re: Re: Logg ut? (anonym)
                                                       Re: Re: Re: Re: Re: Logg ut? (anonym)
                                                                Re: Re: Re: Re: Re: Re: Logg ut? (anonym)
Logg ut? (anonym)
                   Re: Logg ut? (Svend Andreas)
Help meg! mail() som sender brukenavn og passord fra databasen til bruker (anonym)
                   Re: Help meg! mail() som sender brukenavn og passord fra databasen til bruker (anonym)
Help meg! Vær så snill! Sessioner (Maria Knutsen)
                   Re: Help meg! Vær så snill! Sessioner (Svend Andreas Horgen)
Pålogging apache (anonym)
                   Re: Pålogging apache (anonym)
                            Re: Re: Pålogging apache (Svend Andreas Horgen)
Handlekurv med PHP og MySQL (anonym)
                   Re: Handlekurv med PHP og MySQL (anonym)
Utlogging av .htaccess! (anonym)
                   Re: Utlogging av .htaccess! (anonym)
                            Re: Re: Utlogging av .htaccess! (Svend Andreas Horgen)
                   Re: Utlogging av .htaccess! (anonym)
                            Re: Re: Utlogging av .htaccess! (anonym)
Betalingsløsning (anonym)
                   Re: Betalingsløsning (Svend Andreas Horgen)
                   Re: Betalingsløsning (anonym)
Sortering av kolonner i tabell (anonym)
                   Re: Sortering av kolonner i tabell (Svend Andreas Horgen)
Takk! (anonym)
Hjelp! loggin.php virker ikke! Haster (anonym)
                   Re: Hjelp! loggin.php virker ikke! Haster (Svend Andreas Horgen)
inkludering av sider via lenker (anonym)
                   Re: inkludering av sider via lenker (Svend Andreas Horgen)
loggin.php (anonym)
                   Re: loggin.php (anonym)
                            Re: Re: loggin.php (anonym)
Noen som kan hjelpe til med Mail funksjonen (Frode Dahl)
                   Re: Noen som kan hjelpe til med Mail funksjonen (anonym)
                            Re: Re: Noen som kan hjelpe til med Mail funksjonen (anonym)


Nytt innlegg

MULIGHETEN FOR Å LEGGE INN NYE INNLEGG ER AVVIKLET, GRUNNET MYE SPAM (januar 2007). Nytt forum kommer kanskje om en stund.