Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][HTML][MYSQL]pole select problem z aktualizacja rekordów
bratpit
post 3.06.2009, 09:25:16
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 9.08.2007

Ostrzeżenie: (0%)
-----


witam mam problem z aktualizowaniem wybrnaego rekordu z pola select oto kod

  1. <?php
  2.  
  3. require_once('funkcje_admin.php');
  4.  
  5. naglowek_html();
  6.  
  7. $lacz = lacz_baza();
  8.  
  9. if(!$lacz)
  10.  
  11.   { echo 'brak polaczenia';}
  12.  
  13. ?>
  14.  
  15. <tr><td width="200" height="100"><form method="post" action="edytuj_kategorie.php">
  16.  
  17. Wybierz nazwę kategorii do usunięcia:</p></td> <td align="left" ><select name="edytuj_kat">
  18.  
  19. <?php $zapytanie = "select id_kategori, nazwa from kategorie";
  20.  
  21. $wynik = mysql_query($zapytanie);
  22.  
  23. $ile_znalezionych =mysql_num_rows($wynik);
  24.  
  25. for($i=0; $i<$ile_znalezionych;$i++)
  26.  
  27. {$wiersz = mysql_fetch_array($wynik);
  28.  
  29. $id= $wiersz['id']; $nazwa=$wiersz['nazwa'];
  30.  
  31. echo "<option value=$nazwa>$nazwa</option>"; }?>
  32.  
  33. </td></tr>
  34.  
  35. <tr><td colspan="2" align="left"><input type="submit" value="edytuj katalog"></td></tr>  </form></table></td></tr></table></td></tr></table>
  36.  
  37. <?php  stopka_html();  ?>




teraz kod odpowiedzialny za aktualizacje który nie chce aktualziowac wybrengo rekordu z pola select
  1. <?php
  2.  
  3. $nazwa = $HTTP_POST_VARS['nazwa'];
  4.  
  5.  
  6. $opis = $HTTP_POST_VARS['opis'];
  7. move_uploaded_file($_FILES['obraz']['tmp_name'],"zdjecia/".$_FILES['obraz']['name']);
  8. $edytuj_kat =$HTTP_POST_VARS['edytuj_kat'];
  9. $name = 'zdjecia/'.$_FILES['obraz']['name'];
  10. $lacz = lacz_baza();
  11. if(!$lacz)
  12.     { echo 'brak polaczenia';}
  13.  
  14. $zapytanie = "select nazwa, opis, zdjecie from kategorie
  15.              where nazwa='$edytuj_kat'";
  16.    $wynik = @mysql_query($zapytanie);
  17.    $wiersz = mysql_fetch_array($wynik);
  18.  
  19. ?>
  20.   <form method="post" action="edytuj_kategorie_select.php" enctype="multipart/form-data">
  21.   <tr><td>Nazwa kategorii:</p></td><td align="left"><input type="text" name="nazwa" value="<?php echo $wiersz['nazwa']; ?>"></td></tr>
  22. <tr><td width="200" height="100">Opis Kategorii:</p></td><td align="left"><textarea name="opis"  rows="4" cols="40"><?php echo $wiersz['opis']; ?></textarea></td></tr>
  23. <tr><td width="200" height="100">Wybierz plik ktory chcesz umiescic:</p></td><td align="left"><input type="file" name="obraz" value="<?php echo $wiersz['zdjecie']; ?>" size="40"></td></tr><br />
  24. <tr><td colspan="2" align="center"><input type="submit" value="aktualizuj"></td></tr>
  25. </form></table></td></tr></table></td></tr></table> 
  26.  
  27.  <?php  
  28. $zapytanie = "update kategorie
  29.              set nazwa='$nazwa', opis='$opis', zdjecie='$name'
  30.              where nazwa='$edytuj_kat'";
  31.    $wynik = @mysql_query($zapytanie);
  32. ?>


Ten post edytował bratpit 3.06.2009, 10:52:04
Go to the top of the page
+Quote Post
golaod
post 3.06.2009, 10:06:59
Post #2





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


HTTP_*_VARS - to na jakim ty starociu pracujesz ?

Tak przy okazji. Skąd bierzesz $_FILES ? Bo ja nie widziałem tego w fomularzu
Go to the top of the page
+Quote Post
batman
post 3.06.2009, 10:26:18
Post #3





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




~bratpit dodaj tagi do tematu oraz poprawne bbcode do posta. Pisząc poprawne nie mam na myśli code.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
bratpit
post 3.06.2009, 10:32:26
Post #4





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 9.08.2007

Ostrzeżenie: (0%)
-----


jak nacisne przycisk to pisze ze rekordy sie zaktualizowały.

Druga sprawa to taka ze jak nic nie wpisze w formularz to w bazie mi je aktualzuje na puste pola.

Probelm jest taki ze jak cos innego wpisze w pola formularza to nie aktualizuje mi tych pol i pozostaja takie same jak byly
Go to the top of the page
+Quote Post
erix
post 3.06.2009, 12:20:51
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat(golaod @ 3.06.2009, 11:06:59 ) *
HTTP_*_VARS - to na jakim ty starociu pracujesz ?

Nie bez powodu cytuję.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
bratpit
post 3.06.2009, 13:13:06
Post #6





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 9.08.2007

Ostrzeżenie: (0%)
-----


Korzysatm z ksiazki heliona vademecum profesjonalisty. To zamiast HTTP_POST_VARS czego mam uzywac. z tym formualrzem juz sobie poradzilem.

mam inne pytanie

