Update-query probleem

Status
Niet open voor verdere reacties.

wes44

Gebruiker
Lid geworden
25 apr 2011
Berichten
61
echo "<td><a href='updateaantalstock.php' method='POST'><img src='min.jpg'></td>";

Als er op de afbeelding min wordt gedrukt opent het bestand updateaantalstock.php, hierin kan de gebruiker het oude aantal vervangen door er een nieuw in te geven

<?php
include ("con.php")
or die ("Couldn't connect to server");
$query ="UPDATE overzichtstcok SET Aantal = '$_POST[aantal]' WHERE Nummer ='$_POST[Nummer]'";
?>

Maar dit blijkt niet te kloppen, wat doe ik fout?
 
PHP:
$query ="UPDATE overzichtstcok SET Aantal = '$_POST[aantal]' WHERE Nummer ='$_POST[Nummer]'";

moet worden:

PHP:
$query ="UPDATE overzichtstcok SET Aantal = '$_POST[aantal]' WHERE Nummer ='$_POST[Nummer]'";

mysql_query($query);

Je was vergeten de query ook uit te voeren. vandaar. :)
 
PHP:
$query ="UPDATE overzichtstcok SET Aantal = '$_POST[aantal]' WHERE Nummer ='$_POST[Nummer]'";

moet worden:

PHP:
$query ="UPDATE overzichtstcok SET Aantal = '$_POST[aantal]' WHERE Nummer ='$_POST[Nummer]'";

mysql_query($query);

Je was vergeten de query ook uit te voeren. vandaar. :)

Neen dit is het ook niet
ik wil het huidige aantal verminderen, ik druk op min dan moet het bestand updateaantalstock.php openen waar je het aantal kan verminderen en dan als je op opslaan klikt dat het aantal is vervangen
 
Kun je (deels) de rest van je code even posten? vooral het formulier waarmee de waarde verzonden wordt.

Werkt dit?
PHP:
$query = mysql_query("UPDATE overzichtstcok SET Aantal = '" .$_POST['aantal']. "' WHERE Nummer ='" .$_POST['Nummer']. "'");

Heb je op hoofdletters gecontroleerd?

Klopt je tabelnaam? "overzichtstcok" ziet er namelijk uit als een typfout.:eek:
 
Laatst bewerkt:
hoort overzictstcok te zijn hoor ;) Dus dit is de code voor een tabel waar het huidige aantal instaat

<tr>
<th>Aantal</th>
<th>Wijzigen</th>
<th>Uitname</th>
<th>Verwijderen</th>
</tr>";
while($data=mysql_fetch_array($resultset)){
echo "<tr>";
echo "<td>" . $data['Aantal'] . "</td>";
echo "<td><a href=''><img src='wijzigen.jpg'></td>";
echo "<td><a href='updateaantalstock.php' method='POST'><img src='min.jpg'></td>";
echo '<td><a href="delete2.php?tag=' . $data['Nummer'] . '"><img src="verwijderen.jpg"></a></td>';
echo "</tr>";
}
echo "</table>";
mysql_close();
?>
</td>
</tr>

Als de gebruiker nu op "min" klikt dan moet het bestand updateaantalstock.php openen waar de gebruiker een nieuw aantal kan invoeren.
 
echo "<td><a href='updateaantalstock.php' method='POST'><img src='min.jpg'></td>";
Dit gaat niet werken. De '<a'-tag heeft geen attribuut "method". Je zal er of een formulier met "submit"-knop van moeten maken, of je moet de link veranderen in
PHP:
echo "<td><a href='updateaantalstock.php?Aantal=" . $data['Aantal'] . "&Nummer=" . $data['Nummer'] . "><img src='min.jpg'>
In updateaantalstock.php moet je dan $_POST veranderen in $_GET.

Overigens ontbreken er nog een paar '</a>'-tags in je code.
 
Laatst bewerkt:
Dit gaat niet werken. De '<a'-tag heeft geen attribuut "method". Je zal er of een formulier met "submit"-knop van moeten maken, of je moet de link veranderen in
PHP:
echo "<td><a href='updateaantalstock.php?Aantal=" . $data['Aantal'] . "&Nummer=" . $data['Nummer'] . "><img src='min.jpg'>
In updateaantalstock.php moet je dan $_POST veranderen in $_GET.

Overigens ontbreken er nog een paar '</a>'-tags in je code.

Nu zie ik geen afbeelding :s
 
Klopt wat Supersnail zegt.
Ik maak alleen even zijn voorbeeld af:

PHP:
echo "<td><a href='updateaantalstock.php?Aantal=" . $data['Aantal'] . "&Nummer=" . $data['Nummer'] . "'><img src='min.jpg'></a></td>";

Supersnail was ook een aanhalingsteken vergeten. :P

Hier nog even een voorbeeldje van hoe het ook kan (met een form).

HTML:
<form method="post" action="updateaantalstock.php">
Aantal: <input name="aantal" type="text" /><br>
Nummer: <input name="Nummer" type="text" /><br>
<input type="submit" />
</form>

en dan in updateaantalstock.php zoiets:

PHP:
if(isset($_POST)) {
mysql_query("UPDATE overzichtstcok SET Aantal = '" .$_POST['aantal']. "' WHERE Nummer ='" .$_POST['Nummer']. "'");
}

