Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Switcher
permanent
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 14.02.2009

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


Mam problem z budową switchera.

  1. <?php
  2. <select name="operacja">
  3.  
  4. <option value="usun">Usuń</option>
  5. <option value="przenies'.$tablica[$i].'">Przenieś do '.$tablica[$i].'</option>
  6. ?>


Jak mogę się odwoływać do '.$tablica[$i].' w switchu? Czy w option da się dodać dodatkowe parametry postem?

Proszę o rady
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
franki01
post
Post #2





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


  1. <?php
  2. if($_POST['operacja'] == 'usun')
  3. {
  4. // usuwanie
  5. }
  6. else
  7. {
  8.  // przenoszenie
  9. }
  10. ?>

  1. <select name="operacja">
  2.  
  3. <option value="usun">Usuń</option>
  4. <option value="'.$tablica[$i].'">Przenieś do '.$tablica[$i].'</option>

Czy o to chodziło?
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




Tzn. w Twoim wypadku ciut ciężko, gdyż musiałbyś wyciągać akcję tak, jak ze zwykłego łańcucha...

Ja bym zrobił to tak:
  1. <select name="asd">
  2. <option value="przenies|1">dd</option>
  3. <option value="przenies|2">dd</option>
  4. <option value="usun">dd</option></select>


  1. <?php
  2. $a = explode('|', $_POST['asd']);
  3. switch($a[0]){
  4.  
  5. // ...
  6.  
  7. }
  8. ?>


Parametr masz w $a[1]. W każdym razie, rozwiązanie z lekka problematyczne, lepiej by było rozdzielić na kilka elementów formularza.
Go to the top of the page
+Quote Post
permanent
post
Post #4





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 14.02.2009

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


Chodzi mi o switcher...
  1. <?php
  2. <select name="operacja">
  3. <option value="usun">Usuń</option>
  4. <option value="przenies">Przenieś do foolderu '.$tablica[$i].'</option>
  5. </select>
  6. ?>




Chciałbym gdzieś zapisać dodatkowe parametry w POSCIE, a konkretniej do option value="przenies".


  1. <?php
  2. switch($_POST['operation']){
  3.  
  4. case 'usun':
  5. // rob cos tam
  6. break;
  7.  
  8. case 'przenies':
  9. // insert into gdzieś tam where folder=''.$_POST['nazwafolderu'].''  <--- do tego ma przenosic
  10. break;
  11.  
  12. }
  13. ?>


O chodzi o to, że mogę przenosić do różnych folderów moje rekordy i nie mam jak
odwołać się do nazwy tego folderu w case 'przenies'.
Go to the top of the page
+Quote Post
megawebmaster
post
Post #5





Grupa: Zarejestrowani
Postów: 143
Pomógł: 17
Dołączył: 8.11.2008
Skąd: Libiąż

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


Przecież jest napisane jak to zrobić. Dodajesz do value="przenies" jakiś znak i za nim resztę danych, np.
  1. <select name="operacja">
  2. <option value="usun">Usuń</option>
  3. <option value="przenies|'.$tablica[$i].'">Przenieś do foolderu '.$tablica[$i].'</option>

i potem korzystasz z explode:
  1. <?php
  2. $operation = explode('|',$_POST['operation']);
  3. switch($operation[0]){
  4.  
  5. case 'usun':
  6. // rob cos tam
  7. break;
  8.  
  9. case 'przenies':
  10.  
  11. // insert into gdzieś tam where folder=''.$operation[1].''  <--- tutaj korzystasz
  12. break;
  13.  
  14. }
  15. ?>


Ten post edytował megawebmaster 9.03.2009, 21:39:06
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




Nie musisz sprawdzać występowania znaku rozdzielającego. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
megawebmaster
post
Post #7





Grupa: Zarejestrowani
Postów: 143
Pomógł: 17
Dołączył: 8.11.2008
Skąd: Libiąż

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


No tak... Nie pomyślałem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Dziś mam ciężki dzień.
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: 22.08.2025 - 13:00