Strona 2 z 2
Re: [php][mysql] Problem z wyszukiwarką
: wt lip 19, 2005 5:41 pm
autor: Strachu
viraptor pisze:$results['u.id'];
Niedziała, sprawdzałem
viraptor pisze:Jak nie chcesz kropek, to SELECT u.id as uid, itd. -> dostajesz $results['uid'];
A jak to będzie wyglądać gdy pobieram wszystko z danej tabeli?(chodzi mi o zapytanie).
Re: [php][mysql] Problem z wyszukiwarką
: wt lip 19, 2005 6:05 pm
autor: viraptor
Wypisz sobie po prostu $results po takim zapytaniu, to będziesz wiedział jak się które pole nazywa... A z tymi kropkami, to coś dziwnego się dzieje u ciebie, bo normalnie tak zwraca wyniki.
Re: [php][mysql] Problem z wyszukiwarką
: wt lip 19, 2005 6:24 pm
autor: Strachu
viraptor pisze:Wypisz sobie po prostu $results po takim zapytaniu, to będziesz wiedział jak się które pole nazywa...
Próbowąłem tak funckcą print_r, to mi wyświetliło coś takiego:
Kod: Zaznacz cały
Array ( [0] => 3 [id] => 1 [1] => Cześć [name] => test [2] => 1 [forum] => 1 [3] => 3 [reply] => 3 [4] => 3 [autor] => 3 [5] => 20:28:03, 15-07-2005 [createdate] => 20:28:03, 15-07-2005 [6] => 3 [7] => 0 [user_level] => 0 [8] => Xardas [username] => Xardas [9] => c4ca4238a0b923820dcc509a6f75849b [pass] => c4ca4238a0b923820dcc509a6f75849b [10] => [email protected] [email] => [email protected] [11] => Wieża Xardasa [u_from] => Wieża Xardasa [12] => 20:26:50, 15-07-2005 [register_date] => 20:26:50, 15-07-2005 [13] => 2 [posts] => 7 [14] => 1 [15] => test [16] => To jest testowe forum, możesz w nim robić co chcesz :D [description] => To jest testowe forum, możesz w nim robić co chcesz :D [17] => 7 [18] => 3 [topics] => 3 )
[0] prawdopodnie wskazuje na u.id, ale dlaczego akurat [0], a nie [u.id]?
Ale takie zgadywanie, który numer to jaka kolumna to chyba raczej nienajlepsze wyjście :/
Proszę o pomoc jak to zapisywać.

Re: [php][mysql] Problem z wyszukiwarką
: wt lip 19, 2005 6:29 pm
autor: viraptor
Zamiast fetch_array zrób fetch_assoc -> powinno być troche jaśniej wtedy, bo nie będzie używał indeksów, tylko nazwy.
Re: [php][mysql] Problem z wyszukiwarką
: wt lip 19, 2005 6:35 pm
autor: Strachu
Teraz wyświetliło:
Kod: Zaznacz cały
Array ( [id] => 1 [name] => test [forum] => 1 [reply] => 3 [autor] => 3 [createdate] => 20:28:03, 15-07-2005 [user_level] => 0 [username] => Xardas [pass] => c4ca4238a0b923820dcc509a6f75849b [email] => [email protected] [u_from] => Wieża Xardasa [register_date] => 20:26:50, 15-07-2005 [posts] => 7 [description] => To jest testowe forum, możesz w nim robić co chcesz :D [topics] => 3 )
To chyba nienajlepsze rozwiązanie, ponieważ to co było oznaczone cyframi całkowicie zostało usunięte z tabeli
Np. Teraz nie ma pobranego id z tabeli users

Re: [php][mysql] Problem z wyszukiwarką
: wt lip 19, 2005 7:46 pm
autor: viraptor
Przepraszam za zamieszanie - za bardzo się przyzwyczaiłem do swoich wrapperów i już nie pamiętam co w nich pakowałem

Dokładnie: przez fetch_{assoc,row,object,array} nie dostaniesz pełnych nazw kolumn i tabeli. Możesz mieć dostęp do pełnych nazw na 2 sposoby:
1. Używasz np. takiego kodu:
[php]<?php
while($row=mysql_fetch_row($res)) {
foreach($row as $k=>$v)
$arr[mysql_field_table($res,$k).'.'.mysql_field_name($res,$k)]=$v;
// robisz cośtam dalej z $arr, która ma indeksy w stylu tabela.pole
}
?>[/php]
Mniej-więcej taki kod mam we wrapperze.
2. Każde pole sobie aliasujesz, czyli np. (pole to kolidujące pole).
[sql]SELECT *, tabela1.pole as 'tabela1.pole', tabela2.pole as 'tabela2.pole' .....[/sql]
Masz wtedy wszystkie niekolidujące pola normalnie, a te z kolidujące też z własnymi nazwami.