Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyswietlanie w formularzu
Forum PHP.pl > Forum > Przedszkole
blizniak
Witam

  1. <?php
  2.  
  3.  echo'<FORM ACTION="index.php?xxxxxxxxxxxxxx" METHOD="post">';
  4.  //kategoria
  5.  echo"<TR>";
  6. echo"<TD >";
  7.  echo "Kategoria";
  8.  echo '<BR><SELECT NAME="kategoriaa">';
  9.  
  10. $wynik1 = mysql_query("select tytul from kategorie ");
  11.  
  12. if($_SESSION[kategoria] == NULL)
  13.  {
  14.  $kategoria_sesja="--wszystkie--";
  15.  }
  16. else
  17.  {
  18.  $kategoria_sesja=$_SESSION[kategoria];
  19.  }
  20.  
  21. echo '<option > '.$kategoria_sesja.' ';
  22.  
  23.  
  24. while($rzad1 = mysql_fetch_row($wynik1))
  25.  {
  26.  
  27.  $idd = addslashes($rzad1[0]);
  28.  echo '<option value="'.$idd.'">'.$idd.'</option>';
  29.  
  30.  }
  31.  
  32. echo '</SELECT>';
  33. echo"</TD>";
  34. echo"</TR >";
  35. echo'</FORM>'; 
  36.  
  37. ?>

kod ten wyswietla mi z bazy jakies tam rozne kategorie i chodzi mi o to jak zrobic cos takiego zeby po wykonaniu tego zapytania w formularzu tym byla wyswietlana kategoria ktora jest aktualnie wybrana. mam to zrobione poprzez zapis tego co bylo wybrane do sesji i dziala to dobrze, tylko ze gdy jest to zrobione tak jak ja to mam to wtedy pozniej sa wyswietlane w tym select dwie takie same nazwy trzeba by to bylo zrobic tu w value
  1. <?php
  2.  
  3. echo '<option value="'.$idd.'">'.$idd.'</option>';
  4.  
  5. ?>

probowalem juz jakies rozne sposoby ale nic z tego nie wyszlo. ma ktos jakis pomysl na to ?
ens0re
  1. <?php
  2.  
  3.  $kategoria_sesja=$_SESSION[kategoria];
  4.  
  5. ?>


Chyba powinno być :

  1. <?php
  2.  $kategoria_sesja=$_SESSION['kategoria'];
  3. ?>
blizniak
bez tych cudzyslowiow tez dziala ale nie o to chodzi bo z sesja mam wszystko ok bo dziala. tylko chodzi mi jak zrobic tą value w tej linijce
  1. <?php
  2. echo '<option value="'.$idd.'">'.$idd.'</option>';
  3. ?>
strife
A po co sesje? Zrób warunek jeśli dane $_POST $_GET zostały przesłane to dodawaj do value co tam chcesz. Tam w tej pętli możesz if'a walnąć.

Pozdrawiam!
batman
Wyświetla dwa razy ponieważ masz takie coś:

  1. <?php
  2. echo '<option > '.$kategoria_sesja.' ';
  3. ?>


Po pierwsze trzeba zamkąć znacznik option. A po drugie to wyświetlana jest zmienna z sesji oraz z bazy i dlatego się dubluje.
blizniak
wiem czemu wyswietla 2 razy tego nie musiales pisac ale dzieki. jak wiesz to napisz jak zrobic zeby nie wyswietlalo 2 razy bo jak robie to tak to tez nie dziala
  1. <?php
  2.  
  3. echo'<FORM ACTION="index.php?xxxxxxxxxxxxxx" METHOD="post">';
  4. //kategoria
  5. echo"<TR>";
  6. echo"<TD >";
  7. echo "Kategoria";
  8. echo '<BR><SELECT NAME="kategoriaa">';
  9.  
  10. $wynik1 = mysql_query("select tytul from kategorie ");
  11.  
  12. if($_SESSION[kategoria] == NULL)
  13.  {
  14.  $kategoria_sesja="--wszystkie--";
  15.  }
  16. else
  17.  {
  18.  $kategoria_sesja=$_SESSION[kategoria];
  19.  }
  20.  
  21.  while($rzad1 = mysql_fetch_row($wynik1))
  22.  {
  23.  
  24.  $idd = addslashes($rzad1[0]);
  25.  echo '<option value="'.$kategoria_sesja.'">'.$idd.'</option>';
  26.  
  27.  }
  28.  
  29. echo '</SELECT>';
  30. echo"</TD>";
  31. echo"</TR >";
  32. echo'</FORM>';
  33.  
  34. ?>
batman
Możesz użyć javascript. Przy pomocy focus możesz ustawić konkretną wartość z selecta. Niestety nie miałem okazji tego robić, więc kodu nie zapodam. A ponieważ mam kłopoty z apache nie moge się pobawić w testowanie tego rozwiązania.
blizniak
no niestety javascript nie wchodzi w ogole w gre bo musze to w php zrobic biggrin.gif
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.