• 03-11-2012, 18:18:04
    #1
    Şöyle bir kodum var

    $idler="723834854,2902352,521651760,522334677,527309753,529539865,540620998,542074468,546463186,549796504,562065353,568898321,573851969,574852296,581714101,587139839,588644519,591399502,592778780,593782566,602682280,612203617,614614058,617032563,618578572,622653960,625954935,626186865,637530861,639307840,640834474,640884849,644913850,646733913,653753959,659424547,659773415,672844515,676855208,677046572,681208429,685319321,694849397,698819462,699338737,704214919,704489798,706857953,717544359,717759392,717917645,718559255,720593399,723523180,725002191,731781911,744613414,745165830,745872947,746153409,751109567,770879189,771919004,772833965,774561683,786208376,788489048,795130301,795299846,795869455,799604343,799661683,800159642,800909348,801121876,801641068,801865278,802253258,802781906,802787759,803222402,803590768,804352459,804357459,806443359,810469770,818759556,821412627,823199240,835869305,840869105,843023554,867975022,1009510853,1010188925,1021135608,1038943169,1043354327,1047145117,1090219491,1109745661,1111671966,1115414969,1125111664,1148495326,1161900153,1233999512,1257754012,1262012818,1284840862,1287942410,1391970490,1399800528,1405815328,1455616055,1455861789,1460563078,1475735726,1482220010,1487874628,1488750281,1488904204,1497514684,1499837091,1505560260,1511119785,1530582554,1539008718,1563763127,1567845872,1583227503,1597211745,1598062145,1602052034,1602910650,1614675842,1622477868,1656405723,1667093002,1667832472,100000074199182,100000083748668,100000104075871,100000105636682,100000107595551,100000201488695,100000221342584,100000243144439,100000270867441,100000297835437,100000326757227,100000346142007,100000400110256,100000433742857,100000437297528,100000577277131,100000642213292,100000678074853,100000690907185,100000841415437,100000966372722,100001037346676,100001155565560,100001156841234,100001204070463,100001208784489,100001490851927,100002321316220,100002352371962,100002370910403,100002551698578,100002808636827,100002925598823,100002941518702,100003017253484,100003130055805,100003181873278,100003188045157,100003190880391,100003237092689,100003521990295,100003566576643,100003574994202,100003788877210,100003928792442,100004582328899";
    
    #Burda sayıların çokluğuna aldırmayın
    
    $d=mysql_query("select * from uyeler where fid in ($idler)");
    Şimdi şu $idler değişkenin ilk numarası olan 723834854 numara fid alanındaki içeriklerinden birinde mevcut,ben bu numarayı şu yukardaki numaraların ortasına,sonları vs. koyduğumda yok diyor kayıt bulunamadı diyor ama ilk sıralara koyduğum zaman problemsiz satır bulundu diyor.Nedenini anlayamadım nedendir ?
  • 03-11-2012, 18:36:01
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    virgülle ayırdığın bir string grubunu mysql de o şekilde arayabileceğini düşünmüyorum.

    array haline getirip for each ile tek tek çağırman gerekecek
  • 03-11-2012, 20:51:02
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    tolgay007 adlı üyeden alıntı: mesajı görüntüle
    Şöyle bir kodum var

    $idler="723834854,2902352,521651760,522334677,527309753,529539865,540620998,542074468,546463186,549796504,562065353,568898321,573851969,574852296,581714101,587139839,588644519,591399502,592778780,593782566,602682280,612203617,614614058,617032563,618578572,622653960,625954935,626186865,637530861,639307840,640834474,640884849,644913850,646733913,653753959,659424547,659773415,672844515,676855208,677046572,681208429,685319321,694849397,698819462,699338737,704214919,704489798,706857953,717544359,717759392,717917645,718559255,720593399,723523180,725002191,731781911,744613414,745165830,745872947,746153409,751109567,770879189,771919004,772833965,774561683,786208376,788489048,795130301,795299846,795869455,799604343,799661683,800159642,800909348,801121876,801641068,801865278,802253258,802781906,802787759,803222402,803590768,804352459,804357459,806443359,810469770,818759556,821412627,823199240,835869305,840869105,843023554,867975022,1009510853,1010188925,1021135608,1038943169,1043354327,1047145117,1090219491,1109745661,1111671966,1115414969,1125111664,1148495326,1161900153,1233999512,1257754012,1262012818,1284840862,1287942410,1391970490,1399800528,1405815328,1455616055,1455861789,1460563078,1475735726,1482220010,1487874628,1488750281,1488904204,1497514684,1499837091,1505560260,1511119785,1530582554,1539008718,1563763127,1567845872,1583227503,1597211745,1598062145,1602052034,1602910650,1614675842,1622477868,1656405723,1667093002,1667832472,100000074199182,100000083748668,100000104075871,100000105636682,100000107595551,100000201488695,100000221342584,100000243144439,100000270867441,100000297835437,100000326757227,100000346142007,100000400110256,100000433742857,100000437297528,100000577277131,100000642213292,100000678074853,100000690907185,100000841415437,100000966372722,100001037346676,100001155565560,100001156841234,100001204070463,100001208784489,100001490851927,100002321316220,100002352371962,100002370910403,100002551698578,100002808636827,100002925598823,100002941518702,100003017253484,100003130055805,100003181873278,100003188045157,100003190880391,100003237092689,100003521990295,100003566576643,100003574994202,100003788877210,100003928792442,100004582328899";
    
    #Burda sayıların çokluğuna aldırmayın
    
    $d=mysql_query("select * from uyeler where fid in ($idler)");
    Şimdi şu $idler değişkenin ilk numarası olan 723834854 numara fid alanındaki içeriklerinden birinde mevcut,ben bu numarayı şu yukardaki numaraların ortasına,sonları vs. koyduğumda yok diyor kayıt bulunamadı diyor ama ilk sıralara koyduğum zaman problemsiz satır bulundu diyor.Nedenini anlayamadım nedendir ?
    Arkadaşım sorununu yanlış anlamadıysam şu şekilde kullanmalısın:
    select * from tablo where id in (1,7,5,2,9) order by field(id,1,7,5,2,9);
    Fakat bu kadar kayıtı birden where in ile sorgulamak yerine temp tablo oluştursan daha performanslı olabilir.
  • 03-11-2012, 21:14:29
    #4
    acayip adlı üyeden alıntı: mesajı görüntüle
    Arkadaşım sorununu yanlış anlamadıysam şu şekilde kullanmalısın:
    select * from tablo where id in (1,7,5,2,9) order by field(id,1,7,5,2,9);
    Fakat bu kadar kayıtı birden where in ile sorgulamak yerine temp tablo oluştursan daha performanslı olabilir.
    Hallettim array ile alıp implode edince halloldu ancak şu an performans açısından problem yok,ilerde bir sıkıntı çıkarsa değiştiririm mutlaka sorguyu.