Şimdi Ara

Mysql iki tabloyu birleştirmek

Bu Konudaki Kullanıcılar:
2 Misafir - 2 Masaüstü
5 sn
4
Cevap
0
Favori
1.037
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar takıldığım bir konu var çözemedim. Takım ve oyuncu iki tablom var. Takım tablosunda oyuncuların id si var. Takım url çalıştırdığımda, Oyuncular tablosundan oyuncu url ve ismini çekmek istiyorum . Yardımcı olursanız sevinirim.

    include('baglan.php');
    $t_url=$_GET["t_url"];
    $sql=mysql_query("select * from BURASINI NASIL TANIMLAMAM LAZIM ÇÖZEMEDİM where t_url=$t_url");

    while($write=mysql_fetch_assoc($sql)){

    echo '<a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=69169543&url='.$write['f_url'].'" data-href="'.$write['f_url'].'">'.$write['f_adi'].'</a>';

    url çalıştırdığımda şu sonucu almak istiyorum

    Takım adı: A Mili Takım
    Oyuncular: Arda Turan, Selçuk İnan , Hamit Altıntop , Necip Uysal , Mustafa Pektemek

    Tabloların yapısı

    oyuncu

    f_id f_adi f_url
    1 Alex de Souza alex-de-souza
    2 Arda Turan arda-turan
    3 Selçuk İnan selcuk-inan
    4 Hamit Altıntop hamit-altintop
    5 Necip Uysal necip-uysal
    6 Mustafa Pektemek mustafa-pektemek

    takım

    t_id t_adi t_oyuncu t_url
    1 Galatasaray 3,4 galatasaray
    2 A Mili Takım 2,3,4,5,6 a-mili-takim
    3 Fenerbahçe 1 fenerbahce
    4 Beşiktaş 5,6 besiktas



  • 2 tabloyu join edebilirsin google da arama yaparsan sayısızca örnek bulabilirsin.
  • aşağıdaki şekilde çalışıyor o da (FIND_IN_SET) ilk veriyi çekiyor

    CONCAT dersem bütün oyuncu tablosunu çekiyor. Paranteze alıp birşey demezsem çalışmıyor.

    <?php

    $conn = mysql_connect("localhost", "root", "");

    if (!$conn) {
    echo "Unable to connect to DB: " . mysql_error();
    exit;
    }

    if (!mysql_select_db("futbol")) {
    echo "Unable to select mydbname: " . mysql_error();
    exit;
    }

    $sql = "SELECT b.*
    FROM takim a
    LEFT JOIN oyuncu b
    ON FIND_IN_SET(b.f_id, a.t_oyuncu)
    WHERE a.t_url = ".$_GET["t_url"]." ";

    $result = mysql_query($sql);

    if (!$result) {
    echo "Could not successfully run query ($sql) from DB: " . mysql_error();
    exit;
    }

    if (mysql_num_rows($result) == 0) {
    echo "No rows found, nothing to print so am exiting";
    exit;
    }


    while ($row = mysql_fetch_assoc($result)) {
    echo $row["f_adi"];
    echo $row["f_url"];

    }

    mysql_free_result($result);

    ?>


    CREATE TABLE oyuncu
    (`f_id` varchar(8), `f_adi` varchar(13), `f_url` varchar(13))
    ;

    INSERT INTO oyuncu
    (`f_id`, `f_adi`, `f_url`)
    VALUES
    (1, 'Iker Casillas', 'iker-casillas'),
    (2, 'Mesut Ozil', 'mesut-ozil'),
    (3, 'Xavi', 'xavi'),
    (4, 'Victor Valdés', 'victor-valdes')
    ;
    takım

    t_id t_adi t_oyuncu t_url
    CREATE TABLE takim
    (`t_id` varchar(8), `t_adi` varchar(16), `t_url` varchar(14), `t_oyuncu` varchar(50))
    ;

    INSERT INTO team
    (`t_id`, `t_adi`, `t_url`, `t_oyuncu`)
    VALUES
    (1, 'FC Barcelona', 'fc-barcelona', '3,4'),
    (2, 'Real Madrid C.F.', 'real-madrid-cf', '1,2')
    ;
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.