NiZZo_ adlı üyeden alıntı: mesajı görüntüle
İki tablodada aynı alanlar olduğu için sorgundan istediğin sonucu alamıyorsun

Tablolardaki aynı alanlara farklı sanal isimler vererek çekmelisin.

Ör.
$sql = "SELECT c.id,c.title as 'contentTitle',p.id,p.title as 'pollsTitle' FROM forum_content as c INNER JOIN forum_polls  as p ON c.id=p.id WHERE c.username='{$user->username}'";

$query = mysql_query($sql) or die (mysql_error());
$assoc = mysql_fetch_assoc($query);

echo $assoc['contentTitle'];
echo $assoc['pollsTitle'];
gibi yapmalısın.
Sanırım bu sefer olacak. Ben sorguyu şöyle değiştirdim.

SELECT c.id as 'contentID', c.title as 'contentTitle',p.id as 'pollsID',p.title as 'pollsTitle' FROM forum_content as c INNER JOIN forum_polls  as p ON c.username=p.username WHERE c.username='{$user->username}'
Lâkin EzSQL sorgunun dökümünü şöyle gösteriyor:

    ezSQL (v2.03) Variable Dump..

    Array
    (
        [0] => Array
            (
                [contentID] => 7
                [contentTitle] => Tanışalım
                [pollsID] => 1
                [pollsTitle] => Yeni Sitemiz
            )

        [1] => Array
            (
                [contentID] => 169
                [contentTitle] => Video istek
                [pollsID] => 1
                [pollsTitle] => Yeni Sitemiz
            )

        [2] => Array
            (
                [contentID] => 170
                [contentTitle] => Program İstek
                [pollsID] => 1
                [pollsTitle] => Yeni Sitemiz
            )

        [3] => Array
            (
                [contentID] => 171
                [contentTitle] => Oyun İstek
                [pollsID] => 1
                [pollsTitle] => Yeni Sitemiz
            )

    )


    Type: Array
    Last Query [17]: SELECT c.id as 'contentID', c.title as 'contentTitle',p.id as 'pollsID',p.title as 'pollsTitle' FROM forum_content as c INNER JOIN forum_polls  as p ON c.username=p.username WHERE c.username='Administrator'
    Last Function Call: $db->query("SELECT c.id as 'contentID', c.title as 'contentTitle',p.id as 'pollsID',p.title as 'pollsTitle' FROM forum_content as c INNER JOIN forum_polls  as p ON c.username=p.username WHERE c.username='Administrator'")
    Last Rows Returned: 4
Yâni forum_content alanında 4, forum_polls alanında ise 1 tane içerik var. Bu durumda forum_content'i listelerken forum_polls alanındaki içeriği hep tekrarlıyor. Bunu nasıl önleyebiliriz?

metadige adlı üyeden alıntı: mesajı görüntüle
Arkadaşım sen söylemek istediğimi anlamadın sanırım, tablolar arasında ilişki yok derken birbiriyle uyumsuz demek istedim. Yani forum_content tablosundaki her kayıta karşı forum_polls tablosunda bir kayıt olmadığından tekrarlaması normal. O nedenle alan adı ilişkelenedirmeleri hakkındaki bilgiyi ekledim.

Senin burada yapman gereken left join kullanmak. Forum_content tablosundaki bütün verileri buna karşın forum_polls tablosunda ilgili yerleri çekeceksin. Yani:

SELECT fc.id, fc.title AS fc_title, fc.user, fp.title AS fp_title
FROM forum_content fc
LEFT JOIN forum_polls fp ON fc.user = fp.user
Bu da ikisinde de aynı sayıda veri olmadığı için tekrarlama yapıyor. EzSQL sorgu dökümü şöyle:

ezSQL (v2.03) Variable Dump..

Array
(
    [0] => Array
        (
            [id] => 7
            [fc_title] => Tanışalım
            [username] => Administrator
            [fp_title] => Yeni Sitemiz
        )

    [1] => Array
        (
            [id] => 169
            [fc_title] => Video istek
            [username] => Administrator
            [fp_title] => Yeni Sitemiz
        )

    [2] => Array
        (
            [id] => 170
            [fc_title] => Program İstek
            [username] => Administrator
            [fp_title] => Yeni Sitemiz
        )

    [3] => Array
        (
            [id] => 171
            [fc_title] => Oyun İstek
            [username] => Administrator
            [fp_title] => Yeni Sitemiz
        )

)


Type: Array
Last Query [17]: SELECT fc.id, fc.title AS fc_title, fc.username, fp.title AS fp_title
FROM forum_content fc
LEFT JOIN forum_polls fp ON fc.username = fp.username WHERE fc.username='Administrator'
Last Function Call: $db->query("SELECT fc.id, fc.title AS fc_title, fc.username, fp.title AS fp_title
FROM forum_content fc
LEFT JOIN forum_polls fp ON fc.username = fp.username WHERE fc.username='Administrator'")
Last Rows Returned: 4