Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Połączenie case i for
Bojakki
post 13.01.2010, 15:03:47
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
 
Start new topic
Odpowiedzi (1 - 5)
Fifi209
post 13.01.2010, 15:35:10
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


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
erix
post 13.01.2010, 15:42:36
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...


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Mephistofeles
post 13.01.2010, 15:43:47
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 13.01.2010, 16:42:50
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 13.01.2010, 17:46:39
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. tongue.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:27