Avatar billede fancy Mester
19. april 2008 - 20:27 Der er 4 kommentarer og
1 løsning

update af hovedlager

hvordan for jeg flettet ind i denne fil at jeg vil trække det som kommer på faturaen fra mit hovedlager hvor jeg jeg har et felt navn der hedder antal_lager jeg har prøver med update men kan ikke få det til at virke

<?php






//hent salgssted id.
$salgs_sted_id = $_GET['id'];

$action = $_GET['action'];

//se om vi mangler at vælge et salgssted...
if($action == "") {

    echo '<h2>Indtast salgs sted</h2>';
    echo '<br>';
   
    $query = mysql_query("SELECT id,navn FROM `Salgs_sted`", $conn) or die(mysql_error());


    while ($row = mysql_fetch_array($query))
    {
        echo '<h3><a href="?page=faktura_create&action=list&id=' . $row['id'] . '">- ' . $row['navn'] . '</a><br></h3>';
    }

}






//hvis liste med varer der tilhører faktura...
if($action == "list") {

    echo '<h2>Tilføj varer til faktura.</h2>';
    echo '<br><br>Vælg på listen de varer du vil have og angiv antallet';


   
    $query = mysql_query("SELECT hl.id, hl.navn, k.navn as knavn FROM `hovedlager` hl, kategori k WHERE k.id = hl.kategori_id ORDER BY k.navn", $conn) or die(mysql_error());

    //gem kategori navn...
    $kat = "";

    echo'<form METHOD=POST ACTION="index.php?page=faktura_create&action=add&id='. $salgs_sted_id .'">
            Antal: <input TYPE="text" NAME="antal" SIZE="10" MAXLENGTH="10" value="1">
          <select NAME="varer">';
   

    while ($row = mysql_fetch_array($query))
    {
        if($kat != $row['knavn']) {
            $kat = $row['knavn'];
            echo '<option VALUE="-">------' . $kat . '------</option>';
        }

        echo '<option VALUE="'. $row['id'] .'">' . $row['navn'] . '</option>';
    }

    echo '</select>
    <p>
          <input TYPE="submit" NAME="Request" VALUE="Tilføj denne varer">
    </p>
</form>';


    echo '<br><br>Denne faktura indeholder følgende varer:<br>';
   
    echo '<table border="0" width="100%" cellspacing="0" cellpadding="0">';
    echo '<tr><td>Antal:</td><td>Varer navn:</td></tr>';


    //lav faktura listen om til et array
    $liste_varer = explode(";", $_SESSION['faktura_varer']);
    $liste_antal = explode(";", $_SESSION['faktura_antal']);

    for($i=0; $i < count($liste_varer)-1; $i++)
    {
        $query = mysql_query("SELECT * FROM hovedlager WHERE id=".$liste_varer[$i], $conn) or die(mysql_error());
        $row = mysql_fetch_array($query);

        echo '<tr><td>'. $liste_antal[$i] .'</td><td>'. $row['navn'] .'</td></tr>';
    }

    echo '</table>';


    echo '<p align="center"><a href="?page=faktura_create&action=create&id=' . $salgs_sted_id . '"> Godkend og lav faktura</a></p>';
}




//se om der er tilføjet en varer...
if($action == "add") {

    if ($_POST['varer'] != "-") {
        $_SESSION['faktura_varer'] = $_SESSION['faktura_varer'] . $_POST['varer'] . ";";
        $_SESSION['faktura_antal'] = $_SESSION['faktura_antal'] . $_POST['antal'] . ";";
    }

    //tilbage til faktura listen
    header("location: index.php?page=faktura_create&action=list&id=". $salgs_sted_id);

}


//her oprette faktura....
if($action == "create") {

    //opret faktura...
    $query = mysql_query("INSERT INTO faktura (`tidspunkt`, `salgs_sted_id`) VALUES ('". date('Y-m-d H:i:s') ."', '". $salgs_sted_id ."');", $conn) or die(mysql_error());

    //hent faktura id...
    $query = mysql_query("SELECT id FROM faktura ORDER BY id DESC LIMIT 1");
    $row = mysql_fetch_array($query);

    $faktura_id = $row['id'];


    //indsæt alle varer i fakturar...
    $liste_varer = explode(";", $_SESSION['faktura_varer']);
    $liste_antal = explode(";", $_SESSION['faktura_antal']);

    for($i=0; $i < count($liste_varer)-1; $i++)
    {
        $query = mysql_query("INSERT INTO Bestilte_varer (`faktura_id`, `vare_id`, `antal`) VALUES ('".$faktura_id."', '". $liste_varer[$i] ."', '". $liste_varer[$i] ."');");
   
    }

    //fjern alle varer fra hukommelsen...
    $_SESSION['faktura_varer'] = "";
    $_SESSION['faktura_antal'] = "";

    //vis os fakturaen...
    header("location: index.php?page=faktura_se&id=". $faktura_id);
}





?>
Avatar billede Slettet bruger
19. april 2008 - 20:55 #1
Nu regner jeg med den skal udføres på if($action == "create") { ??

i din for($i=0; $i < count($liste_varer)-1; $i++) { }

Skal du indsætte en update som du har prøvet.

Dette skulle gerne hvis jeg har fundet de rigtige navne frem, så burde dette være SQL strengen.
$sql = "UPDATE hovedlager set antal_lager = antal_lager - 1 WHERE vare_id = '".$liste_varer[$i]."'";
Avatar billede fancy Mester
01. maj 2008 - 22:04 #2
tak for det smid et svar
Avatar billede Slettet bruger
02. maj 2008 - 02:21 #3
selv tak du.
Håber det virker som du vil ha det!
Avatar billede Slettet bruger
02. maj 2008 - 02:23 #4
Du skal bare lige tage højde for at folk godt kan købe 2 af en slags vare.
Så istedet for bare trække en fra, så skal du jo - med antal vare.
$sql = "UPDATE hovedlager set antal_lager = antal_lager - ".$liste_varer[$i]['antal']." WHERE vare_id = '".$liste_varer[$i]."'";

eller lign.
Avatar billede Slettet bruger
04. maj 2008 - 09:14 #5
Modtaget? ^^
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
Computerworld tilbyder specialiserede kurser i database-management

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