[php]beetje hulp gevraagd met for loop

Pagina: 1
Acties:

  • procyon
  • Registratie: Februari 2000
  • Laatst online: 31-08 22:24
ik heb hier een stukje code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?
  if (!$searchtype || !$searchterm)
  {
     echo "Niet alle velden zijn ingevuld.  Ga terug en probeer het nog eens.";
     exit;
  }
  
  $searchtype = addslashes($searchtype);
  $searchterm = addslashes($searchterm);

  @ $db = mysql_pconnect("localhost", "******", "******");

  if (!$db)
  {
     echo "Kan geen verbinding maken met de database.  Probeer het later nog eens.";
     exit;
  }

  mysql_select_db("looney");
  $query = "select * from boeken where ".$searchtype." like '%".$searchterm."%'";
  $result = mysql_query($query);

  $num_results = mysql_num_rows($result);

  echo "<p>Aantal boeken gevonden: ".$num_results."</p>";

  for ($i=0; $i <$num_results; $i++)
  {
     $row = mysql_fetch_array($result);
     echo "<p><strong>".($i+1).". Titel: ";
     echo stripslashes($row["titel"]);
     echo "</strong><br>Schrijver: ";
     echo stripslashes($row["schrijver"]);
     echo "<br>ISBN: ";
     echo stripslashes($row["isbn"]);
     echo "<br>Prijs: ";
     echo stripslashes($row["prijs"]);
     echo "</p>";
  }

?>

Hey guys,

wie kan mij uitleggen waar (for ($i=0; $i <$num_results; $i++) dit voor dient? en dan vooral die variabele i

In normaal nederlands?

edit: ik heb maar ff je l/p verwijderd |:(

Verwijderd

i is gewoon een teller, om aan te geven hoe vaak hij de lus door moet lopen, had je ook makkelijk zelf kunnen bedenken, tenminste als je de functie van for(..;..;..) snapt :P

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

okay, vooruit dan:

Wat we hier zien is een for loop, wat hij doet
Hij geeft $i de waarde 0, de kijkt hij of $i kleiner is als de waarde $num_results. Als dat zo is wordt het geen wat tussen { } staat uitgevoerd.
Wanneer hij daarmee klaar is wordt $i++ uitgevoerd oftewel er wordt 1 bij $i opgeteld.

Dan wordt de vergelijking $i<$num_results weer uitgevoerd.

Dit proces herhaald zich totdat $i groter of gelijk is aan $num_results

test het anders eens met:
PHP:
1
2
3
4
5
6
<?
for($i=0; $i <= 10; $i++)
{
   echo("waarde = " . $i);
}
?>

Verwijderd

Dat bedoel ik, alleen wasigh is dit niet een heel klein beetje heel erg veel basic?? Niet dat ik het erg vindt dat er antwoord gegeven wordt hoor, maar iedereen kan toch zelf zoeken. Dit lijkt me een typisch geval van ik heb een scriptje, maar ik weet niet hoe het werkt.

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

for syntax

for ( Doe 1 maal aan begin van de lus; Voorwaarde van de lus; Doe elke keer na de lus )
{
LUS
}

Dus
for (i=0 (om zeker van te zijn dan i 0 is; Als i kleiner dan het numresults; hoog i na elke lus met 1 op.)

Programmer - an organism that turns coffee into software.


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Ja, in principe wel
Maar ik had een onoverwinbare drang het goed uit te leggen ;)

en een beetje vriendelijkheid op zijn tijd is nooit weg ;)

Verwijderd

Op dinsdag 22 januari 2002 13:50 schreef LuCarD het volgende:
for syntax

for ( Doe 1 maal aan begin van de lus; Voorwaarde van de lus; Doe elke keer na de lus )
{
LUS
}

Dus
for (i=0 (om zeker van te zijn dan i 0 is; Als i kleiner dan het numresults; hoog i na elke lus met 1 op.)
Precies das het hele eieren eten (of hoe dat spreekwoord ook mag luiden)

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Op dinsdag 22 januari 2002 13:43 schreef Procyon for life het volgende:
ik heb hier een stukje code:
code:
1
2
3
4
5
6
7
8
9
10
<?
  
     $num_results = mysql_num_rows($result);
[knip]

  for ($i=0; $i <$num_results; $i++)
  {
  }

?>
Heel erg basic....maarja in nederlands.

Eerst nemen we het aantal rijen wat uit de vraagstelling naar de db terugkomt.

Dan zeggen we. Begin met tellen op 0. Stop met tellen als het getal boven het aantal rijen dat terug kwam uit de db komt. En ga in stapjes van 1 omhoog.

Voor elke keer dat we kunnen tellen, voer dan alles uit wat tussen de { en de } staat.

Verwijderd

Op dinsdag 22 januari 2002 13:51 schreef wasigh het volgende:
Ja, in principe wel
Maar ik had een onoverwinbare drang het goed uit te leggen ;)

en een beetje vriendelijkheid op zijn tijd is nooit weg ;)
Ben ik het wel mee eens, vind ook dat noobs (neem ff aan dat hij dat is) een kans moeten krijgen, ben zelf ook helemaal onderaan begonnen en nog steeds niet alwetend :)

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op dinsdag 22 januari 2002 13:53 schreef doniek het volgende:

[..]

Ben ik het wel mee eens, vind ook dat noobs (neem ff aan dat hij dat is) een kans moeten krijgen, ben zelf ook helemaal onderaan begonnen en nog steeds niet alwetend :)
En hij heeft de goede instelling, hij wil iets leren :)

Hij komt niet met: "hee dit werkt niet fix het eens'!!!"
;)

  • procyon
  • Registratie: Februari 2000
  • Laatst online: 31-08 22:24
ok guys,

Ik ben jammergenoeg op dit gebied echt een beginner, ik begrijp het stukje nu helemaal en ben blij dat jullie me ermee geholpen hebben. (op mijn niveau)
thanx!!

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op dinsdag 22 januari 2002 14:03 schreef Procyon for life het volgende:
ok guys,

Ik ben jammergenoeg op dit gebied echt een beginner, ik begrijp het stukje nu helemaal en ben blij dat jullie me ermee geholpen hebben. (op mijn niveau)
thanx!!
np graag gedaan ;)

Verwijderd

De eerste expressie in de for-lus word alleen bij de eerste lusdoorgang uitgevoerd, de tweede expressie word bij iedere lusdoorgang uitgevoerd zodra het de waarde FALSE krijgt eindigt de lus. De derde expressie word bij iedere lusdoorgang uitgevoerd behalve de eerste.
Pagina: 1