Avatar billede doncarnage Nybegynder
16. november 2010 - 15:04 Der er 1 løsning

Omskrive et kodestykke til uden brug af querystrings

Kære eksperter,

I et mindre CRM system har jeg nedenstående i en fil, hvor formålet er at slette de midlertidige produkter korrekt og smide antallet tilbage igen alt afhængigt af om de er "afhængige" af andre produkter i samme produktgruppe eller ej. Det virker som det skal.

<?php

$queryU = mysql_query("SELECT * FROM tbl_units WHERE UnitGroupID ='".$_GET['group']."' ") or die(mysql_error());
$queryTal = mysql_query("SELECT count(*) AS sammenhaeng FROM tbl_units WHERE UnitGroupID ='".$_GET['group']."' ") or die(mysql_error());

$queryAmount = mysql_query("SELECT * FROM tbl_invoice INNER JOIN tbl_invoicegroup ON tbl_invoicegroup.InvoiceGroupID = tbl_invoice.InvoiceGroupID WHERE InvoiceID ='".$_GET['id']."'") or die(mysql_error());
$den_rigtige_amount = mysql_fetch_array($queryAmount);
$den_rigtige_amount = $den_rigtige_amount['Amount'];

  $tal = mysql_fetch_array($queryTal);

  if ($tal['sammenhaeng'] == 0){
 
  mysql_query("UPDATE tbl_units SET AmountInStock = AmountInStock + '". $den_rigtige_amount ."' WHERE ProductID ='".$_GET['p']."'") or die(mysql_error());

  } else {

    $queryP = mysql_query("SELECT ProductID, Units FROM tbl_units WHERE ProductID ='".$_GET['p']."' ") or die(mysql_error());
    $det_rigtige_produkt_id = mysql_fetch_array($queryP);
    $det_rigtige_produkt_id = $det_rigtige_produkt_id['Units'];

    while ($rowU = mysql_fetch_assoc($queryU)) {
      $query= mysql_query("UPDATE tbl_units SET AmountInStock = '".$rowU['AmountInStock']."' + (((100/'".$rowU['Units']."') * '". $den_rigtige_amount ."') * ('". $det_rigtige_produkt_id."'/100)) WHERE UnitID ='".$rowU['UnitID']."'") or die(mysql_error());
    }
  }
?>


Men som man kan se hentes forskellige id's ud fra querystrings ($_GET['p'], $_GET['group'] og $_GET['id']).

Mit spørgsmål lyder derfor på hvordan jeg får skrevet det om til at lave præcis det samme, men hvor det ikke henter informationer/id's ud fra disse querystrings?

Den skal i stedet hente ud fra databasen, men der må dog godt være en enkelt querystring med som indikerer hvilket [InvoiceGroupID] man har med at gøre.


Jeg har smidt et link op af databasestrukturen, så man kan se hvilke rækker, der ligger hvor i tabellerne: www.valuable.dk/crmhelp.jpg
Avatar billede doncarnage Nybegynder
16. november 2010 - 18:21 #1
Lukker igen, da det langt om længe selv lykkedes mig at få det gjort med hjælp fra en ven!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester