2010-11-30 41 views
1

Ok, donc j'ai ce page et quand vu dans Firefox, les bons résultats apparaissent, mais quand je regarde en chrome ou safari, il est loin. Se pourrait-il la boucle php géniale que j'utilise qui le rend hors de la browsers..Here est mon codeAide avec ma boucle PHP funky

Je suis la génération d'un array..seems gauche et droite comme un hack pour me

$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']; 

} 

alors depuis le tableau de gauche n'a que 0,2,4,6,8,10 et a droit 1,3,5,7,9,11

donc mes boucles sont comme ça

<?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 } ?> 

Donc comme vous pouvez voir le code i s un peu éteint et je pense que peut-être le problème avec pourquoi safari et chrome sont désactivés ... des suggestions

+0

@ Matt: Question stupide pourquoi vous les séparer en deux choix, faire un peu de style de zèbre? Si oui, CSS a une meilleure façon de le faire ... – RageZ

+0

La table sur la droite me semble bien. Ce sont les images à l'extérieur de la table qui ont l'air vicieuses. –

+0

non ce n'est pas une question stupide .... j'ai une droite et une colonne de gauche et les chances dans le tableau à cause des produits vont sur la droite et les evens vont dans la gauche – Trace

Répondre

1

Pourquoi ne pas utiliser foreach à la place?

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

Aussi, vous pouvez obtenir les mêmes résultats avec une seule requête:

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

Vouliez-vous dire "SELECT *, SUM (TotalPrice)"? – Ben

+1

@Ben: oui. Je lui ai juste donné un indice au sujet du grouppement. Son script me pousse à penser même à réécrire correctement. – zerkms