Scriptproblem!

Maxe

Grünschnabel
Hi!
Vielleicht kann mir hier jemand weiterhelfen?
Folgender Code funktioniert, aber da die Abfrage 180mal gemacht wird, dauert das einfach zu lange!

PHP:
$zahl = 0;
while($zahl <= 179)
{
$query = "SELECT Kstmenge01 FROM kswkst99 where Kstkunde like '$Knummer' and Kstartikel = '$artnr[$zahl]'";
$result = odbc_exec($dbh, $query);
$Menge = odbc_result($result, 1);
$zahl++;
$Unf[$zahl]= $Menge * $faktor[$zahl];
}


Folgender Code funtioniert nicht, aber soll das ganze beschleunigen! Weiß jemand wo der oder die Fehler liegen? habe leider keine Ahnung!

PHP:
$query = "SELECT Kstmenge01 FROM kswkst99";
for($i=0; $i<=179; $i++)
{
if(!$i)
{
$query.= " where ";
} else {
      $query.= " or ";
}
 $query.= "Kstkunde like '$Knummer' and Kstartikel = '$artnr[$i]'";


$result = odbc_exec($dbh, $query);
$Menge = odbc_result($result, 1);
echo $Menge."<br>";
}

Beschleunigt der 2. Code die Abfrage eigentlich wesentlich, oder gibt es da bessere Lösungen?

MFG

Chris
 
Code:
$sql = "SELECT Kstmenge01 FROM kswkst99 ";
for($i=0; $i<=179; $i++)
{
if(!$i)
      $sql.= "\n where ";
 else
      $sql.= "\n or ";

 $sql.= " Kstkunde like '$Knummer' and Kstartikel = '$artnr[$i] '";

} // <------------------------------------------ hier ist die Schleife zuende
$result = odbc_exec($dbh, $sql);
$Menge = odbc_result($result, 1);

So wird der query korrekt gebildet.
 
Thx Holy!

Aber leider funtioniert das immer noch nicht richtig!
$sql wird aufgebaut, aber irgendwie bekomme ich keine Daten raus!
Aber es gibt schonmal keine Fehlermeldung mehr! ;)<?

PHP:
$dbh = odbc_connect('ksw', 'admin', '', SQL_CUR_USE_ODBC);
echo "Connected to db $dbh<br/>";

$Knummer = "110250" ;

$sql = "SELECT Kstmenge01 FROM kswkst99 ";
for($i=0; $i<=179; $i++)
{
if(!$i)
      $sql.= "\n where ";
 else
      $sql.= "\n or ";

 $sql.= " Kstkunde = '$Knummer' and Kstartikel = '$artnr[$i] '";

} // <------------------------------------------ hier ist die Schleife zuende
//echo $sql;


$query = odbc_exec($dbh, $sql);
while($result = odbc_fetch_row($query))
{
   $dasFeld = $result[0];
   echo $dasFeld;
}

?>

Hat vielleicht noch jemand eine Ahnung woran es liegen könnte?

Gruss Chris
 
Zurück