Topic: select

Turiu dvi tables.

Vienoj table: `adverts`

id | cat_id |   title     | tags     | image         | image_thumb | ip | date
  1        10   kazkas    kazks     kazkas.jpg    kazkas2.jpg

Kita table: `rating`

id | p_id | rate | type      | ip
10       1      10    advert

Noriu, kad is'print'intu geriausius straipsnius (adverts) pagal rating'a t.y nuo didziausio iki maziausio. Rating lentelej yra irasai, kur p_id, tai yra advert id. Ir rate, ivertinimas pvz 10 , 15 , 20 ir pan.

Bandziau su INNER Join daryti taip: select * from `adverts` inner join `rating` ON id = p_id ir visaip panasiai, bet gaunu errora Warning: mysql_fetch_assoc() expects parameter 1 to be resource, string given

2 (edited by zygis 2010-11-04 17:01:46)

Re: select

Tai reikia žiūrėt kokią klaidą mysql'as duoda
plius naudok LEFT JOIN ir prie stulpelių nurodyk visada kuri lentelė table.column, duomenų bazė nespelios kurioje lentelėje yra tavo 'p_id'

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: select

Klaidas reikia apdoroti visada! (-;

Jeigu tik pradėjai programuoti, ir dar neturi visai jokio mysql klaidų apdorojimo mechanizmo, tai pradžioje gali daryti bent jau taip:

$res = mysql_query($query) or die(mysql_error());

.. vėliau galėsi/turėsi išvengti die() naudojimo ir klaidų pranešimų išvedimo vartotojui.

Kaip ir zygis sakė - matydamas klaidos pranešimą bent jau žinosi ką taisyti - nebūsi aklas.

Re: select

Dekui uz pagalba, susitvarkiau