Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]UPDATE w MySQL
elldiablo
post
Post #1





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 30.05.2009

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


Witam,
Mam problem z update-m bazy danych.

W formularzu pobieram do listy rozwijanej dane sklepów:
  1. echo '<form action="action.php" method="POST">';
  2. echo '<select name="id_sklep">';
  3. echo '<option><-- nie wybrano --></option>';
  4. $query1 = ("SELECT * FROM `hb_sklep`");
  5. $results1 = mysql_query($query1) or die (mysql_error());
  6. while ($rows = mysql_fetch_array($results1)) {
  7. extract($rows);
  8. echo '<option name="id_sklep" value="'.$id_sklep.'">'.$id_sklep.' '.$hb_sklep.'</option>';
  9. }
  10. echo '</select>';
  11. echo '&nbsp;<input type="submit" class="submit" value="Przenies" name="action" />';
  12. echo '</form>';


Po wybraniu sklepu i wciśnięciu przycisku "przenieś" wywoływany jest plik action.php
  1. case 'Przenies';
  2. $id_sklep = $_GET['id_sklep'];
  3. $id_produkt = $_REQUEST['id_produkt'];
  4. $sql = ("UPDATE hb_produkt SET id_sklep='$id_sklep' WHERE id_produkt=$id_sklep");
  5. if (!mysql_query($sql)) {
  6. redirect('telefony.php');
  7. break;
  8. } else {
  9. redirect('telefony.php');
  10. break;
  11. }


Tabela ze sklepami wygląda następująco:
id_sklep - hb_sklep

Tabela z produktami
id_produkt - id_sklep - imei itd.

Chodzi o to, aby telefon ze sklepu 1 był przeniesiony do sklepu 2.

Gdzie robię błąd?
Go to the top of the page
+Quote Post
rytek
post
Post #2





Grupa: Zarejestrowani
Postów: 63
Pomógł: 14
Dołączył: 21.01.2009
Skąd: Mszczonów

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


Jeżeli dobrze myślę, to tu jest twój błąd:

  1. $sql = ("UPDATE hb_produkt SET id_sklep='$id_sklep' WHERE id_produkt=$id_sklep");

a dokładnie:
  1. WHERE id_produkt=$id_sklep



Go to the top of the page
+Quote Post
elldiablo
post
Post #3





Grupa: Zarejestrowani
Postów: 79
Pomógł: 1
Dołączył: 30.05.2009

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


Jeśli mam id_produkt='$id_sklep'

to zostaje przeniesiony produkt np o id 2 d sklepu o id 2

inaczej nie działa.

Okej.
Znalazłem problem.

Dla zainteresowanych.
Jeśli jest lista rozwijana j/w po zamknięciu selecta czyli </select> należy dodać linijkę:

echo '<input type="hidden" name="id_produkt" value="'.$id_produkt.'" />';

a update będzie wyglądał tak:
case 'Przenies';
$id_sklep = $_POST['id_sklep'];
$id_produkt = $_REQUEST['id_produkt'];
if (isset($_POST['id_sklep'])) {
$sql = ("UPDATE hb_produkt SET id_sklep='$id_sklep' WHERE id_produkt='$id_produkt'");

Topic zamknięty.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 17:49