Functie maken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Scrptr

Scrptr

19/03/2007 19:15:00
Quote Anchor link
Ik ben even aan het experimenteren met het maken van een eigen functie, dit lukt allemaal goed. Ik heb de volgende gemaakt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php

function table($naam, $adres, $datum)
  {

  echo '<tr><td>'.$naam.'</td><td>'.$adres.'</td><td>'.$datum.'</td><td>'.$id.'</td></tr>';
  $id++;
  }

?>

<table>
<tr><td>Je naam:</td><td>Je mail adres:</td><td>Datum</td></tr>
<?
table("Naam 1", "Adres 1", "Datum 1");
table("Naam 2", "Adres 2", "Datum 2");
table("Naam 3", "Adres 3", "Datum 3");
?>

</table>


Maar nu is de vraag: Hoe kan ik aan iedere keer dat de functie table() word uitgevoerd de waarde van $id met 1 verhogen, dus $id++
Gewijzigd op 01/01/1970 01:00:00 door Scrptr
 
PHP hulp

PHP hulp

19/04/2024 11:14:07
 
Thijs X

Thijs X

19/03/2007 19:22:00
Quote Anchor link
Ik denk dat je dit beter met een loopje kan doen

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?
echo '<table>';
for ($i = 1; $i < $aantal_afbeeldingen + 1; $i++)
{

echo '<tr><td>'.$naam.$i.'</td><td>'.$adres.'</td><td>'.$datum.'</td><td>'.$i.'</td></tr>';
}

echo '</table>';
?>


*Typo*
Gewijzigd op 01/01/1970 01:00:00 door Thijs X
 
Scrptr

Scrptr

19/03/2007 19:44:00
Quote Anchor link
maar kan het ook in een functie, dit voorbeeld met tabellen is misschien niet zo goed, maar het is meer een oefening voor me.
 
Scrptr

Scrptr

21/03/2007 10:32:00
Quote Anchor link
*Bump*
 
Sab Kriksdeegir

Sab Kriksdeegir

21/03/2007 10:41:00
Quote Anchor link
Het probleem is waarschijnlijk dat id altijd leeg blijft...
Dit is te wijten aan de scope van de variabele...

$id is in de functie een lokale variabele die enkel en alleen bestaat indien de functie aangeroepen wordt en nadat de functie afgesloten wordt uit het geheugen verwijnd....

Je kan dit oplossen adhv :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php

function table($naam, $adres, $datum)
  {

  static $id = 0;
  echo '<tr><td>'.$naam.'</td><td>'.$adres.'</td><td>'.$datum.'</td><td>'.$id.'</td></tr>';
  $id++;
  }

?>

<table>
<tr><td>Je naam:</td><td>Je mail adres:</td><td>Datum</td></tr>
<?
table("Naam 1", "Adres 1", "Datum 1");
table("Naam 2", "Adres 2", "Datum 2");
table("Naam 3", "Adres 3", "Datum 3");
?>

</table>



met de code static blijft de geheugenplaats voor $id bewaart
Gewijzigd op 01/01/1970 01:00:00 door Sab Kriksdeegir
 
- SanThe -

- SanThe -

21/03/2007 10:45:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php

function table($naam, $adres, $datum)
  {

   global $id;
  echo '<tr><td>'.$naam.'</td><td>'.$adres.'</td><td>'.$datum.'</td><td>'.$id.'</td></tr>';
  $id++;
  }

?>

<table>
<tr><td>Je naam:</td><td>Je mail adres:</td><td>Datum</td></tr>
<?
$id
= 1;
table("Naam 1", "Adres 1", "Datum 1");
table("Naam 2", "Adres 2", "Datum 2");
table("Naam 3", "Adres 3", "Datum 3");
?>

</table>
 
Sab Kriksdeegir

Sab Kriksdeegir

21/03/2007 10:52:00
Quote Anchor link
Een goede site voor de scope van variabelen is terug te vinden op :
http://be2.php.net/variables.scope
Gewijzigd op 01/01/1970 01:00:00 door Sab Kriksdeegir
 
Scrptr

Scrptr

21/03/2007 11:13:00
Quote Anchor link
Dank voor jullie reacties, ik heb hem werkende volgens de code van SanThe
 
Jacco Engel

Jacco Engel

21/03/2007 11:40:00
Quote Anchor link
Als ik me niet vergis kan :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$id
=0;
function
table($naam, $adres, $datum)
  {

  echo '<tr><td>'.$naam.'</td><td>'.$adres.'</td><td>'.$datum.'</td><td>'.$id.'</td></tr>';
  $id++;
  }

?>

<table>
<tr><td>Je naam:</td><td>Je mail adres:</td><td>Datum</td></tr>
<?
$id
= 1;
table("Naam 1", "Adres 1", "Datum 1");
table("Naam 2", "Adres 2", "Datum 2");
table("Naam 3", "Adres 3", "Datum 3");
?>

</table>

ook
(of is dat Alleen JS)
 
- SanThe -

- SanThe -

21/03/2007 12:02:00
Quote Anchor link
@Jacco: Nee, op die manier is $id niet bekend in de function.
 
Bart van der veen

bart van der veen

21/03/2007 12:03:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
function table($naam, $adres, $datum,$aantal) {
   for ($i = 1; $i < $aantal; $i++) {
echo '<tr><td>'.$naam.'</td><td>'.$adres.'</td><td>'.$datum.'</td><td>'.$i.'</td></tr>';
   }
}

?>

<table>
<tr><td>Je naam:</td><td>Je mail adres:</td><td>Datum</td><td>nr</td></tr>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
table("Naam", "Adres", "Datum",6);

?>

</table>
Gewijzigd op 01/01/1970 01:00:00 door bart van der veen
 
Baarr

Baarr

21/03/2007 13:20:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php

$i
=0;

function
echooo($tekst)
{

    global $i;
    $i++;
    echo $tekst;
}
// function echooo

echooo('abc');
echooo('def');

echo $i;


?>
 
Bart van der veen

bart van der veen

21/03/2007 13:43:00
Quote Anchor link
dan kun je net zo goed met return werken
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.