login  Naam:   Wachtwoord: 
Registreer je!
 Forum

if (voorwarade) ? +1 : = 1; doet nogal vreemd (Opgelost)

Offline Nrzonline - 11/06/2007 17:28
Avatar van NrzonlinePHP ver gevorderde Hey SiMa Leute,

Sorry voor de (super)vage titel, maar ik kan geen betere bedenken op het moment.

Mijn probleem is als volgt. De while () loop wordt per record in de
database gelooped. Nu heb ik hetvolgende:

  1. <?PHP
  2. while ($asVar = mysql_fetch_assoc ($sQuery))
  3. {
  4. if ($asVar['var'] == 'vergelijking')
  5. {
  6. if (isset ($iAantal) ? $iAantal+1 : $iAantal = 1);
  7. echo $iAantal;
  8. }
  9. echo $iAantal;
  10. }
  11. // Output:
  12. # 1
  13. # 11
  14. ?>


Ofterwijl, binnen de tweede if () geeft hij de $iAantal wel goed weer, maar buiten die if, plaatst hij twee ééntjes achter elkaar,
alsof hij twee vars achter elkaar zet: 1 . "" . 1

Weet iemand wat ik hier fout doe?
Alvast bedankt,
Edwin ter H.

3 antwoorden

Gesponsorde links
Offline GTW - 11/06/2007 17:31 (laatste wijziging 11/06/2007 17:31)
Avatar van GTW Gouden medaille

PHP gevorderde
kun je niet gewoon $iAantal++; gebruiken?
of wil je uiteindelijk ook meer gaan optellen, dan kun je += gebruiken 
Offline Rik - 11/06/2007 17:35
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Ik zou er sowieso dit van maken, dat ziet er veel duidelijker uit:
  1. <?php
  2. $iAantal = isset($iAantal) ? $iAantal + 1 :1;
  3. ?>
Offline Nrzonline - 11/06/2007 17:39 (laatste wijziging 11/06/2007 17:43)
Avatar van Nrzonline PHP ver gevorderde Ahh, gefixed. Ik was zo dom om het binnen die while loop te doen natuurlijk. Tjah, dan krijg je

waarde 1: begin loop
echo $aantal;
waarde 2: herhaal loop
echo $aantal;

Ik heb dus die controle van de $iAantal buiten de loop gezet.
Domme fout, simpele oplossing 

Toch bedankt GTW

@Boukefalos
Toegepast, thnx
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.218s