[php]Veld ophalen wegschrijven in $invoer2

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • InfoTracer
  • Registratie: November 2001
  • Laatst online: 21:11
Ik ben tegenwoordig een beetje aan het phpen maar nu krijg ik elke keer een fout waar ik echt niet uitkom misschien is het iets heel stoms ik hoop dat jullie het weten.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<p>&nbsp;</p>
<form name="form1" method="post" action="order_regel_invoeren2.php">
<?php
$connection=mysql_connect("localhost","root") or die('Geen verbinding met database server'); 
$db = mysql_select_db("sr", $connection) or die ("Database niet geselecteerd"); 
$sql = "INSERT INTO verkoop_orderregel (artikel_id,aantal,verkoop_order_id) VALUES ('".$_POST['artikel_id']."','".$_POST['aantal']."','".$_POST['verkoop_order_id']."')";
$sql_result = mysql_query($sql,$connection) or die ('Fout in gegevens invoer'); 
echo('Verkoop orderregel ingevoegt...'); 

$invoer = "".$_POST['aantal']."";
$artikelid = "".$_POST['artikel_id']."";
$query = mysql_query("SELECT tot_voorraad FROM artikel WHERE artikel_id == '$artikelid'");
$result = mysql_fetch_array($query);
$invoer2 = $result['tot_voorraad'];

echo ($invoer2);
if ( $invoer <= $invoer2 )
        { echo "Dit is een voorraad order";}
    else
        {echo "Dit is een produktie order";}

mysql_close($connection); 
?>
</form>


en dit heb ik ook nog geprobeert

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<p>&nbsp;</p>
<form name="form1" method="post" action="order_regel_invoeren2.php">
<?php
$connection=mysql_connect("localhost","root") or die('Geen verbinding met database server'); 
$db = mysql_select_db("sr", $connection) or die ("Database niet geselecteerd"); 
$sql = "INSERT INTO verkoop_orderregel (artikel_id,aantal,verkoop_order_id) VALUES ('".$_POST['artikel_id']."','".$_POST['aantal']."','".$_POST['verkoop_order_id']."')";
$sql_result = mysql_query($sql,$connection) or die ('Fout in gegevens invoer'); 
echo('Verkoop orderregel ingevoegt...'); 

$invoer = "".$_POST['aantal']."";
$artikelid = "".$_POST['artikel_id']."";
$query = ("SELECT tot_voorraad FROM artikel WHERE artikel_id == '$artikelid'");
$result = mysql_query($query);
$invoer2 = mysql_fetch_array($result);

echo ($invoer2);
if ( $invoer <= $invoer2 )
        { echo "Dit is een voorraad order";}
    else
        {echo "Dit is een produktie order";}

mysql_close($connection); 
?>
</form>


bij het proberen wordt deze fout weer gegeven

Verkoop orderregel ingevoegt...
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\apache group\apache\htdocs\order_regel_invoeren2.php on line 13
Dit is een produktie order
bij de eerste

Verkoop orderregel ingevoegt...
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\apache group\apache\htdocs\order_regel_invoeren2.php on line 14
Dit is een produktie order

bij de tweede

alvast bedankt voor de hulp

Acties:
  • 0 Henk 'm!

  • judgem
  • Registratie: December 2001
  • Laatst online: 28-04-2014

judgem

Lord of Metal

Ik denk dat je om te beginnen je variabele $invoer2 als array moet declareren.

$invoer2[] dus...

- Ik bespreek ook harde waren en dan wel op www.lordsofmetal.nl - en ik draai en programmeer ze in DYNAMO


Acties:
  • 0 Henk 'm!

  • MikeN
  • Registratie: April 2001
  • Laatst online: 20-09 12:51
• Je query is niet goed, vandaar de foutmelding. (hint: == moet = zijn, misschien klopt er nog wel meer niet)
• Je kan een array (mysql_fetch_array geeft normaal een array terug) niet vergelijken met <= (zoals je in 2e poging doet).

