Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Przekazywanie w value dwóch wartości
Forum PHP.pl > Forum > Przedszkole
Barcelona
Witam, mam przykładowy formularz.
  1. echo '<form action="" method="post">';
  2. $result = mysql_query("SELECT DISTINCT * FROM userzy ORDER BY nazwisko ASC")
  3.  
  4. echo '<select name="user" id="user">';
  5.  
  6. while($drop = mysql_fetch_array( $result ))
  7. {
  8. echo '<option value="'.$drop['id'].' '.$drop['nazwisko'].'">'.$drop['nazwisko'].' '.$drop['imie'].'</option>';
  9. }
  10. echo '</select>';
  11. echo '</form>'


Z powyższego przykładu pobieram z bazy wszystkich userów i wrzucam ich do selecta. Moim zamysłem jest aby w value dać nie tylko id pracownika, ale również jego nazwisko, bądź imie.

Value wyglądało by tak
  1. <option value="12 Nowak">Nowak Jan</option>


Teraz dane z tego formularza lecą do innego pliku.
Tam chciałbym dane z selecta podzielić za pomocą str_split() na 12 oraz Nowak.
Dzięki temu uniknę kolejnego zapytania do bazy.

Co sądzicie o takim rozwiązaniu ?
Rysh
Nie lepiej rozdzielić te dane przecinkiem, a potem potraktować te dane explode?
Poza tym w 5 linijce nie zamykasz echo.
Barcelona
Cytat
Nie lepiej rozdzielić te dane przecinkiem, a potem potraktować te dane explode?

Nie chodzi o sposób podziału, tylko o mechanizm. Czy jest on poprawny?
Cytat
Poza tym w 5 linijce nie zamykasz echo.

Literówka, pisane z palca smile.gif
Rysh
Ja osobiście nie widzę potrzeby żeby wsadzać tam inne dane, ale może to dlatego że nie wiem co później chcesz z tym zrobić. Bo niby jak masz niby później uniknąć kolejnego zapytania? Chyba, że tworzysz formularz z usunięciem jakiegoś człowieka, a następnie na następnej stronie wyświetlasz: "Czy na pewno chcesz usunąć usera Jan Kowalski?" Wtedy w sumie faktycznie jedno zapytanie mniej, ale czy nie lepiej wtedy takich danych walnąć w hidden?
Barcelona
Cytat
Czy na pewno chcesz usunąć usera Jan Kowalski?

No właśnie coś w ten deseń. Nie chce robić zapytań tylko po to żeby wyświetlić jak user o danym id ma na nazwisko.

Cytat
ale czy nie lepiej wtedy takich danych walnąć w hidden?


hidden nie sprawdzi się w select, chyba że wartość value była by kopiowana za pomocą JS. Ale to za dużo kombinacji.

EDIT://
Czy do wydobycia samego id ze string'a "12 Nowak" wystarczy zastosować rzutowanie na int?
Rysh
Faktycznie z hidden to dowaliłem smile.gif

Co do edit, powinno zadziałać samo rzutowanie na int. Ja jednak na Twoim miejscu dał:
  1. echo "<option value="$id;$imie;$nazwisko">$nazwisko $imie</option>";

A później walną explode ; i dopiero rzutował na inta. I masz elegancko dane w tablicy smile.gif
Barcelona
I chyba tak zrobie smile.gif Dzięki
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.