cari

Rumah  >  Soal Jawab  >  teks badan

Mahu memaparkan hanya baris dengan nilai yang dipilih menggunakan sql dan php

<p>Saya mempunyai 40 pembekal dan 10,000 produk, tetapi saya ingin menunjukkan 1 produk daripada setiap pembekal</p> <table class="s-table"> <kepala> <tr> <th>Jenama</th> <th>Pembekal</th> <th>Produk</th> <th>URL</th> </tr> </kepala> <tbody> <tr> <td>Kilat</td> <td>Permainan Pragmatik</td> <td>Puan Destiny</td> <td>Pautan</td> </tr> <tr> <td>Kilat</td> <td>Isoftbet</td> <td>Jek Halloween</td> <td>Pautan</td> </tr> <tr> <td>Kilat</td> <td>Permainan Pragmatik</td> <td>Bonanza Manis</td> <td>Pautan</td> </tr> <tr> <td>Kilat</td> <td>Isoftbet</td> <td>Keselamatan Tropika</td> <td>Pautan</td> </tr> <tr> <td>Kilat</td> <td>Rangkaian</td> <td>Kentang Diraja</td> <td>Pautan</td> </tr> <tr> <td>Kilat</td> <td>Rangkaian</td> <td>Puan Destiny</td> <td>Pautan</td> </tr> </tbody> </table> <p>Ini ialah jadual SQL semasa saya.Tetapi saya mahu memaparkan 1 item bagi setiap pembekal, contohnya: </p> <table class="s-table"> <kepala> <tr> <th>Jenama</th> <th>Pembekal</th> <th>Produk</th> <th>URL</th> </tr> </kepala> <tbody> <tr> <td>Kilat</td> <td>Permainan Pragmatik</td> <td>Puan Destiny</td> <td>Pautan</td> </tr> <tr> <td>Kilat</td> <td>Isoftbet</td> <td>Jek Halloween</td> <td>Pautan</td> </tr> <tr> <td>Kilat</td> <td>Rangkaian</td> <td>Kentang Diraja</td> <td>Pautan</td> </tr> </tbody> </table> <p>Ini kod saya `</p> <pre class="brush:php;toolbar:false;"><?php /* Cuba sambungan pelayan MySQL dengan andaian anda menjalankan MySQL pelayan dengan tetapan lalai (pengguna 'root' tanpa kata laluan) */ $link = mysqli_connect("localhost", "newuser1", "p,+Dn@auTD3$*G5", "newdatabse"); // Semak sambungan if($link === false){ die("RALAT: Tidak dapat menyambung. " . mysqli_connect_error()); }// Cuba pilih pelaksanaan pertanyaan $sql = "PILIH * DARI nama jadual WHERE Brand='Coolcasino' dan Provider IN ('Pragmatic Play','Isoftbet','Netent') ;"; if($result = mysqli_query($link, $sql)){ if(mysqli_num_rows($result) > 0){ bergema "<meja>"; bergema "<tr>"; bergema "<th>Jenama</th>"; bergema "<th>Pembekal</th>"; bergema "<th>Produk</th>"; bergema "<th>URL</th>"; bergema "</tr>"; while($row = mysqli_fetch_array($result)){ bergema "<tr>"; bergema "<td>" . $row['Brand'] . "</td>"; bergema "<td>" . $row['Pembekal'] . "</td>"; bergema "<td>" . $row['Produk'] . "</td>"; bergema "<td>" . $row['URL'] . "</td>"; bergema "</tr>"; } bergema "</table>"; // Tutup set keputusan mysqli_free_result($result); } lain{ echo "Tiada rekod yang sepadan dengan pertanyaan anda ditemui."; } } lain{ echo "ERROR: Tidak dapat melaksanakan $sql. " . mysqli_error($pautan); } // Tutup sambungan mysqli_close($pautan); ?></pra> <p>如果有人可以的话请帮助我`</p>
P粉007288593P粉007288593491 hari yang lalu630

membalas semua(2)saya akan balas

  • P粉939473759

    P粉9394737592023-09-03 12:39:23

    Ganti pertanyaan anda dengan

    $sql = "SELECT * FROM tablename WHERE Brand='Coolcasino' and Provider IN ('Pragmatic Play','Isoftbet','Netent') GROUP BY  Provider;";

    balas
    0
  • P粉317679342

    P粉3176793422023-09-03 09:21:49

    Gunakan nombor talian:

    select Brand,
           Provider,
           Product,
           URL
    from (   select Brand,
                    Provider,
                    Product,
                    URL,
                    row_number() over(partition by Provider order by rand()) as row_num
             from tablename
             where Brand='Lightning' 
             and Provider IN ('Pragmatic Play','Isoftbet','Netent') 
          ) as rand_prod
    where row_num=1;

    https://dbfiddle.uk/BGzx6cYY

    Nota, saya syorkan untuk tidak menggunakan select * dan hanya pilih lajur yang anda perlukan

    balas
    0
  • Batalbalas