login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Vergelijking (Opgelost)

Offline zwobbel - 09/11/2007 09:57 (laatste wijziging 09/11/2007 09:58)
Avatar van zwobbelPHP gevorderde Ik wil het volgende werkend krijgen:
  1. $_GET['Fp'] ? $_SESSION['status'] = 1 : $_SESSION['status'] = 0 ? $_GET['Fp'] > 1 ? $show = 'AND `status` = \'".addslashes($_SESSION[\'status\'])."\'' : $show = '' ;


Bedoeling is:
Als $_GET['Fp'] = 1 krijgt
$_SESSION['status'] = 1 & $show = 'AND `status` = \'".addslashes($_SESSION[\'status\'])."\'';

Als $_GET['Fp'] = 0 krijgt
$_SESSION['status'] = 0 & $show = 'AND `status` = \'".addslashes($_SESSION[\'status\'])."\'';

Als $_GET['Fp'] = 2 krijgt
$_SESSION['status'] = 0 & $show = '';

8 antwoorden

Gesponsorde links
Offline Mad_Mike - 09/11/2007 11:50
Avatar van Mad_Mike PHP beginner een switch gebruiken? Volgens mij is een (verkort) if-statement niet bedoeld om meerdere vergelijkingen op deze manier uit te voeren.
Offline Abbas - 09/11/2007 12:16 (laatste wijziging 09/11/2007 12:16)
Avatar van Abbas Gouden medaille

Crew .NET
Volgens mij is dat ook niet echt de bedoeling en nog daarbovenop is het nog eens enorm verwarrend. Naar hetgeen je wil bereiken kan je het gewoon zo oplossen:

  1. if($_GET['Fp'] == 0 || $_GET['Fp'] == 1)
  2. {
  3. $_SESSION['status'] = $_GET['Fp'];
  4. $show = 'AND `status` = \'".addslashes($_SESSION[\'status\'])."\'';
  5. }
  6. else
  7. {
  8. $_SESSION['status'] = 0;
  9. $show = '';
  10. }
Offline ikki007 - 09/11/2007 13:00 (laatste wijziging 09/11/2007 13:01)
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
  1. <?php
  2.  
  3. if($_GET['Fp'] == 0)
  4. {
  5. $_SESSION['status'] = 0;
  6. $show = 'AND `status` = '".addslashes($_SESSION[\'status\'])."\'';
  7. }
  8. elseif($_GET['Fp'] == 1)
  9. {
  10. $_SESSION['status'] = 1;
  11. $show = 'AND `status` = '".addslashes($_SESSION[\'status\'])."\'';
  12. }
  13. elseif($_GET['Fp'] == 2)
  14. {
  15. $_SESSION['status'] = 0;
  16. $show = NULL;
  17. }
  18. ?>


Gewoon zoiets?
Offline Mad_Mike - 09/11/2007 13:18
Avatar van Mad_Mike PHP beginner In dat geval gewoon een switch statement, dat is netter dan al die elseif constructies 
Offline Abbas - 09/11/2007 13:32
Avatar van Abbas Gouden medaille

Crew .NET
Kijk naar mijn code, dat is maar 1 if met een else. Want als die $_GET['Fp'] 0 of 1 is zet je gewoon die $_GET['Fs'] - waarde in de sessie. De variabele '$show' is hetzelfde of het nu 0 of 1 is. En in de else hoort het stuk als die $_GET 2 is. Mijn code is dus zeker goed! 
Offline ikki007 - 09/11/2007 13:44
Avatar van ikki007 Gouden medailleGouden medaille

PHP ver gevorderde
Mad_Mike schreef:
In dat geval gewoon een switch statement, dat is netter dan al die elseif constructies 


Vind ik niet.
Ik lees if/else/elsif veel lekkerder, gewoon Als, anders als, overig.
Met een switch kan ik dit lang niet zo goed, dus dat is gewoon puur wat je zelf makkelijk vind denk ik zo.

Qua tijd zal het ook niet veel uitmaken denk ik.
Offline Mad_Mike - 09/11/2007 13:52
Avatar van Mad_Mike PHP beginner wat jij vindt moet je bij de politie brengen 

Maar net wat jij zegt, dat is meer persoonlijk. Het kan op alle twee de manieren. Denk dat TO nu ook wel genoeg suggesties heeft op zijn probleem op te lossen 
Offline Abbas - 09/11/2007 16:10
Avatar van Abbas Gouden medaille

Crew .NET
En toch is mijn if-else structuur korter en sneller. Bij een switch heb je ook 3 mogelijkheden. Met mijn code neem je 2 mogelijke gevallen op: korter en sneller! 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.221s