![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 11.04.2003 Skąd: Oleszyce Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Powiem tak mam dwie tabele dostawcy i kod (pocztowy oczywiście) w tabeli dostawcy mam pole z kodem (oczywiscie jako id_kod z tabeli kod) teraz mam problem tego typu że jak chcę wyedytować te dane to nie wiem jak zrobić żeby kursor w polu wyboru był już ustawiony no kodzie wczesniej podanym Chciałem zrobić to tak ale nie działa : pierwsza czesc Kod $wynik = mysql_query("SELECT * FROM dostawcy WHERE id_dostawcy = $id_dostawcy;") or die ("Błąd w pytaniu 1");
while ($rekord = mysql_fetch_array ($wynik)) { $id_dostawcy = $rekord[0]; $nazwa = $rekord[1]; $ulica = $rekord[2]; $kod = $rekord[3]; $miejscowosc = $rekord[4]; $mail = $rekord[5]; $telefon = $rekord[6]; i dalej jest tak Kod <select name="kod" >
<? $wynik = mysql_query ("SELECT * FROM kod;") or die ("błąd w pytaniu"); while ($rekord_kod = mysql_fetch_array ($wynik)) { $id_kod = $rekord_kod['id_kod']; $kod2 = $rekord_kod['kod']; ?> <option <? if($rekord['kod']==$rekord_kod['id_kod']) { echo "selected"; } ?>value="<? echo $rekord_kod['kod']; ?>"> <? echo $rekord_kod['kod']; } ?> </select></td> co tutaj jest nie tak pomóżcie bo jestem początkujący ![]() -------------------- Lsasza
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Kod $wynik = mysql_query("SELECT * FROM dostawcy WHERE id_dostawcy = $id_dostawcy;") or die ("Błąd w pytaniu 1"); while ($rekord = mysql_fetch_array ($wynik)) { $id_dostawcy = $rekord[0]; $nazwa = $rekord[1]; $ulica = $rekord[2]; $kod = $rekord[3]; $miejscowosc = $rekord[4]; $mail = $rekord[5]; $telefon = $rekord[6]; Tam dalej coś masz całkiem namieszane. Może mógłbym ci lepiej pomóc gdybyś pokazał tutaj strukture tych tabel oraz powiedział dokładnie co chcesz zrobić |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 11.04.2003 Skąd: Oleszyce Ostrzeżenie: (0%) ![]() ![]() |
Kod Struktura tabel:
Dostawcy: ID_dostawcy int(5) unsigned zerofill NOT NULL auto_increment, nazwa varchar(30) NOT NULL default '', ulica varchar(20) NOT NULL default '', kod int(5) unsigned NOT NULL default '0', miejscowosc int(5) unsigned NOT NULL default '0', mail varchar(30) NOT NULL default 'brak', telefon varchar(20) NOT NULL default 'brak', PRIMARY KEY (ID_dostawcy), UNIQUE KEY ID_dostawca (ID_dostawcy) TYPE=MyISAM CHECKSUM=1 DELAY_KEY_WRITE=1; Kod id_kod int(5) unsigned zerofill NOT NULL auto_increment, kod varchar(6) NOT NULL default '', PRIMARY KEY (id_kod), UNIQUE KEY id_kod (id_kod) ) TYPE=MyISAM; chodzi mi o to ze jak wyswietlam dane w formularzu który będzie edytował dostawców to zeby w liscie wyboru był ustawiony kod pocztowy, który faktycznie dostawca ma a nie pierwszy z brzegu ![]() ![]() -------------------- Lsasza
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
A po co chcesz mieć wszystkie kody pocztowe wypisane? Nie łatwiej byłoby zmienić to pole na pole do którego wpisujesz kod pocztowy!
A jeżeli wolisz jednak mieć tą tablicę kodów, to proponuje wybrać kod który ma dostawca Kod SELECT kod from kod WHERE kod_id=(SELECT kod_id FROM Dostawcy WHERE ID_dostawcy=$id_dostawcy) Możesz zastąpić podselecta (Drugi select wzięty w () w środku zapytania) wyciągniętą przedtem zmienną.
To ma pewne zalety bo podejrzewam, że jest troche wydajniejsze a po drugie kod (aktualny) dostawcy jest na pierwszym miejscu w liście. Potem robisz zwykłe wypisanie innych kodów za pomocą while i zapytania Kod SELECT kod FROM kod WHERE kod<>$wybrany_przedtem_kod_lub_podselect_podobny_do_poprzedniego
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 11.04.2003 Skąd: Oleszyce Ostrzeżenie: (0%) ![]() ![]() |
Tzn w moim pierwszym poście ta pierwsza część działa, chodzi mi bardziej o tą drugą część dokładniej to napisze. W momencie gdy wyświetlam tabele to wszystko jest ok (czyli wyświetla mi się żę dany dostawca ma takąnazwę taki kod itd.) , tylko np. jak zmieni się adres dostawcy to pasuje go zmodyfikować ale nie zaglądając do bazy tylko ze strony. Wtedy dane typu nazwa dostawcy o odpowiednim ID wyświetlam w polach <input> co działa np
Kod <td>
&&&<INPUT TYPE="text" NAME="nazwa" value="<?echo "$nazwa"?>"> </td> żeby można je było zmienić i zrobić UPDATE tabeli dostawcy o danym ID. Tak samo chcę zrobić z kodem tylko nie chcę go wyświetlać w polu <input> a wybrać z listy <select><option>tylko żeby na początku był już ustawiony kod który już dostawca miał przypisany do siebie(czyli żeby już ten kod był wybrany i ewentualnie żebym mógł wybrać inny. Bardziej chodzi mi o tą część kodu Kod <select name="kod" >
<? $wynik = mysql_query ("SELECT * FROM kod;") or die ("błąd w pytaniu"); while ($rekord_kod = mysql_fetch_array ($wynik)) { $id_kod = $rekord_kod['id_kod']; $kod2 = $rekord_kod['kod']; ?> <option <? if($rekord['kod']==$rekord_kod['id_kod']) { echo "selected"; } ?>value="<? echo $rekord_kod['kod']; ?>"> <? echo $rekord_kod['kod']; } ?> </select></td> tak dokładniej to o pole <option> a tak wogóle to dzięki ![]() -------------------- Lsasza
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
select... niech ja sobie przypomne co to było... czy to nie była lista rozwijalna albo coś takiego?? Proponuje ci zastosować
Kod <input type="radio" name="kod" />tutaj kod<br /> Bo w seleccie można za pomocą CTRL'a wybrać pare opcji.
Proponuje więc tak:[php:1:630d38319b]<?php $wynik = mysql_query ("SELECT id_kod, kod FROM kod;") or die ("błąd w zapytaniu"); while (list($kod_id, $kod_kod) = mysql_fetch_array ($wynik)) { ?> <input type="radio" name="kod" <?php if($kod_id==$kod/*przypomnij sobie nazwe użytej zmiennej*/) { echo "selected="selected""; } ?>value="<?php echo $kod_kod; ?>" /> <?php echo $kod_kod.'<br />'; } ?>[/php:1:630d38319b]lub jeśli wolisz select to[php:1:630d38319b]<select name="kod"><?php $wynik = mysql_query ("SELECT id_kod, kod FROM kod;") or die ("błąd w zapytaniu"); while (list($kod_id, $kod_kod) = mysql_fetch_array ($wynik)) { ?> <option <?php if($kod_id==$kod/*przypomnij sobie nazwe użytej zmiennej*/) { echo "selected="selected""; } ?>value="<?php echo $kod_kod; ?>"> <?php echo $kod_kod, "</option>"; } ?></select>[/php:1:630d38319b] |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 11.04.2003 Skąd: Oleszyce Ostrzeżenie: (0%) ![]() ![]() |
o to własnie chodziło
![]() -------------------- Lsasza
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 6.07.2025 - 01:07 |