 |
ถามเรื่องการรัน เลขแบบมีตัวอักษรด้วยค่ะ ช่วยดูทีนะคะ มีตัวอย่าง |
|
 |
|
|
 |
 |
|
อยากให้มันมี S คิดแบบทื่อ ๆ แต่ใช้งานได้ เพิ่มคอลัมภ์ เก็บ s อย่างเดียวได้ไหมครับ
ไม่ต้องยุ่งกับตัวเลข แต่ตอนแสดงผลก็คิวรี่เพิ่ม ค่อยเอา s มาวางด้านหน้าตามด้วยตัวเลข.....
ผมว่าง่ายอ่ะ แต่อาจไม่โดนใจ

|
 |
 |
 |
 |
Date :
2013-11-20 08:33:03 |
By :
apisitp |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ช่วยดันค่ะ
|
 |
 |
 |
 |
Date :
2013-11-20 08:56:17 |
By :
pampam |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
$Std_value="S".sprintf("%02d",$new_Std_value);//ถ้าไม่ใช่ค่าว่าง
ที่ระบุว่า "%02d" ความหมายมันคือสร้างตัวเลข 2 หลัก
ถ้าตัวเลขไหนไม่ถึง 2 หลักมันจะจัดการเติม 0 ไว้ข้างหน้าอัตโนมัติ
แล้วทีนี้ 100 กับ 101 มันมากเกินกำหนดแล้วมั้งครับ?
|
 |
 |
 |
 |
Date :
2013-11-20 09:55:39 |
By :
{Cyberman} |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
<?php
for($i=0;$i<200;$i++){
$Std_value = $i;
$new_Std_value = intval($Std_value);
echo $Std_value="<br>S".sprintf("%02d",$new_Std_value);
}
?>
ทดลองมาละ sprintf ไม่มีปัญหา
ปัญหาอาจจะเกิดก่อนหน้านี้ ตอนที่คิวรี่ข้อมูลออกมา
|
 |
 |
 |
 |
Date :
2013-11-20 10:02:41 |
By :
{Cyberman} |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใช้ preg_replace('/[^\d]/', '', $TEST); ตัดทุกอย่างที่มิไช่ตัวเลขออกไป
ทดสอบการใช้งาน โดยสร้าง Loop มาบวกเพื่อทดสอบความถูกต้อง
<?
$TEST= "Ssdafก่หาดกหดdf1";
$i = 0;
while ($i<150) {
$TEST=preg_replace('/[^\d]/', '', $TEST);
$XX+=$TEST;
echo $XX."<BR>";
$i++; }
?>
|
 |
 |
 |
 |
Date :
2013-11-20 11:42:12 |
By :
meannerss |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณค่ะ เด่วจะลองทำดูนะคะ 
|
 |
 |
 |
 |
Date :
2013-11-20 11:45:08 |
By :
pampam |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่มีใครสนคำตอบเราเลย.....ยังยืนยัน เก็บ S แยกเถอะครับ 555+
|
 |
 |
 |
 |
Date :
2013-11-20 12:08:23 |
By :
apisitp |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ก็เค้าไม่มาตอบ นิ่ว่าเก็บ S อย่างเดียว หรือ เปลี่ยนไปเรื่อย ๆ น้อยใจล่ะ ไปกินสเต็กซานตาเฟ่ต์ดีกว่า ชิชิ....555+
|
 |
 |
 |
 |
Date :
2013-11-20 12:23:03 |
By :
apisitp |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
$sql = "select IFNULL(CONCAT('S',case when (select max(CONVERT(replace(Std_value,'S',''), SIGNED INTEGER))+1 from standardvalue) < 10 then CONCAT('0',(select max(CONVERT(replace(Std_value,'S',''), SIGNED INTEGER))+1 from standardvalue)) else (select max(CONVERT(replace(Std_value,'S',''), SIGNED INTEGER))+1 from standardvalue) end),CONCAT('S','01') )"
|
 |
 |
 |
 |
Date :
2013-11-22 16:42:48 |
By :
เรก |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|