douhuai2015 2013-02-12 18:35
浏览 33
已采纳

从数组中回显特定行

I currently have a table like the one below.

ID  adPlacement     filePath    dateAdded   adName  adLink
12  1           Test 1.png  2013-02-12  Test 1  http://www.cuad.coop
13  1           Test 2.png  2013-02-12  Test 2  http://www.google.com

I am trying to randomly select a row and echo out the adName, adLink, and filePath all on separate echo statements.

Here is the code I am using right now:

$query_adSpot1 = "SELECT * FROM advertisements WHERE adPlacement = 1";
$result = mysql_query($query_adSpot1, $server) or die(mysql_error());
while($row = mysql_fetch_array($result)){
$row = array(
    'adName' => $row['adName'],
    'filePath' => $row['filePath'],
    'adLink' => $row['adLink']
);
$fileLocation = $row;
$fileLocations[] = $fileLocation;   
}
shuffle($fileLocation);
echo $fileLocation[0];

Right now when I run the script it will write test 2.png, or test 2, or http://www.google.com.

I want to be able to echo separately from a random row, but need the separate columns to equal same row.

echo filePath
echo adName
echo adLink
  • 写回答

2条回答 默认 最新

  • doulei1965 2013-02-12 18:41
    关注

    You are shuffling the wrong array, you should be using:

    shuffle($fileLocations);
                         ^ This is the one with all your values
    var_dump($fileLocations[0]);
    // will show you an array with 3 elements from the same row in the database
    

    What you are doing is re-ordering the last row found in your sql query.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?