2012-05-04 2 views
-2

Я хотел бы использовать следующее:PHP правопреемник mysql_fetch_array (данные) к переменному массиву

$row1 = mysql_fetch_array($genDay[0][0]); 
$row2 = mysql_fetch_array($genDay[0][1]); 
$row3 = mysql_fetch_array($genDay[0][2]); 
$row4 = mysql_fetch_array($genDay[0][3]); 
$row5 = mysql_fetch_array($genDay[0][4]); 
$row6 = mysql_fetch_array($genDay[0][5]); 
$row7 = mysql_fetch_array($genDay[0][6]); 
$row8 = mysql_fetch_array($genDay[1][0]); 
$row9 = mysql_fetch_array($genDay[1][1]); 
$row10 = mysql_fetch_array($genDay[1][2]); 
$row11 = mysql_fetch_array($genDay[1][3]); 
$row12 = mysql_fetch_array($genDay[1][4]); 
$row13 = mysql_fetch_array($genDay[1][5]); 
$row14 = mysql_fetch_array($genDay[1][6]); 

Как это:

$row[$q] = mysql_fetch_array($genDay[$g][$x]); 

В конце концов я хочу использовать это, чтобы повторить результат следующим образом :

<?php echo $row[0]['SUM(itemQty)']; ?> 

Какой из них не работает.

UPDATE Вот код, который я использую в данный момент:

$dayD = array("MonD","TueD","WedD","ThuD","FriD","SatD","SunD"); 
$genre = array("Rock","Metal","Alternative","Modern"); 
$genDay = array(0=>array("Mon","Tue","Wed","Thu","Fri","Sat","Sun"), 
       1=>array("Mon","Tue","Wed","Thu","Fri","Sat","Sun"), 
       2=>array("Mon","Tue","Wed","Thu","Fri","Sat","Sun"), 
       3=>array("Mon","Tue","Wed","Thu","Fri","Sat","Sun")); 

$date = strtotime($_POST['fromDate']); 
$dayD[0] = date('Y-m-d', strtotime("last Monday", $date)); 
$monDSTR = strtotime($dayD[0]); 
$c=0; 

for ($g=0; $g<=3; $g++) 
{ 
    $genDay[$g][0] = mysql_query("SELECT SUM(itemQty) FROM product_sales WHERE itemGenre='" . $genre[$g] . "' AND sale_date BETWEEN '" . $dayD[0] . " 00:00:00' AND '" . $dayD[0] . " 23:59:59'"); 
    for ($x=1; $x<=6; $x++) 
    { 
     $dayD[$x] = date('Y-m-d', strtotime("+" . $x . " day", $monDSTR)); 
     $genDay[$g][$x] = mysql_query("SELECT SUM(itemQty) FROM product_sales WHERE itemGenre='" . $genre[$g] . "' AND sale_date BETWEEN '" . $dayD[$x] . " 00:00:00' AND '" . $dayD[$x] . " 23:59:59'"); 
     /* 
     $cell[$c] = mysql_fetch_array($genDay[$g][$x]); 
     $c++; 
     */ 
    } 
} 

/*echo $cell[0]['SUM(itemQty)'];*/ 

"Эхо $ клеток [0] [ 'SUM (itemQty)'];" отражается в ячейке таблицы.

Что такое код для Код предназначен для заполнения ячеек таблицы с понедельника по вторник с общим объемом продаж этого дня. Где каждый ряд будет другим жанром музыки.

+0

'$ row' является результатом. Вы не можете передавать дополнительные запросы к базе данных в виде ключей для массивов и ожидать получения результата. Что такое '$ genDay'? Что такое '$ g' и' $ x'? Что он должен делать? Больше кода и намерения, пожалуйста. – Seabass

ответ

0

на основе кода в вопросе, это решение, я пошел с:

$rowD = array();  
    $r=0; 
    for ($g=0; $g<=3; $g++) 
    { 
     for ($x=0; $x<=6; $x++) 
     {   
      $row = mysql_fetch_array($genDay[$g][$x]); 
      $rowD[$r] = $row['SUM(itemQty)']; 
      if ($rowD[$r] == "") 
      { 
       $rowD[$r] = 0; 
      } 
      $r++; 
     } 
    } 

    echo "Monday Total Sales: " . $rowD[0]; 
0

mysql_fetch_array() возвращает одну строку из набора записей.

Обычный способ его использования (если вы ожидаете, что в наборе записей будет более одной строки) будет с циклом.

while ($row = mysql_fetch_array($recordset)) { 
    //do something with the $row 
} 
+0

Спасибо, думаю, я просто не понял, как работает mysql_fetch_array(). Нашел рабочее решение. Поставит его, как только я смогу ответить на свой вопрос. – ChrisRSA

Смежные вопросы