Har brug for at kunne søge i 2 tabeller men ved ik lige hvordan?
HejsaJeg sidder og er igang med at lave en søgning af ordrer i et system.
Det er bygget således op at der er noget info som godt kan høre til flere ordre på én gang. Det info ligger i tabellen: Orderinfo.
Derudover er der "selve ordrene" som ligger i tabellen: Orderlines. Hvis der er flere ordre med samme info, har de det samme ordrenummer. Og sorteres med phpkode således de får et bogstav efter nummeret. ex: XC34034A og XC34034B..C..D..E..F.. er der kun én ordre får den ikke noget bogstav.
Her er koden lige.. bare stil nogle spørgsmål :-).
Det er lidt af en tænke opgave.
$this->xcomp = new xcomp;
//Lister søgningen ud
$sqlOrderLines = $this->mysql->Query("select * from orderlines where orderno like '".$_POST["XC"]."%'");
while($rsOrderLines = $this->mysql->Record($sqlOrderLines))
{
//Tjekker i tabellen ud fra det forrige while om de enkelte ordre, om der findes flere eller kun en.
$sqlOrderLineNum = $this->mysql->Query("select * from orderlines where orderno='".$rsOrderLines["orderno"]."'");
$num = $this->mysql->NumRows($sqlOrderLineNum); //Tæller Rows i søgningen efter orderno
if($num == 1)
{
//Hvis der kun er én ordre med det orderno (XC*** uden **ABC) kører alt nedenfor her:
//Henter data fra Orderinfo tabellen i database til denne row
$sqlOrderInfo = $this->mysql->Query("SELECT * FROM orderinfo WHERE orderno='".$rsOrderLines["orderno"]."'");
$rsOrderInfo = $this->mysql->Record($sqlOrderInfo);
//Udskriver rækkerne
$letter = ""; //Er ingenting fordi der kun var én række af orderno
$text .= "<tr style=\"background-color: $bgcolor; height: 20px;\">";
$text .= "<td><a href=\"?action=orderinfo&id=".$rsOrderLines["id"]."\">".$this->xcomp->GetOrderTag($rsOrderInfo["tagid"], "tag").$rsOrderLines["orderno"].$letter."</a></td>
<td>".$this->xcomp->GetCustomerInfo($rsOrderInfo["customerid"], "company")."</td>
<td>".$this->xcomp->GetBrandInfo($rsOrderLines["brand"], "brand")."</td>
<td>".$rsOrderInfo["custorderno"]."</td>
<td>".$rsOrderLines["styleno"]."</td>
<td>".$rsOrderLines["description"]."</td>
<td>".$rsOrderLines["type"]."</td>
<td>".$rsOrderLines["qty"]."</td>
<td>".$rsOrderInfo["orderdate"]."</td>
<td>".$rsOrderInfo["deliverydate"]."</td>";
if($rsOrderInfo["expecteddate"] == "0000-00-00")
$text .= "<td>Date not defined</td>";
else
$text .= "<td>".$rsOrderInfo["expecteddate"]."</td>";
$text .= "</tr>";
}
else
{
$i=1; //Fordi A i ABCaddon har arrayid = 1;
//Kører en while på forrige forspørgsel om hvor mange orderno er er i tabellen, fordi der er mere end 1.
while($rsOrderLineNum = $this->mysql->Record($sqlOrderLineNum))
{
$letter = $this-ABCaddon($i); //Henter bogstavet fra ABCaddon();
if($rsOrderLineNum["id"] == $rsOrderLines["id"]) //Når den finder den rigtige ordre efter søgningen, placerer den det rigtige bogstav på.
{
//Henter data fra Orderinfo tabellen i database til denne row
$sqlOrderInfo = $this->mysql->Query("SELECT * FROM orderinfo WHERE orderno='".$rsOrderLines["orderno"]."'");
$rsOrderInfo = $this->mysql->Record($sqlOrderInfo);
//Udskriver rækkerne
$text .= "<tr style=\"background-color: $bgcolor; height: 20px;\">";
$text .= "<td><a href=\"?action=orderinfo&id=".$rsOrderLines["id"]."\">".$this->xcomp->GetOrderTag($rsOrderInfo["tagid"], "tag").$rsOrderLines["orderno"].$letter."</a></td>
<td>".$this->xcomp->GetCustomerInfo($rsOrderInfo["customerid"], "company")."</td>
<td>".$this->xcomp->GetBrandInfo($rsOrderLines["brand"], "brand")."</td>
<td>".$rsOrderInfo["custorderno"]."</td>
<td>".$rsOrderLines["styleno"]."</td>
<td>".$rsOrderLines["description"]."</td>
<td>".$rsOrderLines["type"]."</td>
<td>".$rsOrderLines["qty"]."</td>
<td>".$rsOrderLines["orderdate"]."</td>
<td>".$rsOrderInfo["deliverydate"]."</td>";
if($rsOrderInfo["expecteddate"] == "0000-00-00")
$text .= "<td>Date not defined</td>";
else
$text .= "<td>".$rsOrderInfo["expecteddate"]."</td>";
$text .= "</tr>";
}
$i++;
}
}
}
$key[] = "data";
$val[] = $text;
$key[] = "orderno";
$val[] = $this->string["orderno"];
$key[] = "customer";
$val[] = $this->string["customer"];
$key[] = "brand";
$val[] = $this->string["brand"];
$key[] = "customerno";
$val[] = $this->string["customer_orderno"];
$key[] = "styleno";
$val[] = $this->string["styleno"];
$key[] = "description";
$val[] = $this->string["description"];
$key[] = "type";
$val[] = $this->string["type"];
$key[] = "quantity";
$val[] = $this->string["qty"];
$key[] = "orderdate";
$val[] = $this->string["orderdate"];
$key[] = "deliverydate";
$val[] = $this->string["deliverydate"];
$key[] = "expected_send_date";
$val[] = $this->string["expected_send_date"];
echo $this->template->hent_template($key, $val, "list_running_orders");
}
