2010-11-30 93 views
1

好吧,所以我有這個page,當在firefox中查看正確的結果顯示出來,但是當我看着它在鉻或Safari瀏覽器它是關閉的。難道是因爲我使用的是時髦的PHP循環,使得它掉在browsers..Here是我的代碼幫助我的時髦的PHP循環

我生成左右array..seems就像一個黑客對我

$left = array(); 
    $right = array(); 
$finaltot=0.00; 
for($i=0;$i<count($steps);$i++) 
{    
$sql="SELECT * FROM configure_system WHERE EstimateID='".$_SESSION['ESTQUOTE']."' AND StepID=".($i+1) ; 
$expstep=ExecuteGetRows($sql); 


if ($i % 2 == 0) { 
     $sql="SELECT SUM(TotalPrice) AS TOT FROM configure_system WHERE EstimateID='".$_SESSION['ESTQUOTE']."' AND StepID=".($i+1); 
     $tots=ExecuteGetRows($sql); 
    $left["Step"][$i][] = $steps[$i]; 
    $left["expstep"][$i][] = $expstep; 
    $left["final_total"][$i][] = $tots[0]['TOT']; 
    $finaltot+=$tots[0]['TOT']; 
    } else {  
    $sql="SELECT SUM(TotalPrice) AS TOT FROM configure_system WHERE EstimateID='".$_SESSION['ESTQUOTE']."' AND StepID=".($i+1); 
    $tots=ExecuteGetRows($sql); 
    $right["Step"][$i][] = $steps[$i]; 
    $right["expstep"][$i][] = $expstep; 
    $left["final_total"][$i][] = $tots[0]['TOT']; 
    $finaltot+=$tots[0]['TOT']; 

} 

則因爲左陣列只有0,2,4,6,8,10 和右邊有1,3,5,7,9,11

所以我的圈都是這樣

<?php for($i=0;$i<count($left['Step']) * 2;$i++) { ?> 
     <?php $i++; ?> 
<?php } ?> 

<?php for($i=1;$i<count($right['Step'])* 2;$i++) { ?> 
     <?php $i++; ?> 
<?php } ?> 

所以你可以看到代碼我有點偏離,我認爲這可能是爲什麼Safari瀏覽器和鉻關閉的問題...任何建議

+0

@馬特:你爲什麼兩個陣列分開他們,做一些造型斑馬愚蠢的問題?如果是的CSS有更好的辦法做到這一點...... – RageZ 2010-11-30 03:49:14

+0

右側的表看起來很好。這是桌子外面的圖像,看起來很扭曲。 – 2010-11-30 03:49:48

回答

1

爲什麼不使用foreach而不是?

foreach ($right['Step'] as $i => $val) { 
    // ... 
} 

而且你可以得到相同的結果只有一個查詢:

SELECT SUM(TotalPrice) AS TOT 
    FROM configure_system 
    WHERE EstimateID='".$_SESSION['ESTQUOTE']."' 
GROUP BY StepID