Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]UPDATE w MySQL
Forum PHP.pl > Forum > Przedszkole
elldiablo
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?
rytek
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



elldiablo
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.
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.