Wijkt misschien erg af van je huidige code, maar is even een simpel voorbeeld van het werken met forms en POST. ;)
 
Laatst bewerkt:
dus <img src='min.jpg'> dit laat niet de imagge zien.
Dan zal het path naar de foto niet kloppen.

Ik weet niet of de foto in de folder huist waar het script zich ook bevind.
En als je dat script via een include op een ander pagina gebruikt veranderd dat het path naar de foto ook.
 
Ok hij verwijst al door naar updateaantalstock.php maar ik kan geen nieuw aantal ingeven?
 
Ik heb in mijn voorbeeld de "min"-knop vervangen door een tekstvak waar je het nieuwe aantal kan invoegen.
Zodra je de "submit"-button indrukt gaat hij naar updateaantalstock.php die je waarde aanpast. Dit is een lege pagina, omdat hij alleen je waarde aanpast en verder niks laat zien. Op deze pagina kun je bijvoorbeeld de tekst "Waarde is aangepast!" laten tonen, of je laat de pagina weer teruggaan naar je hoofdpagina. In je database zul je zien dat je waarde is aangepast naar de waarde die je hebt ingevuld bij het "aantal"-tekstvak.
 
Dus gaat het als ik die min-knop doorstuur naar het formulier en dan het formulier koppel aan updateaantalstock.php? Zodat er een nieuw aantal komt?
 
Laatst bewerkt door een moderator:
Ongeveer.

De min-knop zet je (net zoals mijn voorbeeld over forms) tussen <FORM>-tags, en aan de form koppel je de pagina (updateaantalstock.php) die je tekstvelden moet afhandelen. Dus data uit je tekstvakken die in je form staan, worden verzonden naar updateaantalstock.php en kun je inladen in php doormiddel van $_POST['tekstvaknaam'].

Hier (http://www.tizag.com/phpT/forms.php) nog een goed voorbeeldje van het werken met forms in php, aangezien uitleggen niet mijn sterkste kant is. ;)
 
Ongeveer.

De min-knop zet je (net zoals mijn voorbeeld over forms) tussen <FORM>-tags, en aan de form koppel je de pagina (updateaantalstock.php) die je tekstvelden moet afhandelen. Dus data uit je tekstvakken die in je form staan, worden verzonden naar updateaantalstock.php en kun je inladen in php doormiddel van $_POST['tekstvaknaam'].

Hier (http://www.tizag.com/phpT/forms.php) nog een goed voorbeeldje van het werken met forms in php, aangezien uitleggen niet mijn sterkste kant is. ;)

De gegevens worden rechtstreeks afgedrukt vanuit een tabel dus ik denk dat een form niet kan?
 
ook die gegevens kun je in een form-tag zetten!
 
ook die gegevens kun je in een form-tag zetten!

Ik moet als er op de min knop gedrukt wordt een nieuw formulier hebben waar er een nieuw aantal ingevuld wordt en wanneer de gebruiker op opslaan drukt het oude aantal vervangt hebben
 
Waarop zet je de $aantal niet in een inputbox.
die input zet je in een form waar je een submit button het en de action laat je naar een php file sturen die het aantal update en dan via een header terug stuurd naar de pagina waar je vandaan kwam.
 
Waarop zet je de $aantal niet in een inputbox.
die input zet je in een form waar je een submit button het en de action laat je naar een php file sturen die het aantal update en dan via een header terug stuurd naar de pagina waar je vandaan kwam.

overzichtstock.png

Dit is de pagina overzicht stock als er op de min knop gedrukt wordt moet er een nieuw formulier geladen worden: zo een:

2.png

Met als gevolg dat de gebruiker terug wordt gekeerd naar overzicht stock met het nieuwe aantal = 2 dus
 
Okey, dit maakt het duidelijk.
te eerste kun je niet met met $_POST de waardes uit de url halen, dat moet met $_GET.
Dus op de pagina waar je de het aantal gaat aanpassen wordt het zo iets
PHP:
<?PHP
if(isset($_POST['aantal'])) 
{
// verwerken in database en redirect door header
}
else
{
?>
<form method="post" action="updateaantalstock.php">
Aantal: <input name="aantal" type="text" value="<?PHP echo $_GET['aantal']; ?>" /><br>
Nummer: <input name="Nummer" type="hidden" value="<?PHP echo $_GET['nummer']; ?>" /><br>
<input type="submit" />
</form>
<?PHP
}
?>
 
Okey, dit maakt het duidelijk.
te eerste kun je niet met met $_POST de waardes uit de url halen, dat moet met $_GET.
Dus op de pagina waar je de het aantal gaat aanpassen wordt het zo iets
PHP:
<?PHP
if(isset($_POST['aantal'])) 
{
// verwerken in database en redirect door header
}
else
{
?>
<form method="post" action="updateaantalstock.php">
Aantal: <input name="aantal" type="text" value="<?PHP echo $_GET['aantal']; ?>" /><br>
Nummer: <input name="Nummer" type="hidden" value="<?PHP echo $_GET['nummer']; ?>" /><br>
<input type="submit" />
</form>
<?PHP
}
?>

Nu krijg ik een foutje in mijn if?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan