Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Lista roziwjana w formularzu
Forum PHP.pl > Forum > Przedszkole
mczlowiek
Mam baze danych a w niej tabele o nazwie xxx
w tej tabeli jest lista czynnosci, gdzie wyglada to tak:
+---+----------------+
|id..|nazwa_czynnosci.|
+---+----------------+
|1...|czynnosc 1........|
|2...|czynnosc 2........|



i tak dalej...

teraz mam pole formularza:

<input type="data" value="wpisz date"><br>
<input type="czynnosc" value="I TUTAJ CHCE ABY BYLA MOZLIWOSC WYBIERANIA Z LISTY W BAZIE DANYCH"><br>
<input type="spotkanie" value="wpisz spotkanie"><br>

jak to ugryźć?
piotrooo89
  1. <?php
  2. $wynik=mysql_query("SELECT * FROM xxx");
  3.  
  4.  echo '<select name="cznnosc" size="1">';
  5.  
  6.  while ($row=mysql_fetch_array($wynik))
  7.  {
  8.  echo "<option value=$row[id]>$row[czynnosc]</option>";
  9.  }
  10.  echo "</select>";
  11. ?>
mczlowiek
umieszczam to w value=" TUTAJ ?" questionmark.gif?
piotrooo89
jakie to? polski trudna język? skup się i napisz o co Ci chodzi ale tak żeby było wiadomo.
nospor
Cytat
umieszczam to w value=" TUTAJ ?"
NIe, umieszczas TO zamiast calego inputa

i mowilem ci juz: nie type="czynnosc" a name="czynnosc"
No chyba ze chcesz sie ze mna pogniewac.... winksmiley.jpg
k_@_m_i_l
Pomyśl troche piotrooo89 podał ci rozwiązanie całe.


  1. <?php
  2. $wynik=mysql_query('SELECT * FROM xxx');
  3.  
  4.  echo '<select name="cznnosc" size="1">';
  5.  
  6.  while ($row=mysql_fetch_array($wynik))
  7.  {
  8.  echo '<option value='.$row['id'].'>'.$row['czynnosc'].'</option>';
  9.  }
  10.  echo '</select>';
  11. ?>

tak to ma wyglądać.
mls
I jeśli już, to:
  1. <?php
  2. echo "<option value=\"" . $row[id] . "\">" . $row[czynnosc] . "</option>";
  3. ?>


Czy tak trudno jest pisać poprawny kod html jak i nie dawać złych przykładów kodowania?...
mczlowiek
ok, wszystko fajnie, tylko jak pobrać zmienna czynnosci (np czynnosc 1) aby potem wyslac ja do innej tabeli za pomoca tego formularza?
k_@_m_i_l
W pliku odbierającym dane z formularza :
  1. <?php
  2. $czynnosc=$_POST['czynnosc'];
  3. ?>
piotrooo89
odbierasz zmienną przez tablice np $_GET, $_POST nie wiem jaką masz i w innym poleceniu INSERT do tabeli...
mczlowiek
jednak nie dodaje do tabeli nazwy bukmachera

plik formularza
  1. <form action="typy_dodaj.php" method="post">
  2.  
  3. <input name="data" value="wpisz date"><br>
  4. <input name="autor" readonly="yes" value="<?php echo $_SESSION['admin_logged'] ?>"><br>
  5. <input name="spotkanie" value="wpisz spotkanie"><br>
  6. <textarea name="analiza" rows="20" cols="80">Wpisz analize</textarea><br>
  7. <input name="typ" type="text" value="Wpisz typ"><br>
  8. <input name="kurs" type="text" value="wpisz kurs"><br>
  9.  
  10.  
  11. <?php
  12. $sql=mysql_query("SELECT nazwa FROM bukmacherzy");
  13.  
  14.  echo '<select name="nazwa" size="1">';
  15.  
  16.  while ($row=mysql_fetch_array($sql))
  17.  {
  18.  echo "<option value=$row[id]>$row[nazwa]</option>";
  19.  }
  20.  echo "</select>";
  21. ?>
  22.  
  23. <br>
  24. <input name="stawka" type="text" value="wpisz stawke"><br>
  25. <br>
  26. <input type="submit" name="submit" value="Dodaj"> &nbsp;
  27. <input type="button" value="Anuluj" onclick="history.go(-1);">
  28. </form>


skrypt wstawiajacy dane do tabeli
  1. <?php
  2.  
  3.  
  4. $data =  $_POST['data'];
  5. $autor = $_POST['autor'];
  6. $spotkanie =  $_POST['spotkanie'];
  7. $typ  =  $_POST['typ'];
  8. $kurs =  $_POST['kurs'];
  9. $stawka =  $_POST['stawka'];
  10. $analiza =  $_POST['analiza'];
  11. $wynik =  $_POST['wynik'];
  12. $profit= $_POST['profit'];
  13. $bukmacher= $_POST['nazwa'];
  14.  
  15. $query="INSERT into typy SET
  16. data='".$data."',
  17. autor='".$autor."',
  18. spotkanie='".$spotkanie."',
  19. typ='".$typ."',
  20. kurs='".$kurs."',
  21. stawka='".$stawka."',
  22. analiza='".$analiza."',
  23. wynik='".$wynik."',
  24. bukmacher='".$bukmacher."',
  25. profit='".$profit."'";
  26. mysql_query($query);
  27. echo ("Twój typ został dodany!");
  28.  
  29. ?>


dlaczego nie dodaje nazwy bukmachera, ktora wybieramy z rozwijanej listy?
nospor
nie:
echo "<option value=$row[id]>$row[nazwa]</option>";
a:
echo "<option value=$row[nazwa]>$row[nazwa]</option>";

Mysl troche a nie kopiujesz bezmyslnie

ps: aczkolwiek byloby lepiej jakbys wkladal ID bukmachera a nie jego nazwe.
mczlowiek
Cytat(nospor @ 7.07.2008, 14:40:39 ) *
nie:
echo "<option value=$row[id]>$row[nazwa]</option>";
a:
echo "<option value=$row[nazwa]>$row[nazwa]</option>";

Mysl troche a nie kopiujesz bezmyslnie

ps: aczkolwiek byloby lepiej jakbys wkladal ID bukmachera a nie jego nazwe.


tylko jak ktos bedzie wybieral bukmachera to nie bedzie wiedzial jaki to jest po id
nospor
oj.... wystarczy ze przy tworzeniu listy dodasz to ID i juz ci poleci ID:
  1. <?php
  2. $sql=mysql_query("SELECT id, nazwa FROM bukmacherzy");
  3.  
  4.  echo '<select name="nazwa" size="1">';
  5.  
  6.  while ($row=mysql_fetch_array($sql))
  7.  {
  8.  echo "<option value=$row[id]>$row[nazwa]</option>";
  9.  }
  10.  echo "</select>";
  11. ?>

user wybiera bukmachera x ale do bazy leci jego ID a nie nazwa.
mczlowiek
może laiczne pytanie ale co nam da to że do bazy poleci id a nie nazwa? Przyspieszy to działanie?
piotrooo89
do relacji używane to jest...
mispolarny
ok, ale jak przekazuje nazwe do innej tabeli to musi dac '' bo inaczej jak bedzie to nazwa 2 czlonowa albo wiecej to wezmie tylko pierwsza czesc...
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.