[PHP]lijst wijzigen updaten

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Mastruberik
  • Registratie: December 2002
  • Laatst online: 17-01-2022
Hallo,

Ben sinds kort weer bezig met php. Krijg het niet goed voor elkaar om een lijst te updaten. Het is volgens mij heel simpel en mij vroeger al eens eerder gelukt. Maar ben beetje de draad kwijt. Zal iemand mij ff op weg kunnen helpen.

Lijst met artikelen met daarbij ook de aantallen. achter elke regel komt een formulier vak waar een getal ingevuld kan worden en er vervolgens op word geteld(is niet zo belangrijk nu). Zodra ze op submit drukken word de pagina herhalen en in het begin word dat de update query uitgevoerd. Zodra er een wijziging is, moet de query wijzigen.

er kunnen misschien domme fouten in zitten, heb nogal wat dingen geprobeerd en gewijzigd. DE query klopt niet, omdat ik artikel plus het getal niet goed aan de praat kreeg.

------update query
PHP:
1
2
3
4
5
6
7
8
9
10
<?php

if($optie=='wijzig'){
    for ($i = 1; $i <= $rij; $i++) {
    if($_GET[artikelid$i]!=0){
    $update= mysql_query("UPDATE voorraad SET artikel_aantal=artikelid WHERE artikel_id=artikelid") or mysql_error();
    }
}
}
?>


-------formulier

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
        $voorraad = mysql_query("SELECT * FROM voorraad");
        $num_row = mysql_num_rows($voorraad);
        echo "<form action=\"voorraad.php?optie=wijzig&rij=$num_row\" method=\"post\">" ;
        for ($i = 1; $i <= $num_row; $i++) {
        $res = mysql_fetch_array($voorraad);
        echo "<tr>";
        echo "          <td>$res[artikel_id]</td>";
        echo "          <td>$res[artikel_code]</td>";
        echo "          <td>$res[artikel_naam]</td>";
        echo "          <td>$res[artikel_omschrijving]</td>";
        echo "          <td>$res[artikel_prijs]</td>";
        echo "          <td>$res[artikel_aantal]</td>";
        echo "          <td><input name=\"artikelid$i\" size=\"3\" type=\"tekst\" value=\"0\"><input type=\"image\" src=\"..\images\plus.gif\"></td>";
        echo "</tr>";
        }
        ?>
        </form>
    </table>

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Wat is $rij?

En waarom vul je geen waarden in in je query?

[ Voor 68% gewijzigd door Janoz op 30-05-2006 12:37 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 22-07-2024
je kan natuurlijk ook zelf debuggen he...

zoiets dus:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

if($optie=='wijzig'){
    echo "optie is 'wijzig'<br>";
    for ($i = 1; $i <= $rij; $i++) {
        echo "i = $i<br>";
        if($_GET[artikelid$i]!=0) {
            echo "artikelid$i is niet 0<br>";
            $update= mysql_query("UPDATE voorraad SET artikel_aantal=artikelid WHERE artikel_id=artikelid") or mysql_error();
        }
    }
}
?>

This message was sent on 100% recyclable electrons.


Acties:
  • 0 Henk 'm!

Verwijderd

volgens mij loopt het al fout bij regel 6

is artikel_aantal=artikelid dezelfde artikelid als op regel 5?


1 begin met hardcoded values in je update query.
2 verander de values in variablen die je in je php script vooraf declareert.
3 laat de variablen aanpassen door de php code

kortom bouw je programma stap voor stap op... dan kom je er meestal wel

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

PHP:
5
    if($_GET[artikelid$i]!=0){
Wel eens van arrays gehoord? ;) Zet sowieso eens error_reporting op E_ALL.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Mastruberik
  • Registratie: December 2002
  • Laatst online: 17-01-2022
bedankt, zal ff verder knutselen
Pagina: 1