Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Oracle][PHP] Złączenie znaków
kamulator
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 3.02.2009

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


Witam, mam mały problem a mianowicie nie mam pojęcia jak moge złączyć tablice aby powstał odpowiedni ciąg znaków. Mianowicie ma on wyglądać tak:

'kom1', 'kom2', 'kom3' itp..

w tym momencie wyglada tak

kom1,kom2,kom3 brakuje w nim ' ' zapytanie mam dodawać rekord do bazy danych w tym momenice nie doda gdy są wartości varchar, dodaje tylko number itp.. ze względu na brak dowch pieknych znaczków ' '.

$s = oci_parse($conn, "insert into $cat values (SEQ_$cat.NextVal,". implode (',', $array3) .")"); - w tym miejscu pojawia się problem

Fragment funkcji wyglada tak:

  1. function dodaj_do_tabeli($tabela){
  2. include('connect.php');
  3.  
  4. $s = oci_parse($conn,'select * from ' . $tabela. '');
  5. oci_execute($s);
  6.  
  7. $licznik = oci_num_fields($s);
  8.  
  9.  
  10. for ($i = 2; $i <= $ncols; $i++) {
  11. $column_name = oci_field_name($s, $i);
  12. $array3[$i]=$_POST[$column_name];
  13.  
  14. }
  15.  
  16.  
  17. $s = oci_parse($conn, "insert into $cat values (SEQ_$cat.NextVal,". implode (',', $array3) .")");
  18.  
  19. $result = oci_execute($s);
  20.  
  21. if ($result)
  22. {
  23. echo "<br>DODANO POZYCJE</p>";
  24. oci_commit($conn);
  25. }
  26. else
  27. {
  28. echo "<p>BLAD - nie dodano pozycji</p>";
  29. var_dump(oci_error($s));
  30. }
  31. ...



Proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
CuteOne
post
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


zamiast wrzucać implode do zapytania zrób to poza nim:

  1. $string = '';
  2. foreach($array as $list) {
  3.  
  4. $string .= "'$list',";
  5. }
  6.  
  7. $string = substr($string, 0, -1);
  8. $s = oci_parse($conn, "insert into $cat values (SEQ_$cat.NextVal,". $string .")");


Ten post edytował CuteOne 15.01.2011, 05:14:34
Go to the top of the page
+Quote Post
kamulator
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 3.02.2009

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


Witam, teraz mam kolejny problem a mianowicie potrzebuje stworzyc zapytanie update z dwóch tablic, które zawierają elementy do wpisania a druga tablica zawiera ininfromacje o komorkach tabeli.


  1. function edytuj_pozycje2($tabela,$id){
  2. include('connect.php');
  3.  
  4. $s = oci_parse($conn,'select * from ' . $tabela. '');
  5. oci_execute($s);
  6. $ncols = oci_num_fields($s);
  7. $column_name1 = oci_field_name($s, 1);
  8.  
  9. for ($i = 1; $i <= $ncols; $i++) {
  10. $column_name = oci_field_name($s, $i);
  11. $array4[$i]=$column_name;
  12. $array3[$i]=$_POST[$column_name];
  13. }
  14.  
  15.  
  16.  
  17. //$s = oci_parse($conn, "UPDATE $tabela values ()"); - tutaj problem, gdyż nie mam pojęcia jak to zrobić. Tablica array4 zawiera informacje o nazwach pol czyli np imie nazwisko natomiast array3 zawiera dane do edytowania czyli juz konkretne imie i nazwisko do wpisania, wiec trzeba stworzyc wczesniej lancuch do zapytania, ale rowniez nie wiem jak to zrobic, a na końcu musi byc warunek WHERE $column_name1=$id; Prosze o pomoc
  18.  
  19. $result = oci_execute($s);
  20.  
  21. if ($result){
  22. echo "<br><p>Edytowano pozycje</p><br>";
  23.  
  24. oci_commit($conn);
  25. }
  26. else{
  27. echo "<p>BLAD - nie edytowano pozycji</p>";
  28. var_dump(oci_error($s));
  29. }
  30.  
  31. oci_close($conn);
  32.  
  33. .........


Ten post edytował kamulator 15.01.2011, 21:57:09
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 Aktualny czas: 20.08.2025 - 13:41