จากตารางของดาต้าเบส จะเป็นประมาณนี้นะคะ
นี่คือโค้ดที่เรา select ข้อมูลจาก DB นะคะ
<?php
include'config.php';
$strSql="SELECT select_number FROM luckygames WHERE game_id";
$query = mysql_query($strSql);
$num = mysql_num_rows($query);
for ($i = 0;$i<$num;$i++) {
$result1 = mysql_fetch_array($query);
var_dump($result1);
}
?>
เมื่อเรา var_dump ออกมาก็แสดงทุกค่าที่อยู่ในฟิลด์ select_number เป็นดังนี้ค่ะ
array(2) { [0]=> string(2) "82" ["select_number"]=> string(2) "82" } array(2) { [0]=> string(2) "44" ["select_number"]=> string(2) "44" } array(2) { [0]=> string(2) "49" ["select_number"]=> string(2) "49" }
แต่เมื่อเรานำมาเข้าร่วมกับโค้ดใหม่ที่มีการวนลูปเพื่อจะตรวจสอบเปรียบเทียบค่า พอ var_dump ออกมา ทำไมถึงแสดงแค่ค่าแรกที่มีการ insert เข้าไปคือแสดงแค่เลข 82
เป็นดังนี้ค่ะ
array(2) { [0]=> string(2) "82" ["select_number"]=> string(2) "82" }
นี่คือโค้ดที่มีการนำมาวนลูปค่ะ
<?php
include "config.php";
$get_id = (isset($_GET['id'])) ? $_GET['id'] : '';
$strSql="SELECT select_number FROM luckygames WHERE game_id"; //ตรงนี้คือที่ select มาค่ะ
$query = mysql_query($strSql);
$result1 = mysql_fetch_array($query);
//$num = mysql_num_rows($query);
//for ($i = 0;$i<$num;$i++) {
var_dump($result1);
$string = "SELECT * FROM reward1 ORDER BY game_id DESC limit 1"; // ตรงนี้ select แล้วนำมาวนลูปเพื่อสร้างตารางค่ะ
$query_string = mysql_query($string);
while($result = mysql_fetch_array($query_string))
{
for ($i=1; $i<=$result["number"]; $i++){ //ตรงนี้วนลูปมาจาก SELECT * FROM reward1 เพื่อทำเป็นช่องตารางที่มีตัวเลขค่ะ
if($i==$result1["select_number"]){ //ตรงนี้นำมาเปรียบเทียบค่า ถ้า ค่าของ $i ตรงกับข้อมูลตัวเลขที่อยู่ในฟิลด์ select_number
echo '<li id='.$i.' class="selected">'.$i.'</li>'; //สีของช่องตารางจะเปลี่ยนตาม class ใน css
}else{
echo '<li id='.$i.'><a href="javascript:;" class="">'.$i.'</a></li>';
}
}
}
?>
ภาพจะเป็นประมาณนี้ค่ะ
จะขึ้นสีฟ้าเมื่อมีคนเลือกไปแล้วอ่ะค่ะตามในฟิลด์ select_number
อยากให้ช่องตัวเลข 82 44 49 เป็นสีฟ้าอ่ะค่ะ แต่เป็นสีฟ้าแค่ช่องที่ 82 อย่างเดียว
ไม่รู้ว่าเราใส่โค้ดตรงไหนผิดรึป่าว จะมีวิธีแก้ใขยังไงให้ค่าตัวเลขในฟิลด์ select_number ออกมาหมดทุกแถว ไม่ใช่แค่แถวแรกที่ insert เข้าไปค่ะ รบกวนช่วยดูด้วยนะคะ ขอบคุณมากค่ะ
select ข้อมูลจาก DB แต่ทำไมมาแค่แถวเดียว มีวิธีแก้ไขยังไงคะ
นี่คือโค้ดที่เรา select ข้อมูลจาก DB นะคะ
<?php
include'config.php';
$strSql="SELECT select_number FROM luckygames WHERE game_id";
$query = mysql_query($strSql);
$num = mysql_num_rows($query);
for ($i = 0;$i<$num;$i++) {
$result1 = mysql_fetch_array($query);
var_dump($result1);
}
?>
เมื่อเรา var_dump ออกมาก็แสดงทุกค่าที่อยู่ในฟิลด์ select_number เป็นดังนี้ค่ะ
array(2) { [0]=> string(2) "82" ["select_number"]=> string(2) "82" } array(2) { [0]=> string(2) "44" ["select_number"]=> string(2) "44" } array(2) { [0]=> string(2) "49" ["select_number"]=> string(2) "49" }
แต่เมื่อเรานำมาเข้าร่วมกับโค้ดใหม่ที่มีการวนลูปเพื่อจะตรวจสอบเปรียบเทียบค่า พอ var_dump ออกมา ทำไมถึงแสดงแค่ค่าแรกที่มีการ insert เข้าไปคือแสดงแค่เลข 82
เป็นดังนี้ค่ะ
array(2) { [0]=> string(2) "82" ["select_number"]=> string(2) "82" }
นี่คือโค้ดที่มีการนำมาวนลูปค่ะ
<?php
include "config.php";
$get_id = (isset($_GET['id'])) ? $_GET['id'] : '';
$strSql="SELECT select_number FROM luckygames WHERE game_id"; //ตรงนี้คือที่ select มาค่ะ
$query = mysql_query($strSql);
$result1 = mysql_fetch_array($query);
//$num = mysql_num_rows($query);
//for ($i = 0;$i<$num;$i++) {
var_dump($result1);
$string = "SELECT * FROM reward1 ORDER BY game_id DESC limit 1"; // ตรงนี้ select แล้วนำมาวนลูปเพื่อสร้างตารางค่ะ
$query_string = mysql_query($string);
while($result = mysql_fetch_array($query_string))
{
for ($i=1; $i<=$result["number"]; $i++){ //ตรงนี้วนลูปมาจาก SELECT * FROM reward1 เพื่อทำเป็นช่องตารางที่มีตัวเลขค่ะ
if($i==$result1["select_number"]){ //ตรงนี้นำมาเปรียบเทียบค่า ถ้า ค่าของ $i ตรงกับข้อมูลตัวเลขที่อยู่ในฟิลด์ select_number
echo '<li id='.$i.' class="selected">'.$i.'</li>'; //สีของช่องตารางจะเปลี่ยนตาม class ใน css
}else{
echo '<li id='.$i.'><a href="javascript:;" class="">'.$i.'</a></li>';
}
}
}
?>
ภาพจะเป็นประมาณนี้ค่ะ
จะขึ้นสีฟ้าเมื่อมีคนเลือกไปแล้วอ่ะค่ะตามในฟิลด์ select_number
อยากให้ช่องตัวเลข 82 44 49 เป็นสีฟ้าอ่ะค่ะ แต่เป็นสีฟ้าแค่ช่องที่ 82 อย่างเดียว
ไม่รู้ว่าเราใส่โค้ดตรงไหนผิดรึป่าว จะมีวิธีแก้ใขยังไงให้ค่าตัวเลขในฟิลด์ select_number ออกมาหมดทุกแถว ไม่ใช่แค่แถวแรกที่ insert เข้าไปค่ะ รบกวนช่วยดูด้วยนะคะ ขอบคุณมากค่ะ