Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Zmiana zapytania pod względem kategorii
adrianozo
post 26.12.2009, 13:20:08
Post #1





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


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źć.

Ten post edytował adrianozo 26.12.2009, 13:20:56


--------------------
Go to the top of the page
+Quote Post
darko
post 26.12.2009, 13:24:36
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


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."')


Ten post edytował darko 26.12.2009, 13:34:13


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
adrianozo
post 26.12.2009, 13:29:44
Post #3





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


Struktura tabel będzie taka sama, ale nie bardzo rozumiem to zapytanie co ty przesłałeś


--------------------
Go to the top of the page
+Quote Post
cim
post 26.12.2009, 15:03:15
Post #4





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

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


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


--------------------
errare humanum est
Go to the top of the page
+Quote Post
adrianozo
post 27.12.2009, 10:31:32
Post #5





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


Dzięki za pomoc, ale rozwiąże to trochę inaczej smile.gif


--------------------
Go to the top of the page
+Quote Post
scorpion_1982
post 2.01.2010, 03:55:28
Post #6





Grupa: Zarejestrowani
Postów: 15
Pomógł: 1
Dołączył: 10.12.2007
Skąd: Nowy Sącz

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


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
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: 13.06.2025 - 16:18