Associate farklı veri

3 Cevap php

Kimsenin bana etrafta yardım alamıyorum çünkü, mümkün olduğunca açık olmaya çalışacağız

Ben kendi kimliği ile 'videolar' tablosundan bazı verileri ilişkilendirmek çalışıyorum.

Ben sütun kimliği, başlık, serie, sezon, bölüm var, diyelim.

Benim veri alıyorum:

    <?
$result = mysql_query("SELECT * FROM videos WHERE serie = '".$row['serie']."' AND season = '".$row['season']."'");
$total_rows = mysql_num_rows($result);
       ?>

(Yani videoyu kendisini görmek sayfasında ise)

Yani şimdi ben bir seri ve sezonun bölüm numarası alabilirsiniz.

Ne yapmaya çalışıyorum önceki biri için bir sonraki bölüm için linki ve aa bağlantı olması. URL ben kimliği ile çalışan, yani http://website.com/view/id/ 'video kimliği burada' / am

Peki nasıl takip ve aynı sezon VE serie önceki bölüm kimliği alabilirsiniz?

Yardım çok takdir edilecektir!

Ben düşündüm kolay şey

<?=$row['id'] + 1?>
<?=$row['id'] - 1?>

Ama şey karışık videolar olmasıdır, böylece alışkanlık% 100 işe

3 Cevap

Ben de tam anlamıyla benim örnek aldım düşünüyorum. (Ben sadece mo benim iPhone Yanıtladığım) sabah eksiksiz bir örnek göndeririz. Nedense bu beni son cevap için bir yorum eklemek izin vermedi, çok üzgünüm bu bir cevap gibidir.

[Değiştir] burada daha eksiksiz bir örnek:

<?php

$result = mysql_query("SELECT * FROM videos WHERE series='$series' AND season = '$season'");

$last_row = null;
$next_row = null;

$current_id = $_GET['id'];

while($row = mysql_fetch_assoc($result)) {
    if($current_id == $row['id']) {
        $next_row = mysql_fetch_assoc($result);
        break;
    }

    $last_row = $row;
}

if($last_row != null) {
    echo "<a href='?id={$last_row['id']}'>Prev</><br/>\n";
}

if($next_row != null) {
    echo "<a href='?id={$next_row['id']}'>Next</><br/>\n";
}

?>

Unutulmaması gereken bir kaç şey:

  • Bu denenmemiş olduğunu.
  • Benim örnekte, sadece değişkenleri $ dizi ve $ sezon kullandım, böylece $ row ['serisi'] ve $ row ['sezon'] elde edildi nerede, ilk örnekte, ben bilmiyordum. Eğer şu anki sonuç tarafından filtre ayarlanır istediklerini bu doldurmak gerekecek.
  • Benim Örneğin, URL biçimi GET düzeni (yani? Id =) kullanır.

Eğer yaparsanız:

$results = mysql_query($sql);

(Burada $ sql sizin söz select ifadesi)

Sonra $ sonuçları dizi bu dizi / sezonun tüm sonuçları içerecektir.

Yani üzerinden erişebilirsiniz:

$previous = $results[$n - 1];
$next = $results[$n + 1];

$previous_id = $previous['id'];
$next_id = $next['id'];

1 az sıfır değildir, ve ($ + 1 n) $ TOTAL_ROWS daha büyük değil - elbette $ n kontrol etmek gerektiğini unutmayın.

İşte ne denedim, ben, sen ne demek olduğunu tahmin

Bunu, bütün önceki bölüm koymak, bu yüzden / view/id/3 / (i izliyorum bölüm 4 ise) olsun

    <?
                 $result = mysql_query("SELECT * FROM videos WHERE serie = '".$row['serie']."' AND season = '".$row['season']."'");
$total_rows = mysql_num_rows($result);
                 $previous = $results[$n - 1];
                 $next = $results[$n + 1];

                 $previous_id = $previous['id'];
                 $next_id = $next['id'];

                ?>

                <? if($row['episode'] == 1) { ?>
                <td align="center" width="33%"></td>
                <? } else { ?>
                <td align="center" width="33%"><a href="view/id/<?=$previous_id?>/"><img src="images/previous.gif" srcover="images/previoush.gif" alt="Previous Video" border="0" /></a></td><? } ?>

Yani, sadece bir önceki içindir

Üzgünüm doğru çıktı olmazdı değilse, böyle yayınlamak zorunda kaldım,

(Ben koduyla Yanılıyorsam düzelt)

Ve cevap için teşekkürler