php調用資料

來源:互聯網
上載者:User
$prize_arr = array(

'0' => array('id'=>1,'degree'=>1,'min'=>1,'max'=>5,'prize'=>'一等獎','v'=>1),
'1' => array('id'=>2,'degree'=>32,'min'=>7,'max'=>35,'prize'=>'不要灰心','v'=>1),
'2' => array('id'=>3,'degree'=>62,'min'=>37,'max'=>65,'prize'=>'不要灰心和祝您好運的空白','v'=>1),
'3' => array('id'=>4,'degree'=>92,'min'=>67,'max'=>95,'prize'=>'祝您好運','v'=>1),
'4' => array('id'=>5,'degree'=>122,'min'=>97,'max'=>125,'prize'=>'二等獎','v'=>89),
'5' => array('id'=>6,'degree'=>150,'min'=>127,'max'=>155,'prize'=>'再接再勵','v'=>1),
'6' => array('id'=>7,'degree'=>178,'min'=>157,'max'=>185,'prize'=>'再接再勵和運氣先藏著中間的空白','v'=>1),
'7' => array('id'=>8,'degree'=>208,'min'=>187,'max'=>215,'prize'=>'運氣先藏著','v'=>1),
'8' => array('id'=>9,'degree'=>238,'min'=>217,'max'=>245,'prize'=>'三等獎','v'=>1),
'9' => array('id'=>10,'degree'=>266,'min'=>247,'max'=>275,'prize'=>'要加油哦','v'=>1),
'10' => array('id'=>11,'degree'=>298,'min'=>277,'max'=>305,'prize'=>'要加油哦和謝謝參與間的空白','v'=>1),
'11' => array('id'=>12,'degree'=>330,'min'=>307,'max'=>335,'prize'=>'謝謝參與','v'=>1)

);
這個要怎麼從資料庫調用呢 資料庫我已經填寫完了 試了試沒調用成功 調用那些數字和文字
id xg degree min max prize chance 這是資料庫對應的名稱


回複討論(解決方案)

....$rs = mysql_query("id, xg, degree, min, max, prize, chance from tbl_name");while($r = mysql_fetch_assoc($rs)) {  $prize_arr[] = $r;}

....$rs = mysql_query("id, xg, degree, min, max, prize, chance from tbl_name");while($r = mysql_fetch_assoc($rs)) {  $prize_arr[] = $r;}


$prize_arr = array(
....
...
...
};
替換成
$rs = mysql_query("id, xg, degree, min, max, prize, chance from magic_config");
while($r = mysql_fetch_assoc($rs)) {
$prize_arr[] = $r;
} 沒起作用?
我是菜鳥 還在學習 請指點!

$rs = mysql_query("select id, xg, degree, min, max, prize, chance from tbl_name");
tbl_name 是表名,安實際填寫

magic_config 我已經更換啦

