Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] lista rozwijana + input
Forum PHP.pl > Forum > Przedszkole
slawek3422
Witam,
moj problem jest nastepujacy, mam liste rozwijana z zawartoscia wczytana z bazy mysql oraz pole typu input


kod pobierajacy dane do listy:

  1. <tr><td class="nazwa">
  2.  Typ komputera : </td>
  3. <td class="select"><select name="typ">
  4. <?php
  5. mysql_connect('localhost', 'user', 'pass');
  6.  mysql_select_db('baza');
  7.  mysql_query("SET NAMES latin2");
  8.  $zapytanie = mysql_query("SELECT * from typ order by typ asc;");
  9.  echo '<option id="0" value="0">-- nie wybrano --</option>r';
  10. while($wynik = mysql_fetch_array($zapytanie)){
  11. echo "<option value="".$wynik['id_typu']. "">";
  12. echo $wynik['typ'];
  13. echo "</option>";
  14. }
  15. ?>
  16. </select></td>
  17. <td class="input" align="center"><input name="typ_input" type="text"></td></tr>



problem polega na tym, ze nie wiem w jakis sposob zrobic cos takiego ze jezeli jest wybrana opcja z listy to skrypt ma zapisac id tej opcji do innej tabeli ( to jest spoko, proste) a jezeli z listy nie jest nic wybrane to do tabeli "typ" zostanie dopisany nowy rekord, a id tego rekordu ma byc wpisane do innej tabeli ( to tez spoko) i jak teraz polaczyc te dwa problemy, bo jezeli mam zrobic albo jedno albo drugie to nie ma problemu ale za jednym razem trzeba wybrac dwa warianty i je sprawdzic, i tu mam problem, siedze nad tym juz 3 ddni sad.gif

  1. <?php
  2. // TYP //
  3. echo "<tr><td class='nazwa'>";
  4. echo " Typ komputera : </td>";
  5.  
  6. // sprawdzenie czy uzytkownik dokonal wyboru z listy rozwijanej oraz wpisal nazwe 
    do inputa, ustawienie flagi na 0 w przypadku wyniku pozytywnego //
  7. if ($typ != 0 && $typ_input != null){
  8. echo "<td class='bl'> Błędnie podano typ komputera.</td></tr>";
  9. $typ_popr = "0";
  10.  
  11. } else {
  12.  
  13. // sprawdzenie czy uzytkownik dokonal wyboru z listy rozwijanej lub wpisal nazwe d
    o inputa, ustawienie flagi na 0 jezeli zadne z pol nie zostalo wypelnione //
  14. if ($typ == 0 && $typ_input == null){
  15. echo "<td class='bl'> Podaj typ komputera.</td></tr>";
  16. $typ_popr = "0";
  17.  
  18. } else {
  19.  
  20. // sprawdzenie czy uzytkownik dokonal wyboru z listy rozwijanej, wczytanie wybrane
    go elementu z bazy danych, ustalenie zmiennej do zapisu w bazie danych, ustawieni
    e flagi na 1 //  
  21. if ($typ !=&& $typ_input == null){
  22.  
  23.  $zapytanie = mysql_query("SELECT typ from typ where id_typu = $typ;");
  24. while($wynik = mysql_fetch_array($zapytanie)){
  25. $typ_zapis = $wynik['typ'];
  26. }
  27.  
  28. echo "<td class='ok'> $typ_zapis</td></tr>";
  29. $typ_popr = "1";
  30.  
  31. } else {
  32.  
  33. // sprawdzenie czy uzytkownik wpisal dane do inputa, sprawdzenie poprawnosci wpisa
    nej informacji, ustalenie zmiennej do zapisu w bazie danych, ustawienie flagi na 
    1 //  
  34. if ($typ == 0 && $typ_input != null){
  35. if(ereg("^[a-zA-ZąćęłńóśżźĄĆĘŁŃÓŚŻŹąśĽˇŚŹ/., ]{2,20}$",$typ_input)){
  36. echo "<td class='ok'> $typ_input</td></tr>";
  37. $typ_popr = "1";
  38.  
  39. } else {
  40.  
  41. echo "<td class='bl'> Błędnie podano typ komputera.</td></tr>";
  42. $typ_popr = "0";
  43. }}}}}
  44. ?>



  1. <?php
  2. //zapis do bazy danych nowych pozycji to tabel, z ktorych sa generowane selecty //  
  3. if ($typ_input != NULL){
  4. $zapis_typ = "insert into typ (id_typu, typ) values (NULL, '".$typ_input."')";
  5. $wynik_typ = mysql_query($zapis_typ);
  6.  
  7. $odczyt_id_typu = mysql_query("SELECT id_typu from typ where typ like '".$typ_input."'");
  8. while($wynik_odczytu_id_typu = mysql_fetch_array($odczyt_id_typu)){
  9. $odczytane_id_typu = $wynik_odczytu_id_typu['id_typu'];
  10. }
  11. }
  12. ?>




help

dobra, juz sobie poradzilem
Sadu2
to może napiszesz jak sobie poradziłeś, może komuś sie przyda. smile.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.