Viskas, galutinai išsiaiškinau kaip visas šis reikalas veikia. Pritaikiau, veikia kaip uoga. :) Didžiulis AčIū.

Taip, tačiau ką šiuo atveju reikėtų į ON rašyti nežinau.

Taip, būtent tokio sprendimo ir reikia. Tik nežinau kaip tiksliai reikia įgyvendinti tokį būdą.

Gal galėtumėt duoti pavyzdį kaip tinkamai prijungti, nes tas ON mane šiek tiek glumina.

posts lentelėje visa informacija susijusi su pranešimais. done lentelėje duomenys ar narys jau atliko tam tikrą veiksmą tam pranešime.

Galima sakyti, kad tai panašu į ačiū modifikaciją.

Vartotojas paspaudęs ačiū yra įrašomas į done lentelę: user_id (nario_id) , post_id (posto už kurį balsavo id)

Ir tuomet kai jau atvaizduoju pranešimus noriu, kad pranešime matytosi ar narys jau sakė ačiū.

Atvaizduojant 36 pranešimą, o nario id tarkime 7:
Jei lentelėje done egzistuoja įrašas su duomenimis: user_id =7 AND post_id = 36
Atvaizduoti, kad jau sakėte ačiū.

Iš atvaizdavimo pusės suprantu kaip tai padaryti, tačiau su MySQL žiniomis - bėda.

Būtent to ir nemoku padaryti, tai yra prijungti prie užklausos.

Nes kiekvienas vartotojas turės skirtingą user_id.

Tikrinti jau mokėsiu.

Na gal dabar detaliau šiek tiek pamėginsiu nupasakoti.

štai užklausa, kuri ištraukia visą susijusią informaciją apie tam tikrus postus.

    $query = array(
        'SELECT'    => 'u.email, u.title, u.url, u.location, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, u.avatar, u.avatar_width, u.avatar_height, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.plus, p.minus, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online',
        'FROM'        => 'posts AS p',
        'JOINS'        => array(
            array(
                'INNER JOIN'    => 'users AS u',
                'ON'            => 'u.id=p.poster_id'
            ),
            array(
                'INNER JOIN'    => 'groups AS g',
                'ON'            => 'g.g_id=u.group_id'
            ),
            array(
                'LEFT JOIN'        => 'online AS o',
                'ON'            => '(o.user_id=u.id AND o.user_id!=1 AND o.idle=0)'
            ),
        ),
        'WHERE'        => 'p.id IN ('.implode(',', $posts_id).')',
        'ORDER BY'    => 'p.id'
    );

Lentelė done:

| user_id | post_id |
|    7       |    36     |
|    7       |     25    |
|    4       |     78    |

Kaip atvaizduojant postus reikėtų žinoti ar yra toks įrašas done lentelėje?

Tarkime atvaizduojame: 36 postą
Ir kaip žinoti, ar yra done lentelėje įrašas, kuris: user_id 7 AND post_id 36

Mindaugai, įtariu, kad problema yra tame, kad nesugebu po to tinkamai atvaizduoti.

Pati užklausa veikia.

Paskui daleiskime turiu:
$posto_numeris '36';

Ir man reikia žinoti ar tarp tų ištrauktų eilučių buvo įrašas, kuriame:
user_id 5
post_id 36

Ir t.t.

Visa procedūra:
Pasikrauna 20 įrašų, su skirtingais ID
Tuomet aš iš done lentelės ištraukiu įrašus susijusius su tais postais, kurių id 22,36,47,49
Ir jeigu egzistuoja tokia eulutė kur: user_id 5 post_id 36

Nelabai sugebu tinkamai ir suprantamai išaiškinti, bet tikiuosi esmę pavyks suprasti.

Turiu lentelę pavadinimu: done

Ją sudaro:
user_id (INT)
post_id (INT)
action (INT)

Kaip reikia ištraukti duomenis ir juos atvaizduoti kai noriu, kad:

Viena užklausa patikrinti ar egzistuoja eilutės pasirinktuose postuose:

user_id 5
post_id tarkime 22, 36, 47, 49

Ko aš noriu:
Sužinoti ar egzistuoja tokia eilutė poste: 22, 36, 47, 49

Turėtų būti kažkas panašaus į (tiksliai nezinau):
Select * FROM done WHERE user_id = 5 AND post_id IN (22, 36, 47, 49)

Esmė kodėl aš to noriu:
Puslapis pakrauna 20 įrašų ir kiekvienam vykdyti po užklausą yra nelogiška. Tad noriu vienu kartu ištraukti visus susijusius įrašus o po to atvaizduoti.

Jei neaiškiai paaiškinau klauskite. Ačiū