Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql]Aktualizacja danych
Forum PHP.pl > Forum > Przedszkole
outlive
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 questionmark.gif
PolKolo
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]' ");
outlive
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
PolKolo
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" smile.gif
W zapytaniu UPDATE daj tylko pole które jest faktycznie zmieniane innymi danymi:

Kod
mysql_query("UPDATE $baza SET `tytul`='$tytul' WHERE `id`='$id'");
outlive
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 sad.gif

Czego to jeszcze moze byc wina questionmark.gif
PolKolo
A wysyłasz w ogóle jakieś id do klauzuli WHERE biggrin.gif
outlive
kurcze podam caly kod bo sobie nie daje rady smile.gif

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;
}

}
Cysiaczek
Przenoszę na Przedszkole
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.