2016-02-18 146 views
-2

下面的代碼從數據庫表中選擇行,但我想選擇10個隨機行,並將它們放置在輸出變量中,如下面的代碼。特別是不要csv,但要模仿下面的代碼。如何將我的PHP結果放入輸出變量中?

$result = mysqli_query($dbc, "SHOW COLUMNS FROM customer"); 
$numberOfRows = mysqli_num_rows($result); 
if ($numberOfRows > 0) { 
    $values = mysqli_query($dbc, "SELECT * FROM customer"); 
    while ($rowr = mysqli_fetch_row($values)) { 
    for ($j=0;$j<$numberOfRows;$j++) { 
     $csv_output .= $rowr[$j].", "; 
    } 
    $csv_output .= "\n"; 
    } 

    } 

print $csv_output; 
exit; 

首先,我想選擇10個隨機行然後輸出他們像上面的代碼。

我的代碼:

<?php 

DEFINE ('DBUSER', ''); 
DEFINE ('DBPW', ''); 
DEFINE ('DBHOST', ''); 
DEFINE ('DBNAME', ''); 

$dbc = mysqli_connect(DBHOST,DBUSER,DBPW); 
if (!$dbc) { 
    die("Database connection failed: " . mysqli_error($dbc)); 
    exit(); 
} 

$dbs = mysqli_select_db($dbc, DBNAME); 
if (!$dbs) { 
    die("Database selection failed: " . mysqli_error($dbc)); 
    exit(); 
} 

$query = 'Select * FROM Funsies 
Order By Rand() 
Limit 5'; 

$result = mysqli_query($dbc, $query); 
?> 
+2

找到PHP \ MySQL的 –

+0

基本教程你推薦比W3Schools的SQL什麼更先進? –

回答

0
SELECT name 
    FROM random AS r1 JOIN 
     (SELECT (RAND() * 
        (SELECT MAX(id) 
         FROM random)) AS id) 
     AS r2 
WHERE r1.id >= r2.id 
ORDER BY r1.id ASC 
LIMIT 1 
INTO OUTFILE 'c:\\users\\desktop\\file_name.csv' 
fields TERMINATED BY ',' enclosed by '"' 
LINES TERMINATED BY '\r\n'; 
+0

如何將它檢索到的十行放入$ csv_output中,如頂級代碼? –