Mam dwie tabele: kategorie i produkty.Moj formularz posiada pola z tabeli kategorii i produktów. Kategorie wybieram za pomocą <select> reszta inputów jest z tabeli produkty. 

Jakie wykonac zapytanie aby dodać do tabeli produkty(id_produktu, id_kategori,....) id_kategori z tabeli kategorii(id_kategorii wybieram za pomoca selecta (kod powyzej)

dzieki
Go to the top of the page
+Quote Post
erix
post 3.06.2009, 15:05:12
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Korzysatm z ksiazki heliona vademecum profesjonalisty. To zamiast HTTP_POST_VARS czego mam uzywac. z tym formualrzem juz sobie poradzilem.

Za stara książka. Wyrzuć, nie nauczysz się z niej niczego.

A poszukaj tzw. zmiennych predefiniowanych (predefined variables).


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Roly
post 3.06.2009, 15:15:09
Post #8





Grupa: Zarejestrowani
Postów: 55
Pomógł: 7
Dołączył: 8.12.2003
Skąd: Andrychów

Ostrzeżenie: (0%)
-----


Zmień
  1. <?php
  2. $wynik = @mysql_query($zapytanie);
  3. ?>


na

  1. <?
  2.    $wynik = false;
  3.    $wynik = mysql_query($zapytanie);
  4.    if(!$wynik) {
  5.        echo mysql_error();
  6.    }
  7. ?>


I wstaw tutaj co Ci wyrzuca...

PS na pewno to
  1. <?php
  2. $zapytanie = "select nazwa, opis, zdjecie from kategorie
  3.             where nazwa='$edytuj_kat'";
  4. ?>


powinno wyglądać inaczej np tak:

  1. <?php
  2. $zapytanie = "SELECT `nazwa`, `opis`, `zdjecie` FROM `kategorie` WHERE `nazwa`='".$edytuj_kat."'";
  3. ?>


--------------------
adminvps.pl
Go to the top of the page
+Quote Post
bratpit
post 3.06.2009, 15:36:09
Post #9





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 9.08.2007

Ostrzeżenie: (0%)
-----


dzieki mam teraz takie pytanie:

  1. <?php
  2.  
  3. $lacz = lacz_baza();
  4. if(!$lacz)
  5.     { echo 'brak polaczenia';}
  6.  
  7. ?>
  1. <tr><td width="200" height="100"><form method="post" action="dodaj_produkt.php" enctype="multipart/form-data"><input type="hidden" name="MAX_FILE_SIZE" value="20000"><input type="text" name="nazwa" size="40"></td>
  2. </tr><tr><td width="200">Wybierz nazwę kategorii produktu:</p></td> <td align="left" >
  1. <select name="dodaj_prod"><?php $zapytanie = "select id_kategori, nazwa from kategorie"; $wynik = mysql_query($zapytanie); $ile_znalezionych =mysql_num_rows($wynik); for($i=0; $i<$ile_znalezionych;$i++){$wiersz = mysql_fetch_array($wynik); $id= $wiersz['id_kategori']; $nazwa=$wiersz['nazwa']; echo "<option value=$id>$nazwa</option>"; }?>
  1. </td></tr><tr><td width="200">
  2. <p style="font:Arial, Helvetica, sans-serif; color:#FFFFFF;">Cena produktu:</p></td><td align="left" ><input type="text" name="cena" size="40"></td></tr>
  3. <tr><td width="200" height="100">Opis produktu:</p></td><td align="left"><textarea name="opis" rows="4" cols="40"></textarea></td></tr>
  4. <tr><td width="200" height="100">Wybierz zdjecie ktore chcesz umiescic:</p></td><td align="left"><input type="file" name="produkt" value="" size="40"></td></tr>
  5. <tr><td colspan="2" align="left"><input type="submit" value="Dodaj produkt do bazy"></td></tr>
  6. </form></table></td></tr></table></td></tr></table>




plik odbslugujcy formularz

  1. <?php
  2.  
  3. move_uploaded_file($_FILES['produkt']['tmp_name'],"zdjecia/".$_FILES['produkt']['name']);
  4. $nazwa = $HTTP_POST_VARS['nazwa'];
  5. $opis = $HTTP_POST_VARS['opis'];
  6. $cena = $HTTP_POST_VARS['cena'];
  7. $dodaj_prod = $http_POST_VARS['dodaj_prod'];
  8.  
  9.  
  10. $lacz = lacz_baza();
  11. if(!$lacz)
  12.     { echo 'brak polaczenia';}
  13.  
  14. $name = 'zdjecia/'.$_FILES['produkt']['name'];
  15.  
  16. $zapytanie = "INSERT INTO produkty (id_produktu,id_kategori,nazwa,cena,opis,zdjecie) values ('','$id','$nazwa','$cena','$opis','$zdejcie')";
  17. $wynik = mysql_query($zapytanie);
  18. if($wynik)
  19. {
  20. echo '<tr><td align="left">';
  21. echo '<p style="font:Arial, Helvetica, sans-serif; color:#FFFFFF;">'.mysql_affected_rows().'Nowy produkt zostal dodany do bazy</p>';
  22.  
  23. }
  24. else
  25. {
  26. die('blad:'.mysql_error());
  27. }
  28.  
  29. ?>


Zapytanie zosaje wykonane ale ale id_kategorii(klucz obcy) w tabeli "produkty" ma wartosc cały czas "0". Nie wiem jak zrobic aby to co zostały wybrane w polu <select>(tabela kategoria) dodawało sie do tabeli "produkty"
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 15:16