Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie SQL i zwracanie array-a
Forum PHP.pl > Forum > Przedszkole
bonzaiii
Witam, od długiego czasu siedzę nad problemem, gdzie potrzebuje wyedytować fragment kodu:
Odwołuje się w zapytanie du bazy sql, i wszystko jesta fajnie, poza tym, że nijak nie moge uzyskać odpowiedzi innej niż "array".

Poniżej przedstawiam trochę skróconą funkcję.

  1. <?php
  2. function check($gID='', $dir="zdj")
  3. {  
  4.  $pro = $this->db->get("SELECT id FROM `items` WHERE gID = 3673");
  5. echo '<pre>';
  6. print_r($pro);
  7. echo '</pre>';
  8.  $pic[] = "<a href=index.php?site=about&id=$pro><img src=\"$dir/$fn/$file_tn.jpg\" /></a>"; 
  9. return $pic;
  10. }
  11. ?>


Problemem jest, że w linku zamiast usyskac numer bedący odpowiedzią zapytania, mam "array". Nie bardzo wiem, czym to jest spowodowane. Echo zwracam mi dokładnie to co chce (no, zwraca mi array, ale też interesujący mnie numer id).
Gdy zadeklaruje na sztywno coś takiego

$pro ='41241';

To interesuąca mnie cyferka dodaje się do linka.
AxZx
  1. <?php
  2. $pic[] = "<a href=index.php?site=about&id=$pro['id']><img src=\"$dir/$fn/$file_tn.jpg\" /></a>";
  3. ?>

zaptanie zwraca kolumne id
bonzaiii
Dziękuje za pomoc.
Niestety po wprowadzeniu takiej poprawki ['id'] w podanej lini kodu otrzymuje błąd składni.


Parse error
: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
Neeke
Jezeli baza Mysql to napewno wywal apostrofy przy nazwie tabeli czly

  1. <?php
  2. pro = $this->db->get("SELECT id FROM items WHERE gID = 3673");
  3. ?>


a reszte tak jak napisal AxZx
nospor
Cytat
takiej poprawki ['id']
Bo powinno byc [id] bez ciapkow.
Polecam dokladną lekture: http://pl2.php.net/manual/pl/language.types.string.php
bonzaiii
Dzięki za pomoc, zabieram się za lekturę.
Aktualnie brak ząbków rozwiązuje sprawę parsera, co oczywiście testowałem, ale wtedy nic się nie pojawia na zakończeniu linka, dlatego myślałem ze nie przekazuje się w ogóle zmienna i to nie to.

Podam jeszcze co mi wyświetla "echo"


------
Array
(
[0] => Array
(
[id] => 29243
)
-----

No i nadal walcze jak się dobrać, to tego (w tym przypadku) 29243, aby się przekazało na zakończenie dynamicznego linka...


EDIT:
Problem rozwiązany
Dostawiłem dodatkową zmienną po zapytaniu SQL
$proxi = $pro[0];
I dopiero wtedy odwołałem się już nie do pro, tylko proxi w linku.. i działa.
Pewnie dało by się odwołać bezpośrednio do tego id, bez używania dodatkowej zmiennej ale to już kiedyś usprawnie.

Dziękuje wszystkim smile.gif


Całość działającego kodu wygląda tak:

  1. <?php
  2. function check($gID='', $dir="zdj")
  3. {  
  4.  $pro = $this->db->get("SELECT id FROM items WHERE gID = 3673");
  5. $proxi = $pro[0];
  6.  $pic[] = "<a href=index.php?site=about&id=$proxi[id]><img src=\"$dir/$fn/$file_tn.jpg\" /></a>"; 
  7. return $pic;
  8. }
  9. ?>
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.