Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][POSTGRES] Jak wstawić do bazy rekordy z listy wielokrotnego wyboru?
marcinp1984
post
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 17.05.2009

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


Witam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Mam problem ze wstawieniem rekordów do tabeli wybieranych z listy wielokrotnego wyboru. W zasadzie to nie problem tyle że zupełnie nie wiem jak to zrobić :/

Dane z formularza przekazywane są dalej w taki sposób:

  1. <?php
  2. echo "<form action=wokalistaalbumsql.php method=post>";
  3.  
  4. $query = "SELECT * FROM wokalisci order by imie";
  5. $result = pg_query($query);
  6.  
  7. echo "<b>Dodaj Wokalistę/wokalistów:</b><br>";
  8. echo "<select name=wokal multiple>";
  9. while($line = pg_fetch_array($result, null, PGSQL_ASSOC))
  10. {
  11.   echo "<option value='".$line['id_wokal']."'>$line[imie] $line[nazwisko]</option>";
  12. }
  13. echo "</select>";
  14.  
  15.  
  16. $query = "SELECT * FROM albumy order by tytul";
  17. $result = pg_query($query);
  18.  
  19. echo "<b>do albumu: </b>";
  20. echo "<select name=album>";
  21. while($line = pg_fetch_array($result, null, PGSQL_ASSOC))
  22. {
  23.   echo "<option value='".$line['id_albumu']."'>$line[tytul]</option>";
  24. }
  25. echo "</select>";
  26. ?>



Jak teraz należy to odebrać w pliku wokalistaalbumsql.php aby do bazy zostali dodani wszyscy wskazani przeze mnie woaliści??

Ten post edytował marcinp1984 26.05.2009, 20:41:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcinp1984
post
Post #2





Grupa: Zarejestrowani
Postów: 112
Pomógł: 0
Dołączył: 17.05.2009

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


hmm... i tu wychodzi to jak bardo jestem zaawansowany w phpie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Czyli jednak wszystko działało (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Wielkie dzięki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Już wypełnia baze (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

hmm... chyba jednak nie wypełnia (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) jeszcze musze to sprawdzić (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

A więc niby działa ale nie do końca (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Mam teraz taki kod:
  1. <?php
  2.  
  3. $dbconn = pg_connect("host=localhost port=5555 dbname=postgres user=postgres password=marcin");
  4.  
  5. $wokal = $_POST['wokal'];
  6. $album = $_POST['album'];
  7.  
  8. $sql = "INSERT INTO wokalisci_albumow (id_albumu, id_wokal) VALUES %s;";
  9. $values = array();
  10. foreach($_POST['wokal'] as $aid){
  11. $values[] = sprintf('(%d, %d)', (int) $aid, (int) $_POST['album']);
  12. }
  13.  
  14. $values = implode(', ', $values);
  15.  
  16. $sql = sprintf($sql, $values);
  17.  
  18. $query = pg_query("$sql");
  19.  
  20. pg_close($dbconn);
  21.  
  22.  
  23. ?>


Jeśli wybiorę jedną z opcji to doda ją do bazy jeśli inną to już nie... jeśli dodam dwie na raz też raz doda raz nie.... im więcej próbuje dodać tym już w ogóle to nie wychodzi :/ W czym może leżeć problem??

jest w stanie ktoś pomóc??

Ahhh już wiem w czym leżała przyczyna... tabelka była jakoś odwrotnie wypełniana... id_albumu wpadało do id_wokalu i odwrotnie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Odwróciłem w kodzie kolejnościami jakieś pierdoły i już wszystko działa ok :]

Dzięki Crozin (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Posty w temacie


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: 13.10.2025 - 13:17