select list box แล้วมี ข้อมูล เป็น check box แล้ว เลือก อีกทีให้ เป็น radio box
เราต้องการ ใช้ select box เลือก ระหว่าง JDK หรือ PSTATS ถ้า เลือก JDK ก็ให้โชว์ข้อมูล
แต่ถ้าเลือก JDK เราต้องเอาข้อมูลมาโชว์เป็น check box แต่เราต้องดึงข้อมูลจาก โฟรเด้อ ซึ่งเป็น .tar, tgz แล้วอ่านออกมาเป็นปกติ เช่น
จาก openjdk1.8.0_60_histr.tar.gz ให้อ่านเป็น 1.8.0-EagerWithProfileData-SaveState-1.0 แต่มันมีมากกว่าหนึ่งไฟล์ แล้วก็โชว์เป็ฯ
check box 1.8.0-EagerWithProfileData-SaveState-1.0 (จะโชว์มากกว่าหนึ่งไฟล์ ขึ้นอยู่กับโฟลเดอที่เก็บไฟล
ในขนะเดียวกันถ้า select box เลือก กลับไปกลับมา ข้อมูลอื่นที่กรอกไปแล้วก็ให้ยังคงอยู่
ข้อมูลของ JDK files ก็จะอยู่ ประมาณข้างล่างค่ะ แต่เป็น .tar, .tgz ต้องใช้เขียนโค๊ดยังไงให้มันอ่านให้ถูก
Code (PHP)
<?php
$dir ="./utilities/JDKT/JDK/";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir ($dh)) !== false) {
echo "<input type='checkbox' name='choice'>". $file . "<br>";
}
closedir ($dh);
}
}
?>
ข้อมูลของ pstats ก็จะอยู่ ประมาณข้างล่างค่ะ
Code
<input type="radio" name=choice id="count_1" value="1. pstats - Jun 30 2010 16:55:07">pstats - Jun 30 2010 16:55:07<br>
<input type="radio" name=choice id="count_2" value="2. pstats - Jan 26 2012 12:43:26">pstats - Jan 26 2012 12:43:26<br>
<input type="radio" name=choice id="count_3" value="3. pstats - Oct 15 2013 15:04:37">pstats - Oct 15 2013 15:04:37<br>
<input type="radio" name=choice id="count_4" value="4. pstats - Dec 3 2014 13:30:33">pstats - Dec 3 2014 13:30:33<br>
แล้วข้างล่างก็คือโค๊ดที่เขียนอยู่ แต่มันไปไม่ถูกอะ
Code (PHP)
<?php
$db_host = 'localhost';
$db_user = 'root';
$db_pwd = '';
$db = 'opacv2';
// connect to mysql server
$connect = mysql_connect($db_host, $db_user, $db_pwd);
if (!$connect) {
die("Failed to connect to mysql server.");
}
?>
<html>
<head>
<style>
table, th, td {
border: 1px;
border-collapse: collapse;
}
th, td {
padding: 5px;
}
th {
text-align: left;
}
a:hover {
background-color: yellow;
}
a:visited, a:link {
color: red;
}
</style>
<body>
<img src="logo-small.png"></img>
<form name="myform" method='post' action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table width ="80%">
<col width="350">
<col width="300">
<tr>
<th>1. Select Your Name:
<?php
$select = mysql_select_db($db);
$query = "SELECT name,email FROM opacv2.employees WHERE dateTerminated is NULL order by name;";
$result = mysql_query($query) or print mysql_error();
echo "<select name='selectname'>";
echo "<option>Choose Your Name:</option>";
while ($row = mysql_fetch_assoc($result)) {
$email = $row['email'];
$name = $row['name'];
echo "<option value='$email|$name'>" . $name . "</option>";
}
?>
</th>
<th>4. Insert/Paste Server List <span style="font-size: 12px">(One column, One server per line.)</span></th>
</tr>
<tr>
<th>2. Select Additional Options</th>
</tr><tr>
<td valing="top"><p>
List additional recipents (email address, comma delimiated)
</p>
<input type="text" name="users_to_add" style="width: 190px"><br>
<p>
<b>
JDK script will not install a new version if java is running.
</b>
<br>
Check to override.
<input type ="checkbox" name="force" value="Force Install has been selected, please run this script with the -f switch.">
</p></td>
<td valing="top"><textarea rows="10" cols="50"></textarea></td>
</th>
</tr>
<tr>
<th>3. Please select JDK or Pstats Version</th>
<th>5. Submit:<input type="submit" value=" Submit " name="update_button" class="update_button" onClick="addtext(); return checkforcheck();"/
</tr>
<tr><td><A HREF="#" TITLE="Back-level versions of Java contain known flaw and security vulnerabilities. Please consider migrating to the latest stable Java 8 for your application. Java 7 public updates officially ended April 2015. Java 6 public updates officially ended February 2013.Any Jetty web servers used with Java 6 will not be accessible with Firefox 39 or later with other browsers soon to follow suit.">(Please Be Aware that..)</A><br><br>
<select name="select_choice" id="select_choice" onchange="window.location='?select_choice='+this.value+''">
<option value="" >Select option</option>
<option value="jdk" >JDK</option>
<option value="pstats" >PSTATS</option>
</select>
</td>
</tr>
</table>
</form>
</head>
<?php mysql_close($connect) ?>
</body>
</html>
Tag : PHP, MySQL
ประวัติการแก้ไข 2016-06-27 08:04:23
ต้องข้อคำแนะนำจากทุกท่านด้วยนะค่ะ
ประวัติการแก้ไข 2016-06-27 08:05:52
ทำ <div> มา 2อัน หรือจะกี่ก็ก็แล้วแต่ แล้วเวลาเลือก ติ๊ก อะไรก็ให้มันโชว์ <div> ตัวนั้น
มันจะใช้ javascript ครับ ส่วนใช้ยังไงหาวิธีเอาเองนะครับ
Date :
2016-06-27 10:41:39
By :
gaowteen
ต้องการใช้ select box แล้วส่ง value โดยไม่ใช้ submit button สาเหตุที่ต้องการแบบนี้เพราะว่าไม่ต้องการให้ refresh webpage. แล้ว พอเลือกข้อมูล จาก pstats หรือ jdk แล้ว ก็จะ ส่งข้อมูลทั้งหมดไป ทางอีเมล์ ทั้งผู้รับ และ ผู้ส่ง คือโค๊ตข้างล่างจะทำยังไงให้มันมีการส่ง และ รับ value เพื่อไปเรียกข้อมูลที่เป็น input radio หรือ input check box โดยใช้ แค่ select box ไม่ใช้ submit button
Code (PHP)
<?php
echo "<select name='selectname'>";
echo "<option value=''><- Choose option -></option>";
echo "<option value=jdk>JDK</option>";
echo "<option value=pstats>PSTATS</option>";
echo "</select>";
if ($_GET[jdk]) {
echo "
<input type="radio" name=choice id="count_1" value="1. pstats - Jun 30 2010 16:55:07">pstats - Jun 30 2010 16:55:07<br>
<input type="radio" name=choice id="count_2" value="2. pstats - Jan 26 2012 12:43:26">pstats - Jan 26 2012 12:43:26<br>
<input type="radio" name=choice id="count_3" value="3. pstats - Oct 15 2013 15:04:37">pstats - Oct 15 2013 15:04:37<br>
<input type="radio" name=choice id="count_4" value="4. pstats - Dec 3 2014 13:30:33">pstats - Dec 3 2014 13:30:33<br> ";
} elseif($_GET[pstats] {
$dir ="./utilities/JDKT/JDK/";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir ($dh)) !== false) {
echo "<input type='checkbox' name='choice'>". $file . "<br>";
}
closedir ($dh);
}
}
?>
ประวัติการแก้ไข 2016-06-27 11:32:54
ผมจะบอกยังไงดีละครับ
ถ้ามี โชว์ค้อมูลทั้งหมดอยู่แล้วไม่มี การ hidden / show ก็ใช้ ajax ส่งค่าต้อนเลือกเลย พอเลือกก็ส่งๆๆๆๆๆๆๆ (มันจะดีไหมครับ 555555)
สุรปแล้วผมงง
Date :
2016-06-27 11:49:39
By :
gaowteen
ช่วยแนะนำหน่อยค่ะ ถ้า เป็นแบบโค๊ดข้างล่าง แต่ไม่ต้องการใช้ alert box ให้โชว์เป็น ข้อความแทนข่างล่าง select box โดยโชว์ค่าใน <span> แทน เช่นถ้าเลือก PSTATS ก็ให้โชว์ทั้งเซ็ทของ <span id=spName>
แต่ถ้าเลือก JDK ก็ให้โชว์ข้อความของ echo <span id="spName1">
Code (PHP)
<script type="text/javascript">
function changeFunc() {
var selectBox = document.getElementById("selectBox");
var selectedValue = selectBox.options[selectBox.selectedIndex].value;
alert(selectedValue);
}
</script>
<select id="selectBox" onchange="changeFunc();">
<option value="" >Select option</option>
<option value="jdk" >JDK</option>
<option value="pstats" >PSTATS</option>
</select
<span id="spName">
<input type="radio" name=choice id="count_1" value="1. pstats - Jun 30 2010 16:55:07">pstats - Jun 30 2010 16:55:07<br>
<input type="radio" name=choice id="count_2" value="2. pstats - Jan 26 2012 12:43:26">pstats - Jan 26 2012 12:43:26<br>
<input type="radio" name=choice id="count_3" value="3. pstats - Oct 15 2013 15:04:37">pstats - Oct 15 2013 15:04:37<br>
<input type="radio" name=choice id="count_4" value="4. pstats - Dec 3 2014 13:30:33">pstats - Dec 3 2014 13:30:33<br>
</span>
<?php
echo '<span id="spName1">
<input type="checkbox" name=choice onchange="olderror7();" id="count_9" value="9. 1.7.0-b147">1.7.0-b147<br>
<input type="checkbox" name=choice onchange="olderror7();" id="count_10" value="10. 10. 1.7.2-b13">1.7.2-b13<br>
<input type="checkbox" name=choice onchange="olderror7();" id="count_11" value="11. 1.7.0-20120320">1.7.0-20120320<br>
<input type="checkbox" name=choice onchange="olderror7();" id="count_12" value="12. 1.7.0-openjdk1p_jdk7-u2_cboetl-Local_20120705091849">1.7.0-openjdk1p_jdk7-u2_cboetl-Local_20120705091849<br>
<input type="checkbox" name=choice onchange="olderror7();" id="count_13" value="13. 1.7.0_04-b20">1.7.0_04-b20<br>
<input type="checkbox" name=choice onchange="olderror7();" id="count_14" value="14.
</span>';
?>
ระหว่างที่รอการแนะนำจากท่านอื่น(รอท่านอื่นมาเขียน code ให้) ลองหาอ่าน show/hide Element, การใช้ checkbox ทำหน้าที่แทน Radio แต่!! ลองนึกคีย์เวิร์ดเป็นภาษาอังกฤษดูครับ มีคนเขียนรูปแบบไว้เยอะ ส่วน show/hide Element ในบอร์ดก็มีคนเขียนอยู่ จะเป็นการทำงานแบบ javascript หรือเป็น jquery ก็มีอยู่ครับ
Date :
2016-06-27 14:07:36
By :
apisitp
ผมใช้ jquery นะ
Code (PHP)
<script>
$(document).ready(function(){
$('#selectBoxX').change(function(){
$('.spGroup').hide();
$('#'+$(this).val()).show();
});
})
</script>
<select id="selectBoxX" >
<option value="" >Select option</option>
<option value="jdk" >JDK</option>
<option value="pstats" >PSTATS</option>
</select>
<span class="spGroup" id="jdk">
<input type="radio" name=choice id="count_1" value="1. pstats - Jun 30 2010 16:55:07">pstats - Jun 30 2010 16:55:07<br>
<input type="radio" name=choice id="count_2" value="2. pstats - Jan 26 2012 12:43:26">pstats - Jan 26 2012 12:43:26<br>
<input type="radio" name=choice id="count_3" value="3. pstats - Oct 15 2013 15:04:37">pstats - Oct 15 2013 15:04:37<br>
<input type="radio" name=choice id="count_4" value="4. pstats - Dec 3 2014 13:30:33">pstats - Dec 3 2014 13:30:33<br>
</span>
<span class="spGroup" id="pstats">
<input type="checkbox" name=choice onchange="olderror7();" id="count_9" value="9. 1.7.0-b147">1.7.0-b147<br>
<input type="checkbox" name=choice onchange="olderror7();" id="count_10" value="10. 10. 1.7.2-b13">1.7.2-b13<br>
<input type="checkbox" name=choice onchange="olderror7();" id="count_11" value="11. 1.7.0-20120320">1.7.0-20120320<br>
<input type="checkbox" name=choice onchange="olderror7();" id="count_12" value="12. 1.7.0-openjdk1p_jdk7-u2_cboetl-Local_20120705091849">1.7.0-openjdk1p_jdk7-u2_cboetl-Local_20120705091849<br>
<input type="checkbox" name=choice onchange="olderror7();" id="count_13" value="13. 1.7.0_04-b20">1.7.0_04-b20<br>
<input type="checkbox" name=choice onchange="olderror7();" id="count_14" value="14.">
</span>
ประวัติการแก้ไข 2016-06-27 14:30:27
Date :
2016-06-27 14:29:48
By :
gaowteen
ขอบคุณคะคุณ BIrd แต่ใช้ไม่ได้ค่ะ เราเขียนใหม่ ตอนนี้ เลือก jdk ได้แล้ว แต่ pstats ยังไม่ได้ค่ะ jdk กับ pstats ใช้ div id=adiv แล้วตรง fuction ก็ ต้องปรับ ช่วยแนะนำด้วยค่ะ
Code (PHP)
<script type="text/javascript">
function hideshow(which){
if (!document.getElementById)
return
if (which.style.display=="block")
which.style.display="none"
else
which.style.display="block"
}
</script>
<select id="selectBox" onchange="javascript:hideshow(document.getElementById('adiv'))">
<option value=""><- Choose option -></option>
<option value="1">JDK</option>
<option value="2">PSTATS</option>
</select>
<div id="adiv">
<input type="radio" name=choice id="count_1" value="1. pstats - Jun 30 2010 16:55:07">pstats - Jun 30 2010 16:55:07<br>
<input type="radio" name=choice id="count_2" value="2. pstats - Jan 26 2012 12:43:26">pstats - Jan 26 2012 12:43:26<br>
<input type="radio" name=choice id="count_3" value="3. pstats - Oct 15 2013 15:04:37">pstats - Oct 15 2013 15:04:37<br>
<input type="radio" name=choice id="count_4" value="4. pstats - Dec 3 2014 13:30:33">pstats - Dec 3 2014 13:30:33<br>
</div>
<php
$dir ="./JDK/";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir ($dh)) !== false) {
echo '<div id="adiv">'. '<input type ="checkbox" name="">' .$file. "<br>";
}
closedir ($dh);
}
}
echo "</div>";
?>
code ที่ผมเขียนมันเป็น jquery -*- imclude file jquery เข้ามาก่อนงั้นมันก็ใช้ไม่ได้ลองดู ครับ
Code (PHP)
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
$(document).ready(function(){
$('#selectBoxX').change(function(){
$('.spGroup').hide();
$('#'+$(this).val()).show();
});
})
</script>
<select id="selectBoxX" >
<option value="" >Select option</option>
<option value="jdk" >JDK</option>
<option value="pstats" >PSTATS</option>
</select>
<span class="spGroup" id="jdk">
<input type="radio" name=choice id="count_1" value="1. pstats - Jun 30 2010 16:55:07">pstats - Jun 30 2010 16:55:07<br>
<input type="radio" name=choice id="count_2" value="2. pstats - Jan 26 2012 12:43:26">pstats - Jan 26 2012 12:43:26<br>
<input type="radio" name=choice id="count_3" value="3. pstats - Oct 15 2013 15:04:37">pstats - Oct 15 2013 15:04:37<br>
<input type="radio" name=choice id="count_4" value="4. pstats - Dec 3 2014 13:30:33">pstats - Dec 3 2014 13:30:33<br>
</span>
<span class="spGroup" id="pstats">
<input type="checkbox" name=choice onchange="olderror7();" id="count_9" value="9. 1.7.0-b147">1.7.0-b147<br>
<input type="checkbox" name=choice onchange="olderror7();" id="count_10" value="10. 10. 1.7.2-b13">1.7.2-b13<br>
<input type="checkbox" name=choice onchange="olderror7();" id="count_11" value="11. 1.7.0-20120320">1.7.0-20120320<br>
<input type="checkbox" name=choice onchange="olderror7();" id="count_12" value="12. 1.7.0-openjdk1p_jdk7-u2_cboetl-Local_20120705091849">1.7.0-openjdk1p_jdk7-u2_cboetl-Local_20120705091849<br>
<input type="checkbox" name=choice onchange="olderror7();" id="count_13" value="13. 1.7.0_04-b20">1.7.0_04-b20<br>
<input type="checkbox" name=choice onchange="olderror7();" id="count_14" value="14.">
</span>
Date :
2016-06-27 16:26:55
By :
gaowteen
ตัวอย่างเล็กๆ ไม่รู้จะตรงความต้องการไหม
Code (JavaScript)
<script type="text/javascript">
function hideshow(which){
if( which ){
var x=1, y=2;
if (which==1) { x=2; y=1}
getElementById('adiv'+x).style.display="block";
getElementById('adiv'+y).style.display="none";
}else{
getElementById('adiv1').style.display="none";
getElementById('adiv2').style.display="none";
}
return;
}
</script>
<select id="selectBox" onchange="hideshow(this.value)">
<option value=""><- Choose option -></option>
<option value="1">JDK</option>
<option value="2">PSTATS</option>
</select>
<div id="adiv1" style="display: none;">
JDK Here
</div>
<div id="adiv1" style="display: none;">
PSTATS Here
</div>
ประวัติการแก้ไข 2016-06-27 16:54:56
Date :
2016-06-27 16:52:24
By :
Chaidhanan
ขอบคุณทุกท่านนะค่ะ แต่ยังไม่ได้เลยค่ะ
มันผิดตรง fucntion ค่ะ แต่แก้ไม่ถูกค่ะ จะเขียนตรง function ยังไงให้ได้ผลตามรูปภาพค่ะ
คือเราให้มัน defult ที่ PTATS ซึ่งก็จะโชว์ radio buttion choice ของ PSTATS แต่ถ้าเลือก JDK ก็ต้องการให้โชว์ขอมูลของ JDK choices ของ php ตามโค๊ดข้างล่างค่ะ แล้ว choice ของ PSTATS ก็ต้องหายไป
ตามรูปเลยค่ะ ถ้า เลือก PSTATS ก็โชว์แค่ PSTATS choices ถ้าเลือก JDK ก็โชว์แค่ JDK choices
Code (PHP)
<script type="text/javascript">
function showhide() {
var choices = document.getElementById('selectBoxx');
if (choices == 1) {
alert("Please choose JDK or PSTATS?")
}
}
<select id="selectBoxx" onchange="showhide()">
<option id="1">PSTATS</option>
<option id="2">JDK</option>
</select>
<br><br>
<div id="pstats">
<input type="radio" name=choice id="count_1" value="1. pstats - Jun 30 2010 16:55:07">pstats - Jun 30 2010 16:55:07<br>
<input type="radio" name=choice id="count_2" value="2. pstats - Jan 26 2012 12:43:26">pstats - Jan 26 2012 12:43:26<br>
<input type="radio" name=choice id="count_3" value="3. pstats - Oct 15 2013 15:04:37">pstats - Oct 15 2013 15:04:37<br>
<input type="radio" name=choice id="count_4" value="4. pstats - Dec 3 2014 13:30:33">pstats - Dec 3 2014 13:30:33<br>
</div>
<?php
$dir ="./JDK/";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir ($dh)) !== false) {
echo '<div id="jdk" style="display: none">'. '<input type="checkbox" value=$file>'. $file . "<br>";
}
closedir ($dh);
}
}
echo "</div>";
?>
ประวัติการแก้ไข 2016-06-28 03:36:59 2016-06-28 03:43:17
ต้องเปลียนการต่อ string ของ JDK เพราะ tag id jdk จะมีเท่ากับไฟล์ที่อยู่ใน folder
Code (PHP)
<?php
$dir ="./JDK/";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir ($dh)) !== false) {
echo '<div id="jdk" style="display: none">'. '<input type="checkbox" value=$file>'. $file . "<br>";
}
closedir ($dh);
}
}
echo "</div>";
?>
แก้เป็น
Code (PHP)
<div id="jdk" style="display:none">
<?php
$dir ="./JDK/";
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir ($dh)) !== false) {
echo '<input type="checkbox" value=$file>'. $file . "<br>";
}
closedir ($dh);
}
}
?>
</div>
ส่วน javascript
Code (JavaScript)
<script type="text/javascript">
function showhide() {
var choices = document.getElementById('selectBoxx').value;
var x = 'pstats', y='jdk';
if (choices == 2) { x = 'jdk'; y='pstats';}
document.getElementById(y).style.display='none';
document.getElementById(x).style.display='block';
}
</script>
Date :
2016-06-28 06:28:23
By :
Chaidhanan
ได้แล้วค่ะ ขอบคุณทุกคนนะค่ะ
เอาโค๊ดที่ทำสำเร็จมาเป็นวิทยาทานกับคนอื่นก็น่าจะดีนะครับ
Date :
2016-06-28 09:28:06
By :
Chaidhanan
Load balance : Server 04