![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 4.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam pytanie do was Mam 3 dane w bazie $tytul, $katalog, $nazwa_zdjecia. Zrobilem sobie formularz tylko z jednym inputem ktory ma edytowac Tytul. Dlaczego jak edytuje tytul to automatycznie w bazie kasuje sie $katalog i $nazwa_pliku ![]()
Powód edycji: dodalem tagi (cysiaczek)
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 14.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Napisz jak wygląda kod SQL zapytania do bazy jakm realizujesz te zmiany.
Prawidłowo powinien być klucz główny tabeli np. pole ID typu auto_increment wtedy takie zapytanie powinno wyglądać: Kod mysql_query("UPDATE tabela SET tytul ='$_POST[tytul]' WHERE id='$_POST[id]' "); NA bieę możesz posłuzyć się nazwą zdjęcia przy założeniu, że jest unikalna: Kod mysql_query("UPDATE tabela SET tytul ='$_POST[tytul]' WHERE nazwa_zdjecia='$_POST[nazwa_zdjecia]' ");
Ten post edytował PolKolo 14.12.2007, 23:03:23 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 4.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Kod if ($nic=="w3"){ (mysql_query("UPDATE $baza SET `tytul`='$tytul', `file_name`='$file_name', `katalog`='$katalog' WHERE `id`='$id'")); exit; } oto kod formularzu nie umieszczam bo to zwykly input nie wiem co moze byc zle |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 14.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Kasuje, bo z tego co Napisałeś na początku wysyłasz tylko dane z 1pola pozostałe zmienne są puste - stąd to "kasowanie danych"
![]() W zapytaniu UPDATE daj tylko pole które jest faktycznie zmieniane innymi danymi: Kod mysql_query("UPDATE $baza SET `tytul`='$tytul' WHERE `id`='$id'");
Ten post edytował PolKolo 15.12.2007, 00:05:48 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 4.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zmienilem, wyslalem i przetestowalem
Teoretycznie masz racje, nie powinno byc tych pol bo wysylaja puste info do bazy tak jak napisales W praktyce tytul sie zmienia a w miejsce pliku jest nadal puste miejsce ![]() Czego to jeszcze moze byc wina ![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 14.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
A wysyłasz w ogóle jakieś id do klauzuli WHERE
![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 4.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
kurcze podam caly kod bo sobie nie daje rady
![]() elseIF ( ISSET($HTTP_GET_VARS['id']) && ISSET($HTTP_GET_VARS['dzial']) && $HTTP_GET_VARS['dzial'] == "edytuj") { $link=mysql_query("SELECT * FROM $baza WHERE `id`=".$HTTP_GET_VARS['id']." LIMIT 1"); $wiersz=mysql_fetch_array($link); echo '<div id="tab_dane2"> <div id="tab_pusta3"></div> <div id="tab_funkcje" class="zwykly">Edytuj dane:</div><br/><br/>'; echo '<form name="upload2" method="POST" enctype="multipart/form-data" action="'.$baza.'.php?dzial=wyedytuj&id='.$wiersz['id'].'"> <input type="hidden" name="MAX_FILE_SIZE" value="1500000"> <div id="tab_pusta3"></div> <div id="tab_tytul1" class="zwykly">Tytuł: </div> <div id="tab_tytul2"><input type="text" name="tytul" size="66" value="'.$wiersz['tytul'].'" class="input1"></input></div> <div id="tab_pusta3"></div> <div id="tab_zdjecie1" class="zwykly">Opcje zdjęcia: </div> <div id="tab_zdjecie2" class="link_zwykly1"> <select id="wybor" onChange="podmiana(this.value);" class="input1"> <option>wybierz</option> <option name="ok" value="w1">dodaj nowe zdjęcie, stare zostanie zastąpione</option> <option name="no" value="w2">skasuj stare zdjęcie</option> <option name="nic" value="w3">zmień tylko tytuł</option> </select> </div> <div id="w1"> <div id="tab_pusta3"></div> <div id="tab_zdjecie1" class="zwykly">Nowe zdjęcie: </div> <div id="tab_zdjecie2" class="link_zwykly1"><input type="file" name="file" size="45" style="font-style: Tahoma, Verdana, sans-serif; ; font-size:11px; border-style: solid 1px #898989;"></input></div> <div id="tab_pusta3"></div> <div id="tab_dzial1" class="zwykly">Wybierz dział: </div> <div id="tab_dzial2"> <select name="katalog" style="width: 350px; border-style: solid 1px #898989" class="input1"> <option value="../Grafika/'.$kat.'">'.$nazwa.'</option> </select></div> </div> <div id="w2"> <div id="tab_pusta3"></div> <div id="tab_zdjecie1" class="zwykly">Stare zdjęcie: </div> <div id="tab_zdjecie2" class="link_zwykly"><a href="'.$wiersz['katalog'].'/'.$wiersz['file_name'].'" target="_blank" class="link1">'.$wiersz['file_name'].'</a> (zdjęcie zostanie usunięte)</div> </div> <div id="w3"></div> <div id="w4"></div> <div id="tab_pusta3"></div> <div id="tab_guzik1"></div> <div id="tab_guzik2"><input type="submit" value="edytuj" class="input1"></div> </div> </form> } elseif(isset($HTTP_GET_VARS['dzial']) && $HTTP_GET_VARS['dzial']=='dopisz') { $katalog = $_POST['katalog']; if ($ok=="w1"){ @copy("$file", "$katalog/$file_name"); } mysql_query("INSERT INTO $baza VALUES(0,'$tytul','$file_name', '$katalog')"); } elseIF ( ISSET($HTTP_GET_VARS["dzial"]) && $HTTP_GET_VARS["dzial"] == "wyedytuj") { $id=$_GET['id']; $link=mysql_query("SELECT * FROM $baza WHERE `id`=".$HTTP_GET_VARS['id']." LIMIT 1"); $wiersz=mysql_fetch_array($link); if ($nic=="w3"){ mysql_query("UPDATE $baza SET `tytul`='$tytul'"); exit; } } Ten post edytował outlive 15.12.2007, 12:24:05
Powód edycji: zmieniłem bbcode (cysiaczek)
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
Przenoszę na Przedszkole
-------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 19:40 |