Toon posts:

[PHP] Optellen én terugtellen

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

Verwijderd

Topicstarter
Ik ben bezig met het maken van een CMS waarin de gebruiker onder andere de datums kan wijzigen van bepaalde berichten.

Er is bijvoorbeeld een categorie waar wedstrijden aangekondigd worden en het kan gebeuren dat zo'n wedstrijd verplaatst wordt naar een andere datum.

Ik haal dus onder andere de datum op van het bericht uit de database en echo die op deze manier:

HTML:
1
2
3
4
5
<select>
<option>
hier de datum, bijvoorbeeld 20
</option>
</select>


(Om bepaalde redenen heb ik voor elk gedeelte van de datum (datum, maand, jaar) een aparte <select><option>, maar dat is even niet relevant.)

Ik wil dus dat de opgehaalde datum, in dit geval 20, er default staat in de <option> en dat als je de <select> opent met het pijltje dat er dan vanaf 20 wordt teruggeteld naar 1 en wordt opgeteld naar 31.

Wat me wel lukt is om óf terug te tellen óf op te tellen, maar het lukt me niet allebei tegelijkertijd.


Zo tel ik terug:
PHP:
1
2
3
4
5
6
for ($rij['datumdag']=$rij['datumdag'];$rij['datumdag']>=1;$rij['datumdag']--)       
       {
     
       echo "<option>" . $rij['datumdag'] . "</option>";
  
       }



en zo tel ik op:
PHP:
1
2
3
4
5
6
for ($rij['datumdag']=$rij['datumdag'];$rij['datumdag']<=31;$rij['datumdag']++) 
      {
      
      echo "<option>" . $rij['datumdag'] . "</option>";
  
      }


Maar hoe kan ik die twee nou combineren?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Huh :?


HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
<select>
  <option>1</option>
  <option>2</option>
  <option>3</option>
  <option>4</option>
  ...
  <option>19</option>
  <option selected>20</option>
  <option>21</option>
  ...
  <option>30</option>
  <option>31</option>
</select>

Dan kun je gewoon met een lusje van 0-31 tellen en als de lusteller de juiste waarde bereikt (in jouw geval 20) dan poep je een "selected" er bij uit... Kwestie van een if-je er in gooien.

Of begrijp ik je probleem nou niet?

[ Voor 33% gewijzigd door RobIII op 16-11-2006 19:17 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Verwijderd schreef op donderdag 16 november 2006 @ 19:07:
PHP:
1
2
3
4
5
6
for ($rij['datumdag']=$rij['datumdag'];$rij['datumdag']<=31;$rij['datumdag']++) 
      {
      
      echo "<option>" . $rij['datumdag'] . "</option>";
  
      }
zowiezo vindt ik je for lus nogal vreemd. Het volgende is veel logischer
PHP:
1
2
3
4
for ($i = $rij['datumdag'];$i<=31;$i++) 
{
      echo "<option>" . $i . "</option>";
}

of als je perse $rij['datumdag'] op wilt hogen
PHP:
1
2
3
4
for (;$rij['datumdag']<=31;$rij['datumdag']++) 
{
      echo "<option>" . $rij['datumdag'] . "</option>";
}


Verder snap ik je vraag ook niet helemaal

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • bop
  • Registratie: Juni 2001
  • Laatst online: 19-08-2024

bop

VisualWeb

PHP:
1
2
3
4
5
6
7
for($i = 1; $i <= 31; $i++) {
     
  if($i == $rij['datumdag'])
     echo "<option selected>" . $i . "</option>";
  else
     echo "<option>" . $i . "</option>";
}

of iets in die trant lijkt me idd ook gewoon de oplossing.. :)

doe niet aan signatures.. uhhh, arghhh


Verwijderd

Topicstarter
Ik denk dat je mijn probleem wel begrijpt, echter ik had nog nooit van een <option selected> gehoord :). Ik dacht dat er alleen maar 'gewone' <option>'s in een <select> konden staan.

Dank je wel, ik ga het even proberen.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Toch wel basic dit :X

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1

Dit topic is gesloten.