显示来自MySQL的多个值

时间:2018-10-04 11:50:54

标签: php mysql


Iam是PHP的新手
这是“我的餐桌”的景象。Click Here to see Sceenshot
我想显示“教育”的所有值。

如:

 My 1st value is 53
 My 2nd value is 43
 My 3rd value is 57
 My 4th value is 44

2 个答案:

答案 0 :(得分:1)

u_mulder 所指出的,您可以使用explode将字符串拆分为值数组,然后遍历该列表-http://php.net/manual/en/function.explode.php

下面,我定义了一个名为ordinal的新函数,该函数将输出给定编号的 1、2nd,3rd等。

除此之外,您可以sprintf用占位符格式化字符串。

示例 http://sandbox.onlinephpfunctions.com/code/1459ec55d6bc9f28a03645625a22261ede093342

编辑 添加了代码以打开错误报告。

<?php

// Turn on error reporting
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

// Turn MySQL errors into PHP exceptions
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

// Establish DB connection
$db = new mysqli("localhost","username","password","dbname");
$sql = "select * from tbldatingusermaster order by userid desc";
$result = $db->query($sql);

while($data = $result->fetch_object()){
    // Split the list of values into an array
    $arrayOfEducationValues = explode(',', $data->education);

    // Define what you want your output to look like.
    $format = "My %s value is %d \n";

    // Loop over the list of values and then output each one using the 
    // formatted string
    foreach ($arrayOfEducationValues as $key => $education) {
        // `$key` here refers to current index of the array. Since
        // array idexes usually start at 0 you need to add `1` to it.
        echo sprintf($format, ordinal($key+1), $education);
    }
}

/*
* Taken from https://stackoverflow.com/a/3110033/296555
*/
function ordinal($number) {
    $ends = array('th','st','nd','rd','th','th','th','th','th','th');
    if ((($number % 100) >= 11) && (($number%100) <= 13))
        return $number. 'th';
    else
        return $number. $ends[$number % 10];
}

答案 1 :(得分:0)

$education = explode(',', $data->education); // explode it using comma 

for($i=0;$i<count($education);$i++){ // iterate the array
    echo $education[$i];
 }