Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Zmiana zapytania pod względem kategorii
Forum PHP.pl > Forum > Przedszkole
adrianozo
Witam.
Mam problem z rozgryzieniem jak zmieniać zapytanie.
Otóż chciałbym mieć jeden formularz i w zależności od kategorii do takiej tabeli doda rekord. Mam nadzieję, że dobrze się wysłowiłem.
Przykładowo, gdy chciałbym dodać rekord z kategorią Testy to zapytanie wyglądałoby następująco:

  1. INSERT INTO `test` (`info`, `kategoria`, `tytul`, `krotka`, `cena`, `plik`, `zdjecie`, `data`) VALUES ('".$info."', '".$kategoria."', '".$tytul."', '".$krotka."', '".$cena."', 'upload/".$plik_nazwa."', 'zdjecie/".$zdjecie_nazwa."', '".$data."')


A gdy Bazy danych to tak:

  1. INSERT INTO `bazy_danych` (`info`, `kategoria`, `tytul`, `krotka`, `cena`, `plik`, `zdjecie`, `data`) VALUES ('".$info."', '".$kategoria."', '".$tytul."', '".$krotka."', '".$cena."', 'upload/".$plik_nazwa."', 'zdjecie/".$zdjecie_nazwa."', '".$data."')


Proszę o pomoc bo nie wiem jak to ugryźć.
darko
Jeśli struktura tabel jest taka sama, to umieść w formularzu pole hidden o nazwie tabela i później:

mój błąd:
INSERT INTO `test` (`".$_POST["tabela"]."`, `kategoria`, `tytul`, `krotka`, `cena`, `plik`, `zdjecie`, `data`) VALUES ('".$info."', '".$kategoria."', '".$tytul."', '".$krotka."', '".$cena."', 'upload/".$plik_nazwa."', 'zdjecie/".$zdjecie_nazwa."', '".$data."')

miałem na myśli:

  1. INSERT INTO `".$_POST["tabela"]."` (`info`, `kategoria`, `tytul`, `krotka`, `cena`, `plik`, `zdjecie`, `data`) VALUES ('".$info."', '".$kategoria."', '".$tytul."', '".$krotka."', '".$cena."', 'upload/".$plik_nazwa."', 'zdjecie/".$zdjecie_nazwa."', '".$data."')
adrianozo
Struktura tabel będzie taka sama, ale nie bardzo rozumiem to zapytanie co ty przesłałeś
cim
Witam,

@darko podał Ci kod w którym nazwa tabeli, do której dodany zostanie rekord jest przekazywana do skryptu w postaci zmiennej (w przykładzie: $_POST['tabela']). Jak $_POST['tabela'] = 'test' do doda rekord do tabeli 'test', jeżeli $_POST['tabela'] = 'bazy_danych' to do tabeli 'bazy_danych'.

Pozdrawiam
adrianozo
Dzięki za pomoc, ale rozwiąże to trochę inaczej smile.gif
scorpion_1982
Np.
w formularzy przesyłasz sobie jakieś id czyli
przykładowo.
Od strony html, tylko musisz dodać dodatkowe pola.
  1. <form name="frm" method="post" action="">
  2. <select name="rodzaj">
  3. <option value="0">Form 1</option>
  4. <option value="1">Form 2</option>
  5. <!-- Pozostałe dane -->
  6. <input type="submit" name="submit" value="Wyślij" />
  7. </form>


Od strony php

  1. <?php
  2. // Odbieranie formularza
  3. if (isset($_POST['submit']))
  4. {
  5. $tbl[0]="test";
  6. $tbl[1]="bazy_danych";
  7. $r=(int)$_POST['rodzaj']; // Wartość liczbowa typu int. uniemożliwi włamanie i przejęcie bazy.
  8. // Małe zabezpieczenie w razie gdyby ktoś przesłał posta z inną wartością
  9.  
  10. if ($r==0 or $r==1)
  11. {
  12. $zap="INSERT INTO `".$tbl[$r]."` (`info`, `kategoria`, `tytul`, `krotka`, `cena`, `plik`, `zdjecie`, `data`) VALUES ('".$info."', '".$kategoria."', '".$tytul."', '".$krotka."', '".$cena."', 'upload/".$plik_nazwa."', 'zdjecie/".$zdjecie_nazwa."', '".$data."')";
  13. }
  14. }
  15.  
  16. ?>


Coś w tym stylu.

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