2013-08-27 151 views
0

我想显示在仪表板上只有用户选择的页面分离单列数据获取并从数据库

我在数据库中两列这样

create table users(userid varchar(50), scripts varchar(100)) 
userid column

我将有登录用户名称和scripts column,他们想要在仪表板中以逗号分隔的格式显示它的页面的名称。 例如:总,cust_orders,...

我想从脚本列抓取页面名称分别像total.php, cust_orders.php... 我试图做这样的

$sql = "select scripts from users where userid = '".$_SESSION['UserID']."' "; 

$result = DB_query($sql,$db); 
$myrow = DB_fetch_array($result); 


foreach ($myrow as $res) 
    { 

     $array123[] = $res; 
     $var123 = $array123[0]; 
     $var222 = $array123[1]; 

    } 

,但它不会工作作为网页可以从1至8,有人可以帮我吗?

编辑

我曾经做过这样的

$result = DB_query($sql,$db); 
$myrow = DB_fetch_array($result); 

$arr= $myrow['scripts']; 

$arr1 = explode(',', $myrow['scripts']); 
print_r ($arr1); 

和它的工作,它会显示这样的

Array ([0] => total_dashboard [1] => customer_orders [2] => unpaid_invoice [3] => lat 

但动态我怎么能分开呢,我要加.php对此...

+0

为什么不归你的方案? – Strawberry

+3

如果脚本是以逗号分隔的列表,那么一旦您的数据返回到php中,您可以使用arr = explode(',',$ myrows ['scripts']); – jeff

+0

@jeff:我试过了,但它没有工作 – user2669924

回答

1
$sql = "select scripts from users where userid = '".$_SESSION['UserID']."' "; 
$result = mysql_query($sql,$db); 
while($myrow = mysql_fetch_array($result)) 
{ 
    $arr=explode(',',$myrow["scripts"]);//this will strip the , separated values in an array 
    //now you can fetch the scripts from database 
} 
+0

是的,但我怎样才能为每个页面添加.php。因为我必须分开呐..我没有得到 – user2669924

+0

@ user2669924-:请详细说明你没有得到 – bhawin

+0

@ user2669924-:你必须有与所有这些脚本相关的PHP页面,只需将它们包括在仪表板中PHP包括 – bhawin

0

您可以使用PHP - explode像:

while ($myrow = mysql_fetch_object($result)) 
{ 
    // $myrow->scripts = "text1.php,text2.php,text3.php"; 
    $scripts = explode(',', $myrow->scripts); 
} 

所以$scripts然后将包含每个PHP页/ Skript作为数组中自己的位置。

$scripts[0] = "text1.php"; 
$scripts[1] = "text2.php"; 
$scripts[2] = "text3.php"; 
+0

但如果用户选择多3页,那么它是如何工作的?它应该动态地发生呐,我没有得到 – user2669924

+0

'$ scripts'是动态的。如果他选择了3,5或0页,则不需要。 – Martin