2010-08-24 46 views
0

我有點想到從mysql服務器回顯字符串列表。流程將如何進行?我想這是該格式是這樣的:PHP&MySQL - 迴應字符串列表

Name 1 
Name 2 
Name 3 
Name 4 

但是每一個新的名字是在一個新的細胞,我不知道如何從MySQL服務器收集的每一個名字。 PHP是一個很新的語言對我來說請到容易:)

回答

1

查詢表,然後通過生成的數組循環,這個例子是假設列名是「名」

$query = 「SELECT * FROM table」; 
$showresult = mysql_query($query); 

while($results_array = mysql_fetch_assoc($showresult)) 
{ 
    echo "Name ".$results_array["name"]; 
} 
+0

有什麼辦法可以在陣列的完整列表,與所有的名字,而不必附和它一個一個? – lab12 2010-08-25 03:20:50

+0

我不太清楚你的意思,你可以在while循環中打印print_r($ results_array),它將打印每行內的所有內容。 while循環是必需的,因爲它遍歷每一行,否則$ results_array只會獲取第一行的值。 :)起初,這可能有點混亂,請不要猶豫,繼續提問,這就是人們如何學習 – 2010-08-25 19:50:59

0

有在至少三個可以訪問MySQL服務器的擴展模塊:舊的php-mysql模塊,MySQL improved modulePDO with its MySQL driver。 Pete給了你一個「舊」MySQL模塊的例子。讓我用PDO和(server-side) prepared statements告訴你一個例子:

<?php 
$pdo = new PDO('mysql:host=localhost;dbname=test', 'localonly', 'localonly'); 
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
setupTestdata($pdo); 

$stmt = $pdo->prepare('SELECT foo FROM soTest WHERE id<?'); 
$stmt->execute(array(3)); 
while(false!==($row=$stmt->fetch(PDO::FETCH_ASSOC))) { 
    echo $row['foo'], "\n"; 
} 

echo "same statement again, different parameter:\n"; 
$stmt->execute(array(5)); 
while(false!==($row=$stmt->fetch(PDO::FETCH_ASSOC))) { 
    echo $row['foo'], "\n"; 
} 

function setupTestdata($pdo) { 
    $pdo->query('CREATE TEMPORARY TABLE soTest (id int auto_increment, foo varchar(16), primary key(id))'); 
    $pdo->query("INSERT INTO soTest (foo) VALUES ('nameA'), ('nameB'), ('nameC'), ('nameD'), ('nameE')"); 
} 

打印

nameA 
nameB 
same statement again, different parameter: 
nameA 
nameB 
nameC 
nameD