login  Naam:   Wachtwoord: 
Registreer je!
 Forum

global probleem

Offline Ultimatum - 08/05/2007 09:14
Avatar van UltimatumPHP expert Ey, in de construct van mijn class heb ik een query. De resultaten van deze query wil ik in elke functie van mijn classe gebruiken en daarom heb ik het resultaat global gemaakt maar hij laat niet zien. Als ik print_r() in de de construct doe dan laat het wel wat zien dus dat is het probleem niet

  1. <?php
  2. function __construct() {
  3. $select = mysql_query("SELECT city FROM countries");
  4. $arr = mysql_fetch_array($select);
  5.  
  6. global $arr;
  7. }
  8.  
  9. function showCity() {
  10. echo $arr['city'];
  11. }
  12. ?>


Bij bovenstaande heb ik de query even wat ingekort anders werd het wat lang. Maar als ik print_r($arr) doe dan krijg ik dus een resultaat. en als ik echo $arr['city']; doe dan laat hij niets zien..

10 antwoorden

Gesponsorde links
Offline Dark_Paul - 08/05/2007 11:06
Avatar van Dark_Paul PHP ver gevorderde Moest je niet nog ergens aangeven dat $arr een global is?
Offline Ultimatum - 08/05/2007 11:11
Avatar van Ultimatum PHP expert Hoe bedoel je? Ik geef toch aan in de constructor dat $arr overal bereikbaar moet zijn?
Offline Anoniem - 08/05/2007 11:25
Avatar van Anoniem PHP gevorderde Je kunt, denk ik, beter met lidvariabelen gaan werken:

  1. <?php
  2. var $select;
  3. var $arr;
  4.  
  5. function __construct() {
  6. $this -> select = mysql_query("SELECT city FROM countries");
  7. $this -> arr = mysql_fetch_array($select);
  8. }
  9.  
  10. function showCity() {
  11. echo $this -> arr['city'];
  12. }
  13. ?>
Offline marten - 08/05/2007 11:52
Avatar van marten Beheerder
  1. <?php
  2. public $city;
  3.  
  4. function __construct() {
  5. $select = mysql_query("SELECT city FROM countries");
  6. if(mysql_num_rows($select) != 0) {
  7. while($r = mysql_fetch_array($select)) {
  8. $this->city = $r['city'];
  9. }
  10. }
  11.  
  12. function showCity() {
  13. echo $this->city;
  14. }
  15. ?>


Ik denk dat het zo nog beter is 
Offline Ultimatum - 08/05/2007 11:54
Avatar van Ultimatum PHP expert Maar stel dat ik nou meerdere velden in mijn query heb en die wil ik er ook uit lezen. Moet ik dan voor elk veld een aparte var aanmaken dan?
Offline Thomas - 08/05/2007 12:22
Avatar van Thomas Moderator Het is ook niet verboden om methoden parameters mee te geven .
En als je de waarde(n) later nog nodig hebt kun je ze binnen je object opslaan.
Offline Ultimatum - 08/05/2007 12:48
Avatar van Ultimatum PHP expert @fangorn, verklaar je nader . (methode == functie?:p)
Offline Ibrahim - 08/05/2007 12:49 (laatste wijziging 08/05/2007 12:49)
Avatar van Ibrahim PHP expert bij elke veld, sla je dit op in een class array, zodat je die makkelijk kunt uitlezen

@hierboven, methoden zijn functies ja, wil je soms variabelen parameters meegeven 
Offline marten - 08/05/2007 12:50
Avatar van marten Beheerder Ik werk altijd met het MVC pattern. Ik maak dan de models zo dat ze een data object van een database tabel vormen. Hier staat wel een voorbeeld zoals ik die toentertijd gemaakt heb. scriptje

Ik had het voorbeeld toen van Tri Pham en ben en het steeds meer gaan gebruiken.
Offline nemesiskoen - 08/05/2007 14:13
Avatar van nemesiskoen Gouden medaille

PHP expert
@marten: of je loopt niet door de resultaten(/selecteert laatste resultaat) of je maakt van die '$city' een array, want hoe het er nu uitziet dan sla je telkens het laatste resultaat op.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.235s