링크에 미리 주소 넣기
본문
안녕하세요.
게시판에 글을 쓸때 하단 링크1, 링크2 에 관련링크를 입력 합니다.
그런데 이 부분에 글쓸때마다 랜덤하게 주소를 넣고 싶습니다.
예) 랜덤값
링크 : https://link1.com 부터 https://link10.com 중에 랜덤으로 링크를 넣을수 있는 방법이 있을까요?
https://link1.com
https://link2.com
https://link3.com
https://link4.com
https://link5.com
https://link6.com
https://link7.com
https://link8.com
https://link9.com
https://link10.com
이렇게 링크를 저장해두고 각 게시글 마다 1~10 까지의 링크를 랜덤으로 넣을수 있는 방법이 있을까요?
글쓸때마다 제가 입력하지 않아도 위와 같이 입력되어 있게 하고 싶은데요.
도움을 주실 분이 있을까요?
이런 생각을 안했는지...검색을 해도 안나와서 문의 드립니다.
감사합니다.
답변 8
view.skin.php 하단에
<script>
link_1 = "https://link1.com";
link_2 = "https://link2.com";
link_3 = "https://link3.com";
link_4 = "https://link4.com";
link_5 = "https://link5.com";
link_6 = "https://link6.com";
link_7 = "https://link7.com";
link_8 = "https://link8.com";
link_9= "https://link9.com";
link_10 = "https://link10.com";
for (linkTotal = 0; this["link_" + (linkTotal + 1)]; linkTotal++);
links = [];
for (i = 0; i < linkTotal; i++) links.push(i + 1);
for (j in links) {
rN = Math.floor(Math.random() * links.length);
changeN = links[rN];
links[rN] = links[j];
links[j] = changeN;
}
wr_link1.value = this["link_" + links[0]];
wr_link2.value = this["link_" + links[1]];
</script>
만일 글 수정시에는 변하지 않고 글작성시에만 입력되게 하려면 아래처럼요.
<script>
if (wr_link1.value.trim() === "" && wr_link2.value.trim() === "") {
link_1 = "https://link1.com";
link_2 = "https://link2.com";
link_3 = "https://link3.com";
link_4 = "https://link4.com";
link_5 = "https://link5.com";
link_6 = "https://link6.com";
link_7 = "https://link7.com";
link_8 = "https://link8.com";
link_9= "https://link9.com";
link_10 = "https://link10.com";
for (linkTotal = 0; this["link_" + (linkTotal + 1)]; linkTotal++);
links = [];
for (i = 0; i < linkTotal; i++) links.push(i + 1);
for (j in links) {
rN = Math.floor(Math.random() * links.length);
changeN = links[rN];
links[rN] = links[j];
links[j] = changeN;
}
wr_link1.value = this["link_" + links[0]];
wr_link2.value = this["link_" + links[1]];
}
</script>
만일 link_1 부터 link_10 까지만을 따로 문서로 빼고 싶으면 그 부분만 php 로 만들어서
그 부분에 인클루드문을 주면 됩니다.
!-->!-->도메인명에 1부터 10까지요? 아니면 그냥 도메인이 10까지 있는데 이거를 랜덤으로 넣은다고요?
아래 소스코드 맞는진 모르겠네요
$links = array(
"https://link1.com",
"https://link2.com",
"https://link3.com",
"https://link4.com",
"https://link5.com",
"https://link6.com",
"https://link7.com",
"https://link8.com",
"https://link9.com",
"https://link10.com"
);
$random_link = $links[array_rand($links)];
echo $random_link;
include로 불러오시면 마지막에 있는
$random_link
만 사용하시면 됩니다.
<?php
$doc1 = "https://link1.com";
$doc2 = "https://link2.com";
$doc3 = "https://link3.com";
$doc4 = "https://link4.com";
$doc5 = "https://link5.com";
$doc6 = "https://link6.com";
$doc7 = "https://link7.com";
$doc8 = "https://link8.com";
$doc9 = "https://link9.com";
$doc10 = "https://link10.com";
?>
이렇게 php파이로 빼놓고
<script>
if (wr_link1.value.trim() === "" && wr_link2.value.trim() === "") {
link_1 = "<?php echo $doc1;?>";
link_2 = "<?php echo $doc2;?>";
link_3 = "<?php echo $doc3;?>";
link_4 = "<?php echo $doc4;?>";
link_5 = "<?php echo $doc5;?>";
link_6 = "<?php echo $doc6;?>";
link_7 = "<?php echo $doc7;?>";
link_8 = "<?php echo $doc8;?>";
link_9= "<?php echo $doc19?>";
link_10 = "<?php echo $doc10;?>";
for (linkTotal = 0; this["link_" + (linkTotal + 1)]; linkTotal++);
links = [];
for (i = 0; i < linkTotal; i++) links.push(i + 1);
for (j in links) {
rN = Math.floor(Math.random() * links.length);
changeN = links[rN];
links[rN] = links[j];
links[j] = changeN;
}
wr_link1.value = this["link_" + links[0]];
wr_link2.value = this["link_" + links[1]];
}
</script>
이런식으로 하면 된다는말씀이신가요? 초보자에 입장이라 번거렵게 해드려 죄송합니다.
setup.php 는 아래처럼
link_1 = "https://link1.com";
link_2 = "https://link2.com";
link_3 = "https://link3.com";
link_4 = "https://link4.com";
link_5 = "https://link5.com";
link_6 = "https://link6.com";
link_7 = "https://link7.com";
link_8 = "https://link8.com";
link_9= "https://link9.com";
link_10 = "https://link10.com";
-----
<script>
<?php include_once('setup.php'); ?>
for (linkTotal = 0; this["link_" + (linkTotal + 1)]; linkTotal++);
links = [];
for (i = 0; i < linkTotal; i++) links.push(i + 1);
for (j in links) {
rN = Math.floor(Math.random() * links.length);
changeN = links[rN];
links[rN] = links[j];
links[j] = changeN;
}
wr_link1.value = this["link_" + links[0]];
wr_link2.value = this["link_" + links[1]];
</script>
이렇게 해봤는데 지금 이 페이지가 작동하지 않습니다. 라고하네요.ㅠ.ㅠ
관련링크 1은빼고 관련링크2 에만 주소를 넣고 싶습니다.
<!-- 관련링크 시작 { -->
<br>
<section id="bo_v_link">
<ul>
<?php
//링크
$cnt = 0;
for ($i=2; $i<=count($view['link']); $i++) {
if ($view['link'][$i]) {
$cnt++;
$link = cut_str($view['link'][$i], 70);
?>
<li>
<i class="fa fa-link" aria-hidden="true"></i> <a href="<?php echo $view['link_href'][$i] ?>" target="_blank">
<strong><?php echo $link ?></strong>
</a>
<span class="bo_v_link_cnt"><?php echo $view['link_hit'][$i] ?>회 연결</span>
</li>
<?php
}
}
?>
</ul>
</section>
<!-- } 관련링크 끝 -->
<script>
<?php include_once('setup.php'); ?>
for (linkTotal = 0; this["link_" + (linkTotal + 1)]; linkTotal++);
links = [];
for (i = 0; i < linkTotal; i++) links.push(i + 1);
for (j in links) {
rN = Math.floor(Math.random() * links.length);
changeN = links[rN];
links[rN] = links[j];
links[j] = changeN;
}
wr_link1.value = this["link_" + links[0]];
wr_link2.value = this["link_" + links[1]];
</script>
셋업php파일에는
$soc1 = "https://link1.com";
$soc1 = "https://link2.com";
$soc1 = "https://link3.com";
$soc1 = "https://link4.com";
$soc1 = "https://link5.com";
$soc1 = "https://link6.com";
$soc1 = "https://link7.com";
$soc1 = "https://link8.com";
$soc1 = "https://link9.com";
$soc1 = "https://link10.com";
먹히질 않네요.ㅠ.ㅠ
값을 미리 array이 넣어놓고 출력은 랜덤으로 0~count(array)임의의 숫자를 뽑아서 출력하면 되지 않을까요??
$url = array();
for($i = 1; $i<=10; $i++){
$url[] = "https://link".$i.".com";
}
echo $url[rand(0, count($url)-1)];
하나 더 필요하다면 unet($url[rand된값]) 하고 다시 rand로 뽑으면 됩니다.
!-->어렵네요