Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Połączenie case i for
Bojakki
post
Post #1





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

Ostrzeżenie: (0%)
-----


Mam taki kod:

  1. $query = mysql_query("SELECT year FROM bb_date WHERE bud = $id ORDER BY year DESC") or die(mysql_error());
  2. while($gene=mysql_fetch_row($query)){
  3. $year = $gene[0];
  4. switch ($year){
  5. for($x = 1995;$x <= date("Y"); $x++){
  6. case $x: $y[$x]++;
  7. }
  8. }
  9. }


Chciałem forem wygenerowac od razu case by nie pisac:

case: 1994: $y[1994]++;
case: 1995: $y[1995]++;
case: 1996: $y[1996]++;
case: 1997: $y[1997]++;
case: 1998: $y[1998]++;
case: 1999: $y[1999]++;
.......

Pojawia sie blad:
Cytat
Parse error: syntax error, unexpected T_FOR, expecting T_CASE or T_DEFAULT or '}' in /home/ur/ftp/bud.php on line 123


Ten post edytował Bojakki 13.01.2010, 15:04:18
Go to the top of the page
+Quote Post
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Wygeneruj jako string i potem eval
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Możesz mi wytłumaczyć, co chcesz tym osiągnąć?

Jeśli chcesz sprawdzać, czy rok jest w zakresie, to range+in_array.

edit: poza tym, można przecież skorzystać z tablic asocjacyjnych...
Go to the top of the page
+Quote Post
Mephistofeles
post
Post #4





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

Ostrzeżenie: (0%)
-----


Po co chcesz tak robić? Nie wystarczy samo $y[$x]++ ?
Go to the top of the page
+Quote Post
Bojakki
post
Post #5





Grupa: Zarejestrowani
Postów: 379
Pomógł: 0
Dołączył: 18.08.2004

Ostrzeżenie: (0%)
-----


Juz nic nie rozumiem. Czyli jak w koncu zrobic?

Cytat(erix @ 13.01.2010, 15:42:36 ) *
Możesz mi wytłumaczyć, co chcesz tym osiągnąć?

Jeśli chcesz sprawdzać, czy rok jest w zakresie, to range+in_array.

edit: poza tym, można przecież skorzystać z tablic asocjacyjnych...

Chce by zliczalo rekordy, ktore podpsowuja pod dany rok. czyli jak w tablicy bedzie wiersz z 2005 rokiem to doda ze jest + 1 rekord z takim rokiem. I tak wszytskie od 1995 do 2010 roku. Da sie to zrobic wypisujac po kolei zmienna dla kazdego roku tak jak podalem, ale ladniej by to za pomoca petli wygladalo:)

Cytat(Mephistofeles @ 13.01.2010, 15:43:47 ) *
Po co chcesz tak robić? Nie wystarczy samo $y[$x]++ ?

W sumie:) Zaraz sprawdze:)
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Chce by zliczalo rekordy, ktore podpsowuja pod dany rok. czyli jak w tablicy bedzie wiersz z 2005 rokiem to doda ze jest + 1 rekord z takim rokiem. I tak wszytskie od 1995 do 2010 roku. Da sie to zrobic wypisujac po kolei zmienna dla kazdego roku tak jak podalem, ale ladniej by to za pomoca petli wygladalo:)

A wyciągasz te rekordy z bazy? Jeśli tak - zapomniałeś chyba o group by. (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.09.2025 - 12:39