login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Array vraag

Offline demich - 24/11/2006 20:24 (laatste wijziging 24/11/2006 20:24)
Avatar van demichNieuw lid Dit is dus een fragment uit mijn code.
  1. <?php
  2. $dagen = array("zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag");
  3. $vandaag = $dagen[date("w")];
  4. $dagenbezet = array("$vandaag");
  5. $sql1= mysql_query("SELECT*FROM uitdagingen WHERE geaccepteerd =1 AND speler1id = ".$speler1id." AND dag != '".$vandaag."'");
  6. while($rij1=$sql1)
  7. {
  8. $dag = $rij1 -> dag
  9. array_push($dagenbezet, $dag);
  10. }
  11. $sql2= mysql_query("SELECT*FROM uitdagingen WHERE geaccepteerd =1 AND speler2id= ".$uitgedaagd." AND dag != '".$vandaag."'");
  12. while($rij2=$sql2)
  13. {
  14. $dag = $rij2 -> dag
  15. array_push($dagenbezet, $dag);
  16. }
  17.  
  18. if(maandag niet in de array $dagenbezet )
  19. {
  20. doe iets
  21. }
  22. if(dinsdag niet in de array $dagenbezet)
  23. {
  24. doe iets
  25. }
  26. if(woensdag niet in de array $dagenbezet)
  27. {
  28. doe iets
  29. }
  30. ... enz.
  31.  
  32. ?>




En dit zijn mijn vragen:
1) Is de array ($dagenbezet) goed opgebouwd tot nu toe 
2) Hoe kan ik dus controleren of een bepaalde dag niet in de array zit  

4 antwoorden

Gesponsorde links
Offline roelh - 24/11/2006 21:23
Avatar van roelh PHP gevorderde vraag 2:
doeje gewoon

if(in_array($dagenbezet) == "maandag")
{
zit erin
}else
{
niet erin
}
Offline BigBug - 24/11/2006 22:04
Avatar van BigBug PHP expert @ Roelh, volgensmij klopt je script niet helemaal of het is slordig 

  1. <?php
  2. if(in_array($dagenbezet) && $dagenbezet == 'maandag')
  3. {
  4. //erin
  5. }
  6. else
  7. {
  8. // niet erin
  9. }
  10. ?>
Offline Xtent - 24/11/2006 23:06
Avatar van Xtent Onbekend @ roelh en BigBug, beide script zullen niet goed zijn aangezien de functie in_array() meerdere 'hoe heet het ook weer  ' nodig hebben dus bijvoorbeeld:

in_array('maandag', $dagenbezet)

--

@ demich, Ik snap niet helemaal wat je hiermee wil bereiken en hoe je het bedoeld dus kan je op het moment niet verder helpen, dus dit bericht was enkel om aan te tonen dat de bovenstaande reacties al fout zijn.
Offline demich - 25/11/2006 16:17
Avatar van demich Nieuw lid Deze code werkt dus nog niet

  1. <?php
  2.  
  3. //tekst en select formulier starten
  4. echo"Bepaal dag en uur voor de uitdaging tegen ".$spelernaam." met als manager ".$gebruikersnaam."<br>";
  5. echo"<form method=\"post\" action=\"daaguit.php?uitdager=$uitgedaagd\" >" ?>
  6. DAG:<br>
  7. <select name="dag"> <?php
  8.  
  9. //bepalen welke dag het vandaag is
  10. $dagen = array("zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag");
  11. $vandaag = $dagen[date("w")];
  12.  
  13. //array dagenbezet aanmaken
  14. $dagenbezet = array("$vandaag");
  15.  
  16. //zien of je zelf die dag al geen wedstrijden hebt
  17. $sql1= mysql_query("SELECT*FROM uitdaging WHERE geaccepteerd =1 AND speler1id = ".$speler1id." AND dag != '".$dag."'");
  18. while($rij1=$sql1)
  19. {
  20. /*dagen waarop je al een wedstrijd hebt toevoegen aan de array $dagenbezet */
  21. $dag = $rij1 -> dag ;
  22. array_push($dagenbezet, "$dag");
  23. }
  24.  
  25. //controleren of de tegenstrever die dag geen wedstrijden heeft
  26. $sql2= mysql_query("SELECT*FROM uitdaging WHERE geaccepteerd =1 AND speler2id= ".$uitgedaagd." AND dag != '".$dag."'");
  27. while($rij2=$sql2)
  28. {
  29. /*dagen waarop je tegenstrever een match heeft toevoegen aan array*/
  30. $dag = $rij2 -> dag ;
  31. array_push($dagenbezet, "$dag");
  32. }
  33.  
  34. /*wanneer maandag in de array $dagenbezet is (dit betekent ofwel dat het vandaag maandag is, je maandag al een match hebt of je tegenstrever maandag al een match heeft) kan je niet meer uitdagen en anders wel*/
  35. if(in_array('maandag', $dagenbezet) )
  36. { //niks
  37. }
  38. else
  39. {
  40. ?> <option>maandag</option> <?
  41. }
  42. //zo verder voor dinsdag, woensdag en andere dagen van de week
  43. if(in_array('dinsdag', $dagenbezet) )
  44. {
  45. }
  46. else{
  47. ?> <option>dinsdag</option> <?
  48. }
  49. if(in_array('woensdag', $dagenbezet) )
  50. {
  51. }
  52. else{
  53. ?> <option>woensdag</option> <?
  54. }


De bedoeling ervan is dus dat je iemand kan uitdagen voor een spel. Echter je mag max 1 spel per dag spelen en je tegenstrever natuurlijk ook. Je kan ook niet de zelfde dag uitdagen. Bijvoorbeeld als het zaterdag is kan je niet uitdagen om al zaterdag te spelen.

Dus de bedoeling van het script is dat je enkel die dagen waarop je nog niet bezet bent in het formulier komen staan.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.208s