Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][PostgreSQL]Wyciaganie wartości zpytania z obiektu
Forum PHP.pl > Forum > Przedszkole
Muadib
Mam fajny zapytajnik, mam oto klase połaczenia sie i zapytań do postgree sql

  1. <?php session_start();
  2.  
  3. class postgresql
  4. {
  5. public function __construct($host, $port, $user, $password, $dbname)
  6. {
  7. // Połączenie
  8. if(!$this->db = pg_connect('host='.$host.' port='.$port. ' dbname='.$dbname.' user='.$user.' password='.$password.''))
  9. {
  10. $this->error = true;
  11. throw new Exception('Błąd Połączenia z Bazą Danych - '.pg_last_error());
  12. }
  13. // Globalna tranzakcja start
  14. pg_query($this->db, 'BEGIN');
  15. }
  16. public function query($query)
  17. {
  18. // wykonywanie zapytań nie-SELECT
  19. if(!ereg('SELECT', $query) and !$this->error)
  20. {
  21. if(!$result = pg_query($this->db, $query))
  22. {
  23. $this->error = true;
  24. throw new Exception('Błąd wykonania zapytania - ('.$query.') - '.pg_last_error());
  25. }
  26. else
  27. {
  28. return true;
  29. }
  30. }
  31. else
  32. {
  33. return false;
  34. }
  35. }
  36. public function query_select($query)
  37. {
  38. // Zapytania select
  39. if(!$this->error)
  40. {
  41. if(!$result = pg_query($this->db, $query))
  42. {
  43. $this->error = true;
  44. throw new Exception('Błąd wykonania zapytania - ('.$query.') - '.pg_last_error());
  45. }
  46. print "<table border = '1'>";
  47. echo "<tr id = 'naglowki'>";
  48. if (preg_match('/alias/', $query))
  49. {
  50. for ($x = 0; $x <= 4; $x++)
  51. {
  52.  echo "<td id='nag1'>".pg_field_name($result, $x).'</td>';
  53. }
  54. }
  55. else if (preg_match('/domain/', $query))
  56. {
  57. for ($x = 0; $x <= 5; $x++)
  58. {
  59. echo "<td id='nag2'>".pg_field_name($result, $x).'</td>';
  60. }
  61. }
  62. else if (preg_match('/mailbox/', $query))
  63. {
  64. for ($x = 0; $x <= 8; $x++)
  65. {
  66. echo "<td id='nag3'>".pg_field_name($result, $x).'</td>';
  67. }
  68. }
  69. echo'</tr>';
  70. while($row = pg_fetch_array($result, null, PGSQL_ASSOC))
  71. {
  72.  $username = $row['username'];
  73.  $username_rpl = preg_replace('/@mw.ron.int/', '', $row['username']);
  74.  
  75.  print '<tr>';
  76.  foreach ($row as $widok) { echo "<td>".$widok."</td>"; }
  77.  if (preg_match('/rem/', $_SERVER['REQUEST_URI']) && preg_match('/mailbox/', $query) && $_SESSION['check'] == true )  
  78.  print '</tr>';
  79. }
  80. print '</table>';
  81. unset($result);
  82. unset($row);
  83. }
  84. }
  85. public function escape($string)
  86. {
  87. return pg_escape_string($string);
  88. }
  89. function __destruct()
  90. {
  91. if(!$this->error)
  92. {
  93. pg_query('COMMIT');
  94. }
  95. else
  96. {
  97. pg_query('ROLLBACK');
  98. }
  99. unset($this->db);
  100. unset($this->error);
  101. }
  102. }
  103. ?>


Zapytanie do klasy wysyła sie za pomoca

  1. <?php
  2. $pgs->query_select("SELECT * FROM alias ")
  3. ?>


A mam pytanie do tego zapytania bo zwraca mi całą tabelkę ale chciałbym żeby zwracała mi pojedyncze wartości z tabelki w formie string na przykład po zapotaniu z warunkiem zwraca mi dane 1 użytkownika w postaci tabelki, z tej tabelki chciałbym wyciągnąc username w postaci zmiennej.
Shili
możesz stworzyć zapytanie w postaci:
  1. SELECT username FROM alias

Wtedy zwróci Ci jedynie username.
Albo dobrać się do odpowiedniego pola we wszystkich zwróconych wynikach przez odpowiedni indeks stworzonej tabilcy.

Jeśli chcesz dane jednego określonego użytkownika za pomocą klauzuli WHERE musisz określić którego.
Ociu
Prosze poprawić nazwę tematu aby był zgodny z regulaminem panującym na tym subforum.
Muadib
Hmm no nie do końca o to chodzi, chcłabym z takiego zapytania wyciągnąć wartość w postaci np

  1. <input type='text' name='username' value='Tu wartośc z zapytani chociaz nie wiem jak wyciagnac '>
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.