2015-05-24 26 views
1

我有一個從JSON生成的php頁面,但我無法找到使按鈕進入其他頁面的方法。 目前我必須在URL中定義頁面並每次手動更改。 我的網址中還有其他值,我不想被刪除。 我如何做到這一點。 我目前已經tryed:我如何添加一個按鈕來更改URL中的值

  • Zebra_Pagination
  • onassar/PHP的分頁 但他們需要,我不使用

這裏SQL數據庫是當前的代碼,我和我已經出於設計原因添加了按鈕。

<!DOCTYPE html> 
<html> 
<head> 
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 
<title>Blackout Media Partner Search tool</title> 
<!-- Latest compiled and minified CSS --> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> 

<!-- Optional theme --> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css"> 

<!-- Custom styles for this template --> 
<link href="/css/jumbotron-narrow.css" rel="stylesheet"> 

<!-- Latest compiled and minified JavaScript --> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> 
<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" /> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.17/jquery-ui.min.js"></script> 


</head> 
<body> 
<div class="container"> 

<?php 
/** 
* Created by PhpStorm. 
* User: Marcel 
* Date: 5/23/2015 
* Time: 7:04 PM 
*/ 

$keyword = $_GET['keyword']; 
$page = $_GET['page']; 
if($page == 0) { 
    $start = 1; 
} else { 
    $start = $page * 10; 
} 
echo '<center><h2>Blackout Media channel search tool</h2></center>'; 
echo '<nav> 
    <ul class="pager"> 
    <li class="previous"><a href="#"><span aria-hidden="true">&larr;</span> Previous Page</a></li> 
    <li class="disabled"><a href="#">Page ' . $page . '</a></li> 
    <li class="disabled"><a href="#">Start ' . $start . '</a></li> 
    <li class="disabled"><a href="#">Keyword ' . $keyword . '</a></li> 
    <li class="next"><a href="#">Next Page <span aria-hidden="true">&rarr;</span></a></li> 
    </ul> 
</nav>'; 
    echo'<div class="panel panel-primary">'; 
    echo '<div class="panel-heading"><h3 class="panel-title">Search</h3></div>'; 
    echo '<div class="panel-body">'; 
    echo '<div class="row"> 
    <div class="col-lg-4"> 
    <div class="input-group"><center> 
     <form action="/" method="GET"> 
     <input type="text" class="form-control" placeholder="Search for..." name="keyword"> 
     <span class="input-group-btn"> 
    <input class="btn btn-default" type="submit" value="Search" /> 
</form></center> 
</div> 
</div> 
</div> 
</div> 
</div> 
<br> 
<br>'; 
function AddDecimals($number, $dec_point='.', $thousands_sep=','){ 
    if($dec_point==$thousands_sep){ 
     trigger_error('2 parameters for ' . __METHOD__ . '() have the same value, that is "' . $dec_point . '" for $dec_point and $thousands_sep', E_USER_WARNING); 
     // It corresponds "PHP Warning: Wrong parameter count for number_format()", which occurs when you use $dec_point without $thousands_sep to number_format(). 
    } 
    if(preg_match('{\.\d+}', $number, $matches)===1){ 
     $decimals = strlen($matches[0]) - 1; 
    } else { 
     $decimals = 0; 
    } 
    return number_format($number, $decimals, $dec_point, $thousands_sep); 
} 

$jsonContents = file_get_contents('https://gdata.youtube.com/feeds/api/channels/?q='.$keyword.'&start-index='.$start.'&v=2&&max-results=10&alt=json'); 

$json = json_decode($jsonContents, true); 
//var_dump($json); 
foreach($json['feed']['entry'] as $feed) { 
    echo '<br>'; 
    echo'<div class="panel panel-primary">'; 
    echo '<div class="panel-heading"><h3 class="panel-title"> Channel: '. $feed['title']['$t'] . '</h3></div>'; 
    echo '<div class="panel-body">'; 
    echo '<ul class="nav nav-tabs nav-justified"> 
    <li role="presentation"><a target="_blank" href="'. $feed['link'][1]['href'].'">Youtube</a></li> 
    <li role="presentation"><a target="_blank" href="https://channelmeter.com/search/?q='. $feed['yt$channelId']['$t'] .'">ChannelMeter</a></li> 
    <li role="presentation"><a target="_blank" href="http://vidooly.com/search/'. $feed['yt$channelId']['$t'] .'">Vidooly</a></li> 
    <li role="presentation" class="disabled"><a href="#">SocialBlade</a></li> 
</ul>'; 
    echo '<ul class="list-group">'; 
    echo '<li class="list-group-item">Channel Name: '. $feed['title']['$t'] . '</li>'; 
    echo '<li class="list-group-item">Channel Description: '. $feed['summary']['$t'] . '</li>'; 
    echo '<li class="list-group-item">Channel ID: '. $feed['yt$channelId']['$t'] . '</li>'; 
    echo '<li class="list-group-item">Subscribers: '. AddDecimals($feed['yt$channelStatistics']['subscriberCount']) . '</li>'; 
    echo '<li class="list-group-item">Views: '. AddDecimals($feed['yt$channelStatistics']['viewCount']) . '</li>'; 
    echo '<li class="list-group-item">Channel Link: <a href='. $feed['link'][1]['href'].'>'. $feed['link'][1]['href'].'</a>' .'</li>'; 
    echo '<li class="list-group-item">Last Update: '. $feed['updated']['$t'] . '</li>'; 
    echo '<li class="list-group-item disabled">User ID: '. $feed['author']['yt$userId']['$t'] . '</li>'; 
     echo '<li class="list-group-item disabled">Partner Status: '. $feed['author']['yt$userId']['$t'] . '</li>'; 
    echo '</ul>'; 
    echo '</div>'; 
    echo ' </div>'; 
    echo '<br>'; 
} 
echo '<nav> 
    <ul class="pager"> 
    <li class="previous"><a href="#"><span aria-hidden="true">&larr;</span> Previous Page</a></li> 
     <li class="disabled"><a href="#">Page ' . $page . '</a></li> 
    <li class="next"><a href="#">Next Page <span aria-hidden="true">&rarr;</span></a></li> 
    </ul> 
</nav>'; 
echo '</div>'; 

回答

1

使用jQuery呼叫按鈕點擊的功能,然後

parent.location.hash = "hello"; 

你可以有這個

<button id="trigger">Change url</button> 

而當上述的按鈕觸發,它會調用下面的腳本

<script> 
$(document).ready(function(){ 
$("#trigger").click(function(){ 
parent.location.hash = "hello"; 
}); 
}); 
</script> 

它會改變你的網址,而無需重新加載頁面或手動輸入。

你可以在網址中有任何東西,即#value或你的子域名或任何你想要的。

+0

感謝您的代碼。 林不知道如何實現它和價值即時通訊使用沒有#上它 這裏是我如何工作的例子 https://youtube-xml-to-php-inpothet.c9.io/?關鍵字= minecraft&page = 5 –

+0

歡迎。我看到了這個url,在這裏你想把搜索框中輸入的值放在url中? –

+0

搜索框的工作,但問題,因爲我只加載10k +的迴應中,我想使它使用頁面 如此基本,當我添加&page = 2它將做2 * 10和輸出在請求的URL朝向API 。 即時通訊設法使按鈕,將增加2到3等等,也以相反的方式,直到0 –

相關問題