За последние 24 часа нас посетили 51336 программистов и 1758 роботов. Сейчас ищут 774 программиста ...

Вывести следующее видео

Тема в разделе "PHP для новичков", создана пользователем leshiy, 17 июл 2014.

  1. leshiy

    leshiy Активный пользователь

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    Есть код который выводит следующее видео просто по id а надо что бы выводилось следующее видео по данной категории CAT - поле в таблице date которое соответствует данной категории.
    Код (PHP):
    1. <? include ("blocks/db.php"); ?>
    2. <?
    3. if (isset($_GET['id'])) {$id = $_GET['id']; }
    4. if (!isset($id)) {$id = 1;}
    5.     $result = mysql_query("SELECT `date`.*, `categories`.`tit`,
    6.     IF(DATE(`date`) = CURDATE(), 'СЕГОДНЯ', IF(DATE(`date`) = CURDATE()-INTERVAL 1 DAY, 'ВЧЕРА', `date`)) `date`
    7. FROM date
    8.   LEFT JOIN categories
    9.   ON categories.idd = date.cat
    10.   WHERE date.id='$id'",$db);
    11. if (!$result){echo "<p>Запрос не возможен</p>";
    12. if (mysql_num_rows($result) > 0){
    13. $myrow = mysql_fetch_array($result);
    14. $new_view = $myrow["view"] + 1;
    15. $update = mysql_query ("UPDATE date SET view='$new_view' WHERE id='$id'",$db);}
    16. else{echo "<meta http-equiv='Refresh' content='0; url=index.php'>";
    17. exit();}
    18. ?>
    19. <?
    20. $result77 = mysql_query("SELECT str FROM options", $db);
    21. $myrow77 = mysql_fetch_array($result77);
    22. $num = $myrow77["str"];
    23. @$str = $_GET['str'];
    24. $result00 = mysql_query("SELECT COUNT(*) FROM date");
    25. $temp = mysql_fetch_array($result00);
    26. $posts = $temp[0];
    27. $total = (($posts - 1) / $num) + 1;
    28. $total =  intval($total);
    29. $str = intval($str);
    30. if(empty($str) or $str < 0) $str = 1;
    31. if($str > $total) $str = $total;
    32. $start = $str * $num - $num;
    33.     $result = mysql_query("SELECT `date`.*, `categories`.`tit`,
    34.     IF(DATE(`date`) = CURDATE(), 'СЕГОДНЯ', IF(DATE(`date`) = CURDATE()-INTERVAL 1 DAY, 'ВЧЕРА', `date`)) `date`
    35. FROM date
    36.   LEFT JOIN categories
    37.   ON categories.idd = date.cat
    38.   WHERE date.id+1='$id'",$db);
    39.     if (mysql_num_rows($result) > 0) {
    40.         print "<table align=center>";
    41.         while ($myrow = mysql_fetch_array($result)) {
    42.                 echo ($c%1 == 0 ? '<tr>' : '');
    43.                 print "<td width=240>";
    44. printf( "<div class='rol'>
    45. <a href='video.php?id=%s' title='%s' class=title>
    46. <ins>
    47. <img src='%s' title='%s' alt='%s - Ролик'>
    48. <span class='time'>%s</span>
    49. <span class='kat'>%s</span>
    50. <span class='thumb_views'><span class='views'>%s</span></span>
    51. <span class='rast'>%s</span>
    52. </ins>
    53. <div class='title_a'>%s</div></a></div>
    54. ",$myrow['id'],$myrow['title'],$myrow['mini_img'],$myrow['title'],$myrow['title'],$myrow['prod'],$myrow['tit'],$myrow['view'],$myrow['date'],$myrow['title']);
    55. print "</td>";
    56.                 echo ($c%1 == 1 ? '</tr>' : '');
    57.                 $c++;
    58.         }
    59.         print "</table><br>";
    60. ?>
    61.         <?
    62. if ($total > 1){Error_Reporting(E_ALL & ~E_NOTICE);
    63. echo "";
    64. echo $page3left.$page2left.$page1left.'<a class=active>'.$page.'</a>'.$page1right.$page2right.$page3right.$page4right.$page5right.$page6right.$page7right.$page8right.$page9right.$nextpage;
    65. echo "";}}
    66. else{echo "<div class=verh_m align=center>Извините это самый первый ролик!</div>";}
    67.         ?>
    а этот код выводящий само видео
    Код (PHP):
    1.         <?    
    2.                $result50 = mysql_query ("SELECT COUNT(*) FROM date WHERE cat='$cat'",$db);
    3. $sum50 = mysql_fetch_array($result50);
    4. echo <<< PLAYER
    5. <div id="flashcontent" style="background-color:#000; width: 465px; height: 415px;" >
    6.     
    7.     <object type="application/x-shockwave-flash"
    8.       data="http://tubecontext/wmblack4.swf" width="465" height="400">
    9.     
    10.     
    11.     <!--[if IE]>
    12.     <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="600" height="400">
    13.     <param name="movie" value="http://tubecontext/wmblack4.swf" allowScriptAccess="always" wmode="opaque" allowFullScreen="true" 
    14.         flashvars="xmlfile=http://tubecontext/playlist.php%3Fv={$myrow["video"]}%26i={$myrow["mini_img"]}&thumbs_ad_feedurl=http://feeds.tubecontext.com/MiddlePlayer.php%3Fx=313135377c313733347c383036&imagetext_ad_feedurl=http://feeds.tubecontext.com/BottomPlayer.php%3Fx=313135377c313733357c383036" />
    15.     <!-->
    16.       <param name="loop" value="true" />
    17.       <param name="menu" value="false" />
    18.       <param name="allowScriptAccess" value="always" />
    19.       <param name="allowFullScreen" value="true" />
    20.       <param name="flashvars" value="xmlfile=http://tubecontext/playlist.php%3Fv={$myrow["video"]}%26i={$myrow["mini_img"]}&thumbs_ad_feedurl=http://feeds.tubecontext.com/MiddlePlayer.php%3Fx=313135377c313733347c383036&imagetext_ad_feedurl=http://feeds.tubecontext.com/BottomPlayer.php%3Fx=313135377c313733357c383036" />
    21.     </object>
    22.     
    23. </div>
    24. PLAYER;
    25. ?>
     
  2. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    надо и что?
     
  3. leshiy

    leshiy Активный пользователь

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    Этот код выводит следующее видео по id вне зависимости к какой категории он относится, а нужно что бы следующее видео было одной категории с тем который проигрывается.
     
  4. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
  5. leshiy

    leshiy Активный пользователь

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
  6. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    К твоему вопросу не имеет отношения но привел ссылку что бы ты подумал что можно улучшить.
    Даю второй шанс.
     
  7. leshiy

    leshiy Активный пользователь

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    Спасибо конечно но мне то улучшать не нужно.
     
  8. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    тогда выводи видео из категории.
     
  9. leshiy

    leshiy Активный пользователь

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    Если бы знал как не просил бы помочь.
     
  10. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    здесь тоже никто не знает как сделать. Простыню кода никто читать не будет. Что именно пробовал?
     
  11. leshiy

    leshiy Активный пользователь

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    Пробовал и WHERE cat='$cat' и GROUP BY cat не выходит.
     
  12. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Я у вас структуру таблицы с видео не понял. Даже как она обзывается :) А вообще, наверное что-то вроде этого должно работать:
    Код (Text):
    1.  
    2. select * from video where cat_id=12 and id>14 order by id asc limit 1;
    Т.е. получить видео из 12-й категори, с id > 14. Поскольку запрос, по идее, должен вернуть первое из видео 12 категории с id > 14, оно и будет следующим
     
  13. leshiy

    leshiy Активный пользователь

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    1-я таблица это категории видео (categories) где idd-это порядковый номер категории и tit-название самой категории.
    2-я таблица это где вся информация о видео (date) где id-это порядковый номер видео, cat-номер категории к которой он относится.
    И если я ставлю номер категории вручную WHERE date.cat=7 то выводятся все видео из категории 7
    Код (Text):
    1.  
    2.     $result = mysql_query("SELECT `date`.*, `categories`.`tit`,`idd`,
    3.     IF(DATE(`date`) = CURDATE(), 'СЕГОДНЯ', IF(DATE(`date`) = CURDATE()-INTERVAL 1 DAY, 'ВЧЕРА', `date`)) `date`
    4. FROM date
    5.   LEFT JOIN categories
    6.   ON date.cat = categories.idd
    7.   WHERE date.cat=6",$db);
     
  14. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Ну поменяйте название таблицы в моём запросе, подставьте переменные... date - это по-англицки дата, поэтому я и не смог понять, что у вас происходит. А данные - data
     
  15. leshiy

    leshiy Активный пользователь

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    Так не работает
    Код (Text):
    1.  
    2. where cat_id='$cat' and id>'$id' order by id asc limit 1",$db);
    а так то же самое выводится видео следующее по id
    Код (Text):
    1. where id>'$id' order by id asc limit 1",$db);
     
  16. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Ну блин, вы хоть разбираете пример, прежде чем копипастить? Я же не знаю, как в вашей таблице поля называются. Вроде у вас date.cat категория? А у меня cat_id. Догадываетесь, что поменять надо?
     
  17. leshiy

    leshiy Активный пользователь

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    Код (Text):
    1. where date.cat='$cat' and id>'$id' order by id asc limit 1",$db);
    так тоже не работает.
     
  18. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    http://sqlfiddle.com/ - засуньте ваши таблицы сюда, я так не понимаю, что там у вас не получается.

    Добавлено спустя 51 секунду:
    Запрос я составил вроде логично
     
  19. leshiy

    leshiy Активный пользователь

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    http://sqlfiddle.com/ - засуньте ваши таблицы сюда, я так не понимаю, что там у вас не получается.

    А что это?
     
  20. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Не видно что-ли - виртуальный mysql :) ну я не вижу запросы ваши так, а отлаживать программы вы явно не умеете. Вывести запрос на экран, попробовать его в phpmyadmin...
     
  21. leshiy

    leshiy Активный пользователь

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
  22. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    гы, база порнухи

    Добавлено спустя 11 минут 37 секунд:
    Код (PHP):
    1. $active_video_id = 25;
    2. $sql = 'SELECT * FROM `date` `d1` INNER JOIN `date` `d2` ON `d2`.`id`  = '.$active_video_id.' AND `d2`.`cat` = `d1`.`cat` AND `d1`.`id` != '.$active_video_id; 
     
  23. leshiy

    leshiy Активный пользователь

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    Код (PHP):
    1. $active_video_id = 25;
    2. $sql = 'SELECT * FROM `date` `d1` INNER JOIN `date` `d2` ON `d2`.`id`  = '.$active_video_id.' AND `d2`.`cat` = `d1`.`cat` AND `d1`.`id` != '.$active_video_id;  
    [/quote]
    так тоже не выходит
     
  24. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    ты уверен, что «так тоже не выходит» — это именно то, на основании чего тебе кто-то сможет помочь?

    Добавлено спустя 58 секунд:
    но вообще, мой запрос выбирает все видео из категории активного ролика
     
  25. leshiy

    leshiy Активный пользователь

    С нами с:
    18 июл 2008
    Сообщения:
    90
    Симпатии:
    0
    смотри сам
    Код (Text):
    1. <? include ("blocks/db.php"); ?>
    2. <?
    3. if (isset($_GET['id'])) {$id = $_GET['id']; }
    4. if (!isset($id)) {$id = 1;}
    5.     $result = mysql_query("SELECT `date`.*, `categories`.`tit`,
    6.     IF(DATE(`date`) = CURDATE(), 'СЕГОДНЯ', IF(DATE(`date`) = CURDATE()-INTERVAL 1 DAY, 'ВЧЕРА', `date`)) `date`
    7. FROM date
    8.   LEFT JOIN categories
    9.   ON categories.idd = date.cat
    10.   WHERE date.id='$id'",$db);
    11. if (!$result){echo "<p>Запрос не возможен</p>";
    12. exit(mysql_error());}
    13. if (mysql_num_rows($result) > 0){
    14. $myrow = mysql_fetch_array($result);
    15. $new_view = $myrow["view"] + 1;
    16. $update = mysql_query ("UPDATE date SET view='$new_view' WHERE id='$id'",$db);}
    17. else{echo "<meta http-equiv='Refresh' content='0; url=index.php'>";
    18. exit();}
    19. ?>
    20. <?
    21. $result77 = mysql_query("SELECT str FROM options", $db);
    22. $myrow77 = mysql_fetch_array($result77);
    23. $num = $myrow77["str"];
    24. @$str = $_GET['str'];
    25. $result00 = mysql_query("SELECT COUNT(*) FROM date");
    26. $temp = mysql_fetch_array($result00);
    27. $posts = $temp[0];
    28. $total = (($posts - 1) / $num) + 1;
    29. $total =  intval($total);
    30. $str = intval($str);
    31. if(empty($str) or $str < 0) $str = 1;
    32. if($str > $total) $str = $total;
    33. $start = $str * $num - $num;
    34.     $active_video_id = 25;
    35.     $sql = 'SELECT * FROM `date` `d1` INNER JOIN `date` `d2` ON `d2`.`id`  = '.$active_video_id.' AND `d2`.`cat` = `d1`.`cat` AND `d1`.`id` != '.$active_video_id;
    36.     if (mysql_num_rows($result) > 0) {
    37.         print "<table align=center>";
    38.         while ($myrow = mysql_fetch_array($result)) {
    39.                 echo ($c%1 == 0 ? '<tr>' : '');
    40.                 print "<td width=240>";
    41. printf( "<div class='rol'>
    42. <a href='porno-video.php?id=%s' title='%s - Порно ролик' class=title>
    43. <ins>
    44. <img src='%s' title='%s - Секс ролик' alt='%s - Ролик'>
    45. <span class='time'>%s</span>
    46. <span class='kat'>%s</span>
    47. <span class='thumb_views'><span class='views'>%s</span></span>
    48. <span class='rast'>%s</span>
    49. </ins>
    50. <div class='title_a'>%s</div></a></div>
    51. ",$myrow['id'],$myrow['title'],$myrow['mini_img'],$myrow['title'],$myrow['title'],$myrow['prod'],$myrow['tit'],$myrow['view'],$myrow['date'],$myrow['title']);
    52. print "</td>";
    53.                 echo ($c%1 == 1 ? '</tr>' : '');
    54.                 $c++;
    55.         }
    56.         print "</table><br>";
    57. ?>
    58.         <?
    59. if ($total > 1){Error_Reporting(E_ALL & ~E_NOTICE);
    60. echo "";
    61. echo $page3left.$page2left.$page1left.'<a class=active>'.$page.'</a>'.$page1right.$page2right.$page3right.$page4right.$page5right.$page6right.$page7right.$page8right.$page9right.$nextpage;
    62. echo "";}}
    63. else{echo "<div class=verh_m align=center>Извините это самый первый порно ролик!</div>";}
    64.         ?>
    65. <?
    66. if (isset($_GET['id'])) {$id = $_GET['id']; }
    67. if (!isset($id)) {$id = 1;}
    68.     $result = mysql_query("SELECT `date`.*, `categories`.`tit`,
    69.     IF(DATE(`date`) = CURDATE(), 'СЕГОДНЯ', IF(DATE(`date`) = CURDATE()-INTERVAL 1 DAY, 'ВЧЕРА', `date`)) `date`
    70. FROM date
    71.   LEFT JOIN categories
    72.   ON categories.idd = date.cat
    73.   WHERE date.id='$id'",$db);
    74. if (!$result){echo "<p>Запрос не возможен</p>";
    75. exit(mysql_error());}
    76. if (mysql_num_rows($result) > 0){
    77. $myrow = mysql_fetch_array($result);
    78. $new_view = $myrow["view"] + 1;
    79. $update = mysql_query ("UPDATE date SET view='$new_view' WHERE id='$id'",$db);}
    80. else{echo "<meta http-equiv='Refresh' content='0; url=index.php'>";
    81. exit();}
    82. ?>
    83.     <td width="500" align="center" valign="top">
    84.     <div class="video_rol">
    85. <strong style="color:#FF0000;" align="center"><? echo $myrow["title"]; ?></strong>
    86.         <? 
    87.             $result50 = mysql_query ("SELECT COUNT(*) FROM date WHERE cat='$cat'",$db);
    88. $sum50 = mysql_fetch_array($result50);
    89. echo <<< PLAYER
    90. <div id="flashcontent" style="background-color:#000; width: 465px; height: 415px;" >
    91.     <!--[if !IE]> -->
    92.     <object type="application/x-shockwave-flash"
    93.       data="http://xxx-leshiy.ru/tubecontext/wmblack4.swf" width="465" height="400">
    94.     <!-- <![endif]-->
    95.    
    96.     <!--[if IE]>
    97.     <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="600" height="400">
    98.     <param name="movie" value="http://xxx-leshiy.ru/tubecontext/wmblack4.swf" allowScriptAccess="always" wmode="opaque" allowFullScreen="true"
    99.         flashvars="xmlfile=http://xxx-leshiy.ru/tubecontext/playlist.php%3Fv={$myrow["video"]}%26i={$myrow["mini_img"]}&thumbs_ad_feedurl=http://feeds.tubecontext.com/MiddlePlayer.php%3Fx=313135377c313733347c383036&imagetext_ad_feedurl=http://feeds.tubecontext.com/BottomPlayer.php%3Fx=313135377c313733357c383036" />
    100.     <!-->
    101.       <param name="loop" value="true" />
    102.       <param name="menu" value="false" />
    103.       <param name="allowScriptAccess" value="always" />
    104.       <param name="allowFullScreen" value="true" />
    105.       <param name="flashvars" value="xmlfile=http://xxx-leshiy.ru/tubecontext/playlist.php%3Fv={$myrow["video"]}%26i={$myrow["mini_img"]}&thumbs_ad_feedurl=http://feeds.tubecontext.com/MiddlePlayer.php%3Fx=313135377c313733347c383036&imagetext_ad_feedurl=http://feeds.tubecontext.com/BottomPlayer.php%3Fx=313135377c313733357c383036" />
    106.     </object>
    107.     <!-- <![endif]-->
    108. </div>
    109. PLAYER;
    110. ?>