[ Voor 8% gewijzigd door MikeN op 26-01-2004 00:44 ]


Acties:
  • 0 Henk 'm!

  • InfoTracer
  • Registratie: November 2001
  • Laatst online: 21:11
als ik dit doe dan geeft hij bij echo ($invoer2);
"ArrayDit is een voorraad order"
weer. Het is de bedoeling dat hij een getal uit de database haalt en die met elkaar vergelijkt

Acties:
  • 0 Henk 'm!

  • InfoTracer
  • Registratie: November 2001
  • Laatst online: 21:11
thanx :D
het moest idd gewoon = zijn inplaats van == maar == is toch is gelijk aan ? en = is word?
of is dat hier weer anders?

ps werkende code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<p>&nbsp;</p>
<form name="form1" method="post" action="order_regel_invoeren2.php">
<?php
$connection=mysql_connect("localhost","root") or die('Geen verbinding met database server'); 
$db = mysql_select_db("sr", $connection) or die ("Database niet geselecteerd"); 
$sql = "INSERT INTO verkoop_orderregel (artikel_id,aantal,verkoop_order_id) VALUES ('".$_POST['artikel_id']."','".$_POST['aantal']."','".$_POST['verkoop_order_id']."')";
$sql_result = mysql_query($sql,$connection) or die ('Fout in gegevens invoer'); 
echo('Verkoop orderregel ingevoegt...'); 

$invoer = "".$_POST['aantal']."";
$artikelid = "".$_POST['artikel_id']."";
$query = mysql_query("SELECT tot_voorraad FROM artikel WHERE artikel_id = '$artikelid'");
$result = mysql_fetch_array($query);
$invoer2 = $result['tot_voorraad'];

echo ($invoer2);
if ( $invoer <= $invoer2 )
        { echo "Dit is een voorraad order";}
    else
        {echo "Dit is een produktie order";}

mysql_close($connection); 
?>
</form>


ps dat $invoer2[] moet niet anders geeft ie array weer en nu geeft ie gewoon de waarde neer

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
code:
1
2
$invoer = $_POST['aantal'];
$artikelid = $_POST['artikel_id'];


Haal in godsnaam die quotes daar weg, om mee te beginnen.

code:
1
2
3
4
5
$query = "
SELECT tot_voorraad 
FROM artikel 
WHERE artikel_id = $artikelid
";


Foutje in de query (zoals aangegeven). En artikel_id is neem ik aan een getal, doe er dan geen quotes omheen, check echter wel even voordat je de query doet of ie daadwerkelijk een getal is. En de haakjes moeten weg.

code:
1
2
$result = mysql_query($query);
$invoer2 = mysql_fetch_array($result);

Zou moeten werken denk ik zo.

code:
1
2
3
4
5
6
7
echo $invoer2["tot_voorraad"];
if ( $invoer <= $invoer2["tot_voorraad"] )
        { echo "Dit is een voorraad order";}
    else
        {echo "Dit is een produktie order";}

mysql_close($connection);

Zo beter, nu roept ie het element van het array aan.

Kleine hint, lees eens een keer de PHP manual door, voordat je begint al wat moeilijkere dingen als queries. Want de basics heb je nog neit echt onder de knie.
Laatste tip: echo is een language construct, geen functie, en behoeft dus ook geen haakjes te hebben.

echo "bla";
echo $randomvariabele;

werken gewoon.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Over de = en ==

In C-style programming (C, C++, C#, PHP, etc..) is het

a == b ( is a gelijk aan b)
a = b ( a wordt b)

In Pascal-style programming (Pascal, Object Pascal, Delphi, GCL, etc...) is het

a = b ( is a gelijk aan b)
a := b ( a wordt b)

In SQl is het
a = b ( is a gelijk aan b)
SET a = b ( a wordt b)

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info

Pagina: 1