Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Switcher
Forum PHP.pl > Forum > PHP
permanent
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
franki01
  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?
erix
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.
permanent
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'.
megawebmaster
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. ?>
erix
Nie musisz sprawdzać występowania znaku rozdzielającego. winksmiley.jpg
megawebmaster
No tak... Nie pomyślałem biggrin.gif Dziś mam ciężki dzień.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.