ďťż
 
Problem z zapytaniem MySQL i PHP wynik zwraca 3 razy, dlaczego? ďťż
 
Problem z zapytaniem MySQL i PHP wynik zwraca 3 razy, dlaczego?
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Problem z zapytaniem MySQL i PHP wynik zwraca 3 razy, dlaczego?



Mav - 20-11-2006 00:02
Problem z zapytaniem MySQL i PHP wynik zwraca 3 razy, dlaczego?
  Witam

Mam problem nastepujacy:
Skrypt zapytujacy baze wyglada tak:

$aDBLink = mysql_connect( $serwer, $user, $pass );
mysql_select_db( $baza, $aDBLink );
$aSQL = "SELECT * FROM kuracje, dolegliwosci WHERE (dolegliwosci.dolegliwosc
LIKE '".$doleg."') AND (kuracje.symbol LIKE d1 OR kuracje.symbol LIKE d2 OR
kuracje.symbol LIKE d3 OR kuracje.symbol LIKE d4 OR kuracje.symbol LIKE d5
OR kuracje.symbol LIKE d6 OR kuracje.symbol LIKE d7 OR kuracje.symbol LIKE
d8 OR kuracje.symbol LIKE d9 OR kuracje.symbol LIKE d10)";
$aQResult = mysql_query( $aSQL, $aDBLink ) or die(mysql_error());
while ( $aRow = mysql_fetch_array( $aQResult ) )

I teraz pytanie dlaczego przy tym zapytaniu
petla while powtarza sie 3 krotnie dla kazdego wiersza tabeli...

czyli zamias wyswietlic np.

K1 nazwa kuracji1
K2 nazwa kuracji2

wyswietla

K1 nazwa kuracji1
K1 nazwa kuracji1
K1 nazwa kuracji1
K2 nazwa kuracji2
K2 nazwa kuracji2
K2 nazwa kuracji2

gdzie zrobilem blad?

Pozdr Mav





Mav - 20-11-2006 00:02

  sam znalazlem

mysql_free_result( $aQResult );

nie w tym miejscu :)))




Mav - 20-11-2006 00:02

  A jednak sobie nie poradzilem HELP




A.L.E.C - 20-11-2006 00:02

  Mav wrote:

> $aSQL = "SELECT * FROM kuracje, dolegliwosci WHERE (dolegliwosci.dolegliwosc
> LIKE '".$doleg."') AND (kuracje.symbol LIKE d1 OR kuracje.symbol LIKE d2 OR
> kuracje.symbol LIKE d3 OR kuracje.symbol LIKE d4 OR kuracje.symbol LIKE d5
> OR kuracje.symbol LIKE d6 OR kuracje.symbol LIKE d7 OR kuracje.symbol LIKE
> d8 OR kuracje.symbol LIKE d9 OR kuracje.symbol LIKE d10)";
>
> wyswietla
>
> K1 nazwa kuracji1
> K1 nazwa kuracji1
> K1 nazwa kuracji1
> K2 nazwa kuracji2
> K2 nazwa kuracji2
> K2 nazwa kuracji2
>
> gdzie zrobilem blad?

w zapytaniu, brakuje warunku złączenia tych tabel.

--
Aleksander 'A.L.E.C' Machniak http://alec.pl gg:2275252
LAN Management System Developer http://lms.alec.pl





Paweł Matejski - 20-11-2006 00:02

  Mav wrote:
> Witam
>
> Mam problem nastepujacy:
> Skrypt zapytujacy baze wyglada tak:
>
> $aDBLink = mysql_connect( $serwer, $user, $pass );
> mysql_select_db( $baza, $aDBLink );
> $aSQL = "SELECT * FROM kuracje, dolegliwosci WHERE (dolegliwosci.dolegliwosc
> LIKE '".$doleg."') AND (kuracje.symbol LIKE d1 OR kuracje.symbol LIKE d2 OR
> kuracje.symbol LIKE d3 OR kuracje.symbol LIKE d4 OR kuracje.symbol LIKE d5
> OR kuracje.symbol LIKE d6 OR kuracje.symbol LIKE d7 OR kuracje.symbol LIKE
> d8 OR kuracje.symbol LIKE d9 OR kuracje.symbol LIKE d10)";
> $aQResult = mysql_query( $aSQL, $aDBLink ) or die(mysql_error());
> while ( $aRow = mysql_fetch_array( $aQResult ) )
>
> I teraz pytanie dlaczego przy tym zapytaniu
> petla while powtarza sie 3 krotnie dla kazdego wiersza tabeli...
>
> gdzie zrobilem blad?

1. Nie stosujesz formatowania przy pisaniu kodu.
2. Usiłujesz zdebugować skrypt a nie zapytanie.

--
P.M.




Mav - 20-11-2006 00:02

 
>> $aSQL = "SELECT * FROM kuracje, dolegliwosci WHERE
>> (dolegliwosci.dolegliwosc
>> LIKE '".$doleg."') AND (kuracje.symbol LIKE d1 OR kuracje.symbol LIKE d2
>> OR
>> kuracje.symbol LIKE d3 OR kuracje.symbol LIKE d4 OR kuracje.symbol LIKE
>> d5
>> OR kuracje.symbol LIKE d6 OR kuracje.symbol LIKE d7 OR kuracje.symbol
>> LIKE
>> d8 OR kuracje.symbol LIKE d9 OR kuracje.symbol LIKE d10)";
>>

> w zapytaniu, brakuje warunku złączenia tych tabel.

zmienna doleg jest zmienna do porownania w tabeli dolegliwosci
dalej tabela dolegliwosci wyglada tak:

nazwa_dolegliwosc d1 d2 d3 d4 d5
alergie K1 K13 K45 K32 K3

tabela kuracje wyglada tak:
id symbol nazwa kuracj
1 K1 xxxxx
2 K1A yyyyyy
3 K2 zzzzzzz

relacje maja wystpowac miedzy dolegliwosci.d1...d10 a kuracje.symbol

nie wiem dlaczego sie tak dzieje
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?= [mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?= [MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?= [mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?= [MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?= [MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?= Gdzie MySQL 4.1, a gdzie 5.0? [MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?= [MS SQL] "set names" (mySQL) w MS SQL MySQL - jak =?ISO-8859-2?Q?wyeksportowa=E6_zawarto=B6=E6_wie?==?ISO-8859-2?Q?lkiej_tabeli?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • wawa19wwa91.pev.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com