/**連結資料庫**/error_reporting(E_ALL & ~E_NOTICE);ob_start();session_start();require_once("config.php");header("Content-Type:text/html;charset=utf-8"); /**$prize_arr =array('error'=>'true','success'=>'false','sn'=>'null'); //這是失敗的echo json_encode($prize_arr);  **/$ac=$_REQUEST['ac'];if($ac=='activityuser_sn'){$prize_arr =array('success'=>'true'); //這是提交後填寫訂單成功的echo json_encode($prize_arr);}else{$order_sn=date("Y").date("m").date("d").date("H").date("i").date("s").rand(1,99);/**我們根據抽獎圓盤上的獎項設定對應角度和中獎幾率,我們在index.php中構建一個多維陣列$prize_arr,數組$prize_arr,id用來標識不同的獎項,degree表示轉動的度數,min表示圓盤中各獎項區間對應的最小角度,max表示最大角度,如一等獎對應的最小角度:0,最大角度30,這裡我們設定max值為1、max值為29,是為了避免抽獎後指標指向兩個相鄰獎項的中線。由於圓盤中設定了多個七等獎,所以我們在數組中設定每個七等獎對應的角度範圍。prize表示獎項內容,v表示中獎幾率,我們會發現,數組中12個獎項的v的總和為100,如果v的值為1,則代表中獎幾率為1%,依此類推。在這裡我沒有用max和min的轉動範圍,直接指向的是degree度數**//**var prizeDeg = [6,36, 66, 96, 126,156, 186, 216,246, 276, 306, 336];//這是我修改後的,其實不起作用了將6改為1將36改為32將66改為62將96改為92將126改為122將156改為150將186改為178將216改為208將246改為238276改為266將306改為298將336改為330**/$rs = mysql_query("praisefeild,id,praisenumber,min,max,praisename,chance from magic_config");while($r = mysql_fetch_assoc($rs)) {  $prize_arr[] = $r;}/**關於中獎機率演算法**/function getRand($proArr) { $result = '';  //機率數組的總機率精度 $proSum = array_sum($proArr);  //機率數組迴圈 foreach ($proArr as $key => $proCur) { $randNum = mt_rand(1, $proSum); if ($randNum <= $proCur) { $result = $key; break; } else { $proSum -= $proCur; } } unset ($proArr);  return $result; } /**函數getRand()會根據數組中設定的幾率計算出合格id,我們可以接著調用getRand()。代碼中,我們調用getRand(),獲得通過機率運算後得到的獎項,然後根據獎項中配置的角度範圍,在最小角度和最大角度間產生一個角度值,並構建數組,包含角度angle和獎項prize,最終以json格式輸出。**/foreach ($prize_arr as $key => $val) { $arr[$val['id']] = $val['v']; }  $rid = getRand($arr); //根據機率擷取獎項id   $res = $prize_arr[$rid-1]; //中獎項 $degree=$res['degree']; $min = $res['min']; $max = $res['max']; /**if($res['id']==7){ //七等獎 $i = mt_rand(0,5); $result['angle'] = mt_rand($min[$i],$max[$i]); }else{ $result['angle'] = mt_rand($min,$max); //隨機產生一個角度 } $result['prize'] = $res['prize'];   **/if($res['id']==1){$result_arr =array('error'=>'','success'=>'true','prizetype'=>1,'sn'=>$order_sn,'msg'=>$res['prize']); //這是成功的}elseif($res['id']==2){$result_arr =array('error'=>'true','success'=>'false','sn'=>'null','msg'=>$res['prize']); //這是失敗的}elseif($res['id']==3){$result_arr =array('error'=>'true','success'=>'false','sn'=>'null','msg'=>$res['prize']); //這是失敗的}elseif($res['id']==4){$result_arr =array('error'=>'true','success'=>'false','sn'=>'null','msg'=>$res['prize']); //這是失敗的}elseif($res['id']==5){$result_arr =array('error'=>'','success'=>'true','prizetype'=>5,'sn'=>$order_sn,'msg'=>$res['prize']); //這是成功的}elseif($res['id']==6){$result_arr =array('error'=>'true','success'=>'false','sn'=>'null','msg'=>$res['prize']); //這是失敗的}elseif($res['id']==7){$result_arr =array('error'=>'true','success'=>'false','sn'=>'null','msg'=>$res['prize']); //這是失敗的}elseif($res['id']==8){$result_arr =array('error'=>'true','success'=>'false','sn'=>'null','msg'=>$res['prize']); //這是失敗的}elseif($res['id']==9){$result_arr =array('error'=>'','success'=>'true','prizetype'=>9,'sn'=>$order_sn,'msg'=>$res['prize']); //這是成功的}elseif($res['id']==10){$result_arr =array('error'=>'true','success'=>'false','sn'=>'null','msg'=>$res['prize']); //這是失敗的}elseif($res['id']==11){$result =array('error'=>'true','success'=>'false','sn'=>'null','msg'=>$res['prize']); //這是失敗的}elseif($res['id']==12){$result_arr =array('error'=>'true','success'=>'false','sn'=>'null','msg'=>$res['prize']); //這是失敗的}$result_arr['angle'] = mt_rand($min,$max); //隨機產生一個角度 ,這是以前的$result_arr['angle']=$degree; //直接產生一個數組裡固定的角度echo json_encode($result_arr); }

print_r($prize_arr);

把資料庫名字改了下 都是對應的

print_r($prize_arr);

$rs = mysql_query("praisefeild,id,praisenumber,min,max,praisename,chance from magic_config");
while($r = mysql_fetch_assoc($rs)) {
print_r($prize_arr);
} 這樣嗎 還是不行

$rs = mysql_query(" select praisefeild,id,praisenumber,min,max,praisename,chance from magic_config");

$rs = mysql_query(" select praisefeild,id,praisenumber,min,max,praisename,chance from magic_config");



$rs = mysql_query("select praisefeild,id,praisenumber,min,max,praisename,chance from magic_config");
while($r = mysql_fetch_assoc($rs)) {
$prize_arr[] = $r;
}和
$rs = mysql_query("select praisefeild,id,praisenumber,min,max,praisename,chance from magic_config");
while($r = mysql_fetch_assoc($rs)) {
print_r($prize_arr);
}都試了試 還是不行 $rs = mysql_query("select * praisefeild,id,praisenumber,min,max,praisename,chance from magic_config"); 也不行..

//前面還有串連資料庫的代碼$rs = mysql_query("select praisefeild,id,praisenumber,min,max,praisename,chance from magic_config") or die(mysql_error());while($r = mysql_fetch_assoc($rs)) { $prize_arr[] = $r;}print_r($prize_arr);

//前面還有串連資料庫的代碼$rs = mysql_query("select praisefeild,id,praisenumber,min,max,praisename,chance from magic_config") or die(mysql_error());while($r = mysql_fetch_assoc($rs)) { $prize_arr[] = $r;}print_r($prize_arr);


$conn=@mysql_connect("localhost","root","q123456");if($conn==null)die("資料庫連接失敗");mysql_query("set names 'gb2312'");if(!mysql_select_db("zhuanpan")){die("資料庫連接失敗");}$rs = mysql_query("select praisefeild,id,praisenumber,min,max,praisename,chance from magic_config") or die(mysql_error());while($r = mysql_fetch_assoc($rs)) { $prize_arr[] = $r;}
幾率還是控制不了
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.