[php] probleempje met functie maken

Pagina: 1
Acties:
  • 32 views sinds 30-01-2008

  • Mitsah
  • Registratie: Februari 2002
  • Laatst online: 09-10-2024
Ik wil een aantal stukken tekst uit een database halen. Hiervoor heb ik een Query geschreven, maar omdat ik niet 10 keer dezelfde query wil herhalen, wilde ik een functie maken. Er is echter een variabele in die functie:

Hier zijn 2 variabelen (variabel1 en variabel2). Zeg maar dat bij variabel1 pagina1, pagina2, pagina3.... enz moet komen en bij variabel2 blok1, blok2, blok3.... moet komen te staan.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function GetWebTekst($variabel1, $variabel2, $Connection){
$Query = " SELECT w.id_taal, w.pagina, w.onderdeel, w.tekst, t.id, t.omschrijving
           FROM webtekst w, taal t
           WHERE t.id = w.id_taal
           AND t.omschrijving = '". $lang . "'
                                   AND w.pagina = ' variabel1 '
           AND w.onderdeel = ' variabel2 ' ";

$Recordset = OpenQuery($Query, $Connection);
for ($index = 0; $index < numrows($Recordset); $index++){
$Record = FetchRow ($Recordset);

$tekst = $Record["tekst"];
}

echo  $tekst;
}


Ik dacht dit als volgt aan te roepen:
PHP:
1
GetWebTekst('pagina1','blok1',$Connection);


Nu is dit een van de eerste functies die ik schrijf en ben er dus niet zo bedreven in. Het zal dus wel iets simpels zijn. Wie kan me helpen.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

je kunt ook arrays meegeven :)

Als dat is wat je bedoelt.. want snap je verhaal niet 100% namelijk ;)

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

echo "variabel2";

doet heel iets anders dan

echo $variabel2;

Daarnaast vraag ik me af waarom je ALLE records gaat fetchen terwijl je er maar 1tje afdrukt.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 12-07 11:54
[quote]Mitsah schreef op 07 november 2002 @ 10:25:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function GetWebTekst($variabel1, $variabel2, $lang, $Connection){
$Query = ' SELECT w.id_taal, w.pagina, w.onderdeel, w.tekst, t.id, t.omschrijving
           FROM webtekst w, taal t
           WHERE t.id = w.id_taal
           AND t.omschrijving = \''. $lang .
           '\' AND w.pagina = ' .$variabel1 .
           ' AND w.onderdeel = '. $variabel2;

$Recordset = OpenQuery($Query, $Connection);
for ($index = 0; $index < numrows($Recordset); $index++){
$Record = FetchRow ($Recordset);

$tekst = $Record["tekst"];
}

return  $tekst;
}


Zoiets?

Wat doet de var $lang?
Volgens mij moet deze ook meegegeven worden aan de functie of hij moet binnen de functie als global gedeclareerd worden.

In dit voorbeeld heb ik hem meegegeven als functie parameter.

Ik heb ook de echo statement weggehaald en ik return de text. Ik houd niet van functies die 2 compleet verschillende dingen doen, fetch en echo in dit geval.

[ Voor 0% gewijzigd door stekkel op 07-11-2002 11:40 . Reden: $lang opmerking ]


  • Mitsah
  • Registratie: Februari 2002
  • Laatst online: 09-10-2024
$lang heeft te maken met de taal.

Maar hoe roep ik nu de functie aan? En hoe geef ik aan wat $variabel1 en $variabel2 moet zijn?

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 12-07 11:54
Bijvoorbeeld zo:
PHP:
1
2
3
4
5
6
7
8
9
10
$variabel1 = 'page_x';
$variabel2 = 'block_y';
$lang = 'NL';
$Connection = mysql_connect($hostname, $username, $password);
if ($Connection) {
   $tekst = GetWebTekst($variabel1, $variabel2, $lang, $Connection);
} else {
   $tekst = 'shit connectie mislukt<BR>';
}
echo $tekst;

$hostname, $username, $password moet je zelf nog even uitzoeken.

  • wacco
  • Registratie: Augustus 2002
  • Laatst online: 21-03-2023

wacco

cli, hlt.

ehm...
PHP:
1
2
3
<?
GetWebTekst($eerste_door_te_geven_variabele, $tweede, $Connection);
?>

Of snap ik je nu niet?

Spolap: Interactive webcomic


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 29-08 22:51

D2k

begin eens met het begrijpen van functies
is echt wel basic

Doet iets met Cloud (MS/IBM)

Pagina: 1

Dit topic is gesloten.