Php While Loop da Row ların birləşdirilməsi və link məsələsi

Problem link lə bağlıdır, aşağıda php kodum :

<?php
// host (localhost)
$db_host = "localhost";
// database name
$db_name = "yourdatabasename";
// login
$db_user = "youruser";
// password
$db_pass = "yourpass";

$db = mysqli_connect ($db_host, $db_user, $db_pass, $db_name) or die ("Невозможно подключиться к БД");

$sql="SELECT id, group_concat(name) as name FROM data group by id";

$result=mysqli_query($db,$sql);

while($row=mysqli_fetch_array($result)){

echo "[ ". $row['id'] ."]  <br>";
echo "[ <a href='#link'>". $row['name'] ."</a>]  <br><br>";

} 

Mysql databaza kodu:

CREATE TABLE `data` (
`id` int(11) NOT NULL,
`name` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
and the values in it:

Bazaya əlavə edilənlər :

1 kamran
1 emin
2 ramin
2 kam
2 john

Və nəticə :

[ 1]
[ kamran,emin]

[ 2]
[ ramin,kam,john]
İd ləri birləşdirmişəm amma “name” bölməsindəkilər ümumi olaraq bir linkə aid olur, mən isə istəyirəm belə olsun :
[ 1]
[ kamran][emin]

[ 2]
[ ramin][kam][john] yəni ayrı – ayrılıqda link olsun


Yadda saxlama
Kateqoriya: Sual . , , , . Qısa keçid.

Verilmiş cavablar və yazılan şərhlər (11 cavab var)

(01:36, 26/04/2018 ) #71701

Salam. tam olaraq isinize yarayib- yaramayacagindan emin deyilem amma , implode adli funksiya var arasdirsaz melumat ala bilersiz

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (13:14, 28/04/2018 ) #71713

    Salam, çox sağolun maraqlanaram

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (14:43, 28/04/2018 ) #71714
    $adlar = explode(',',$row['name']);
    echo "[ ". $row['id'] ."]  <br>";
    foreach ($adlar as $name)
    echo "[ <a>".  $name ."</a>]  <br>"; 
    

    ” explode ” işə yaradı amma əsas koda tətbiq etdim linklər ayrıldı və belə problem çıxdı, misal üçün

    1 1
    1 2
    1 4

    burda film [1] aktyorlar [1] [2] [4] –> linklər ayrıldı amma klikləyəndə actor.php?actorid=1 olaraq görür, yəni ilk id hansıdısa onu görür

    2 2
    2 3

    burda film [2] aktyorlar [2] [3] –> eləcə də burda actor.php?actorid=2

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (15:57, 28/04/2018 ) #71715

    Məsələni başqa cür həll etdim, nə də olsa başqalarına da lazım olar, deməli

    explode vasitəsilə linklərə klik edəndə ad olaraq düzgün gəlir amma rəqəm olaraq id düz gəlmir ona görə keçiddə id yox məhz axtarış ilə tapmağı kodlaşdırdım, misalüçün :

    [ 1]
    [ kamran][emin]
    ikisinə də klik edən də actor.php?actor_id=1 verir, amma ad olaraq düz verir
    actor.php?actor_id=kamran
    actor.php?actor_id=emin

    ona görə keçid faylda actor.php də

    $actorname = $_GET['actor_fname'];
    
    $sql="SELECT actor_fname, actor_id FROM actors WHERE (`actor_fname` LIKE '%".$actorname."%')";
    

    ad olaraq axtarış verməyi fikirləşdim və nəticə uğurlu alındı, sadəcə bir problem çıxdı o da əgər eyni adda aktyor olarsa və id ləri fərqli olarsa, cədvələ eyni ad əlavə etdim yoxlamaq üçün

    1 kamran
    2 kamran

    təcrübə olaraq yoxladım while loop olmadığı üçün

    1 kamran

    nəticə olaraq çıxır və əksinə hər ikisi.

    1 kamran
    2 kamran

    əgər başqa yol bilirsinizsə çox yaxşı olardı nə də olsa id ilə tapmaq daha düzgündür, bu yol isə müddətli olaraq işə yarıyar.

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

      (22:21, 29/04/2018 ) #71728

      salam. men size implode metodunu demisdim hansi ki, arraylar uzerinde emeliyyat aparir. siz ise explode ile islemisiniz bu string uzerinde emeliyyat aparir

      Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (21:25, 01/05/2018 ) #71742

    Salam, implode haqqında videolara baxdım orda birləşdirmə əməliyyatı olur deyə istifadə etmədim, ona görə explode istifadə etdim, aşağıda cavab var implode istifadə edilib o koddan istifadə edib yoxluyacam, çox sağ olun köməyə görə, cavab yazacam.

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

(12:58, 26/04/2018 ) #71702

Sualınız aydın deyil. Harada link olsun?
Burada?
echo “[ “. $row[‘name’] .”]

“;
Burada deyirsinizsə, elə ayrı linkdirlər də burada.

Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (13:14, 28/04/2018 ) #71712

    Salam, ” group_concat ” edəndə 1 nömrəli id aid olan adlar bir linkdə formalaşır, mənə isə ayrı-ayrı lazımdı,
    [ 1]
    [ kamran,emin] –> bu bir linkdi amma mənə belə forması lazımdı –> [ kamran] [emin]

    yəni üstünə klik edəndə kamran,emin birlikdə kliklənir, mənə isə ayrı lazımdı kamran və emin

    əlavə olaraq film saytına tətbiq etmək üçün axtarıram, məndə bir biri ilə əlaqələndirilmiş cədvəllər var relationship metodu, bu isə sadə cədvəldi ( yoxlamaq məqsədi ilə ). Məqsəd 1 filmə bir neçə aktyorun əlavə edilməsi və onlara ayrı ayrılıqda link verilməsi relationship vasitəsilə, əgər bunu tapsam onu da həll etmiş olacam.

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

      (16:10, 28/04/2018 ) #71717

      Problem mysql query-dədir.
      Ümumiyyətlə yanaşmanı fərqli edib, qrup concatsız etsəydiniz daha yaxşı olardı.
      Məsələn

      $sql=”SELECT id, name FROM data group by id”;
      sonra bunu while ilə

      $array[$row['id']][]='<a href="#">['.$row['name'].']</a>';
      

      toplaya bilərsiz.
      Ən nəhayətində də

      foreach( $array as $key=>$value) {
      echo implode(" ",$value).'<br>';
      }
      
      Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (21:27, 01/05/2018 ) #71743

    Salam, göstərdiyiniz kodu tətbiq edib yoxluyacam, köməyə görə çox sağ olun, cavab yazacam.

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

    (22:18, 08/05/2018 ) #71835

    Salam verdiyiniz kodu tətbiq etdim birşey alındıra bilmədim, fərqli nəticələr çıxdı.

    Cavablamaq üçün sağ sütundan hesaba daxil olmaq lazımdır

Bu suala aid öz sualım var:
Sual verin
Bu suala cavab vermək istəyirəm:
Cavab verin

Cavab verin


Cavab yazmaq üçün lütfən sağ sütundan və ya buradan hesaba daxil olun.

Üzvlər üçün giriş

Qeydiyyat

Elan qutusu

Son cavablar və şərhlər

Cənab cavab verdi - Almanca söz bazası yığmaq (2 gün əvvəl)

rdrobert cavab verdi - Mikrofon süngərinə yazı (3 gün əvvəl)

rdrobert cavab verdi - Yerli virtual olaraq dost tapmaq platforması (3 gün əvvəl)

rdrobert cavab verdi - Almanca söz bazası yığmaq (3 gün əvvəl)

rdrobert cavab verdi - Playstation 4 almaq, Playsation klub açmaq (3 gün əvvəl)

rdrobert cavab verdi - Proqramistin ixtsasi hansidir? (3 gün əvvəl)

Software Developer cavab verdi - Azercell Kabinetim aplikasiyasında İstəSən tarifi haqqında (5 gün əvvəl)

Software Developer cavab verdi - Proqramistin ixtsasi hansidir? (5 gün əvvəl)

byshako cavab verdi - Google Azərbaycan nömrələrini qəbul etmir (15 gün əvvəl)

rdrobert cavab verdi - Honeygain, passiv gelir (16 gün əvvəl)

rdrobert cavab verdi - Xaricdən telefon getirmek (16 gün əvvəl)

rdrobert cavab verdi - Google Azərbaycan nömrələrini qəbul etmir (16 gün əvvəl)

rdrobert cavab verdi - AliExpress, Telefon, Rüsum (16 gün əvvəl)

MiMov cavab verdi - Özəl ip tv qurmaq (24 gün əvvəl)

MiMov cavab verdi - iptv onlayn paket almaq (24 gün əvvəl)

Software Developer - 615 xal

E. Hacı - 607 xal

Onar Alili - 526 xal

Dilsuz - 448 xal

Cabbarov Sübhan - 434 xal

Maqa - 346 xal

Ruslan Butdayev - 328 xal

Namiq Bəndəli - 297 xal

U.Tarlan - 244 xal

Meherremoff - 234 xal

Sistemə daxil olmuş 23234 sualdan 92%-dən çoxu cavablandırılmışdır.

Proyekt haqqında

E-Haci.net istehsalı. © 2010-2024