Fetch opbject probleempje
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
include("connect.php");
$sql = "SELECT * FROM voorraad";
$query = mysql_query($sql);
$bestellen = array();
echo "<center>";
echo "<table>";
echo "<th>Aantal</th>";
echo "<th>Artikelnaam</th>";
echo "<th>Leverancier</th>";
echo "<th>Locatie</th>";
echo "<th>Opties</th>";
$minimaal = "SELECT * FROM artikelgegevens";
$kweerie = mysql_query($minimaal);
$lever = "SELECT * FROM leveranciers";
$levertje = mysql_query ($lever);
while ($show = mysql_fetch_object($query) AND $zien = mysql_fetch_object($kweerie) AND $gaan = mysql_fetch_object($levertje))
{
echo "<tr>";
echo "</td>";
$uitkomst = $zien->minvoorraad-$show->aantal;
if($show->aantal<=$zien->minvoorraad)
{
echo "<td><font color=red>".$uitkomst."</font></td>";
echo "<td>";
echo "<font color=black>".$show->artID."</font>";
echo "<a href='artoverzien.php?id=$show->artID'><img src='edit.gif' alt='Bekijk Artikel Details' border='0'></a>";
echo "</td>";
echo "<td>";
echo "<font color=black>".$zien->leverancier."</font>";
echo "<a href='levdetails.php?id=$gaan->leverancierID'><img src='edit.gif' alt='Bekijk Leverancier Details' border='0'></a>";
echo "</td>";
echo "<td><font color=black>".$show->locatieID."</font></td>";
}
else
{
echo "<td><font color=black>Er zijn geen artikelen die besteld hoeven worden</font></td>";
}
Er worden veel dingen niet goed weergegeven... doe ik die FETCH met AND en AND wel goed? of is daar een andere manier voor ??
include("connect.php");
$sql = "SELECT * FROM voorraad";
$query = mysql_query($sql);
$bestellen = array();
echo "<center>";
echo "<table>";
echo "<th>Aantal</th>";
echo "<th>Artikelnaam</th>";
echo "<th>Leverancier</th>";
echo "<th>Locatie</th>";
echo "<th>Opties</th>";
$minimaal = "SELECT * FROM artikelgegevens";
$kweerie = mysql_query($minimaal);
$lever = "SELECT * FROM leveranciers";
$levertje = mysql_query ($lever);
while ($show = mysql_fetch_object($query) AND $zien = mysql_fetch_object($kweerie) AND $gaan = mysql_fetch_object($levertje))
{
echo "<tr>";
echo "</td>";
$uitkomst = $zien->minvoorraad-$show->aantal;
if($show->aantal<=$zien->minvoorraad)
{
echo "<td><font color=red>".$uitkomst."</font></td>";
echo "<td>";
echo "<font color=black>".$show->artID."</font>";
echo "<a href='artoverzien.php?id=$show->artID'><img src='edit.gif' alt='Bekijk Artikel Details' border='0'></a>";
echo "</td>";
echo "<td>";
echo "<font color=black>".$zien->leverancier."</font>";
echo "<a href='levdetails.php?id=$gaan->leverancierID'><img src='edit.gif' alt='Bekijk Leverancier Details' border='0'></a>";
echo "</td>";
echo "<td><font color=black>".$show->locatieID."</font></td>";
}
else
{
echo "<td><font color=black>Er zijn geen artikelen die besteld hoeven worden</font></td>";
}
Er worden veel dingen niet goed weergegeven... doe ik die FETCH met AND en AND wel goed? of is daar een andere manier voor ??
nee dat doe je niet goed, dat moet in je query gebeuren
ik betwijfel of je while lus het accepteerd
Tip: Gebruik CSS voor de opmaak en niet de verouderde/vervallen html-tag <font>. Dat maakt het leven een stuk eenvoudiger.
Erg leuk.
Maar wat ben je aan het doen? Deze while loopt net zoveel keer als het maximale aantal records van de tabel met de minste records van de drie tabellen. Dan stopt de while.
Verder vraag je compleet alles op uit de database en dat ook nog in willekeurige volgorde. En met die gegevens ga je dus rekenen.
Dus conclusie is: Dit geeft vast geen interessante antwoorden en uitkomsten.
En wat over is, is de vraag: Wat is de bedoeling van de code? Wat wil je dat er gaat gebeuren?
".$uitkomst."
maar zó;
$show['uitkomst'];
verander dit eens voor elke waarde dan werkt dat ook weer stukje beter
dus ook zónder quotes en punten
*
FROM
leveranciers
UNION
SELECT
*
FROM
voorraad
UNION
SELECT
*
FROM
artikelgegevens";
zo is de query juist, mits je geen redundantie qua velden hebt..
Hij moet velden minvoorraad - aantal en daar het resultaat van laten zien ALLEEN als het aantal onder de minvoorraad komt.
Dus stel de minvoorraad is 8 en het werkelijke aantal dat op voorraad ligt is 6. Op dat moment moet er 8 - 6 gedaan worden en moet er op de pagina weergegeven worden dat er 2 bijbesteld moeten worden om die minimale voorraad aan te vullen. Als de code niet netjes is.. sorry daarvoor.. maar dit is eerlijk gezegd het eerste project waarin ik met PHP werk :$
Wonder boven wonder heb ik dus geen errors gehad maar ik kreeg wel allemaal rare dingen gereturned... dusik hoop dat jullie mij kunnen helpen met een stukje coden ?
Gewijzigd op 01/01/1970 01:00:00 door Michel
r.e.s.p.e.c.t
Jup mijn allereerste! Volgend jaar willen ze sowieso dat ik het op school kan en dit is een heeel goed begin op stage dacht ik zo.. :) ik heb nu alleen jullie hulp nodig.. dus ik hoop dat jullie mij even willen helpen met het bovenstaande:) daarna loop ik nog tegen 1 ding aan, maar die post ik hier later wel even... dit is voor nu even belangrijker!:)
Niemand?:(
Misschien dat je vanmiddag/vanavond meer hulp hebt
Als ze maar niet zoals mij heel de dag lui gaan wezen ^^
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?php
$sql = "SELECT
*
FROM
leveranciers
UNION
SELECT
*
FROM
voorraad
UNION
SELECT
*
FROM
artikelgegevens";
$query = mysql_query($sql);
$bestellen = array();
while ($show = mysql_fetch_object($query))
{
echo "<tr>";
echo "</td>";
$uitkomst = $show->minvoorraad-$show->aantal;
if($show->aantal<=$show->minvoorraad)
{
echo "<td><font color=red>".$uitkomst."</font></td>";
echo "<td>";
echo "<font color=black>".$show->artID."</font>";
?>
$sql = "SELECT
*
FROM
leveranciers
UNION
SELECT
*
FROM
voorraad
UNION
SELECT
*
FROM
artikelgegevens";
$query = mysql_query($sql);
$bestellen = array();
while ($show = mysql_fetch_object($query))
{
echo "<tr>";
echo "</td>";
$uitkomst = $show->minvoorraad-$show->aantal;
if($show->aantal<=$show->minvoorraad)
{
echo "<td><font color=red>".$uitkomst."</font></td>";
echo "<td>";
echo "<font color=black>".$show->artID."</font>";
?>
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\Program Files\xampp\htdocs\mervoorraad\bestel.php on line 60
Ik krijg de bovenstaande error.. het duid erop dat de query niet oké is, maar wat is er mis mee?? kan iemand de query voor me verbeteren ? :)
doe eens een echo $sql en copy-past dat ding in phpmyadmin.
gebruik een goede PHP editor zoals;
PHP Designer 2005 of
Zend studio
zodat je fouten voor een groot deel al naar voren komen door een code-analyser
(bij zend studio CTRL+Shift+A)
Code (php)
1
2
3
4
2
3
4
$query = mysql_query($sql);
$bestellen = array();
while ($show = mysql_fetch_object($query))
$bestellen = array();
while ($show = mysql_fetch_object($query))
Waarom doe je toch niets aan foutafhandeling? Vroeg of laat gaan queries fout, die garantie heb jij. Alleen loopt in jouw geval direct je hele script in de soep terwijl dit helemaal niet nodig is. Dus controleren of het wel is gelukt!
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
$result = mysql_query($sql); // andere naam voor de var
if(!$result){ // query mislukt...
echo 'Fout: '.mysql_error().' met query: '.$sql;
die(); // dit kan nog beter, maar het is een begin.
}
$bestellen = array();
while ($show = mysql_fetch_object($result)) // let op, andere naam!
if(!$result){ // query mislukt...
echo 'Fout: '.mysql_error().' met query: '.$sql;
die(); // dit kan nog beter, maar het is een begin.
}
$bestellen = array();
while ($show = mysql_fetch_object($result)) // let op, andere naam!
Ik heb voor een andere naam gekozen omdat het onlogisch is dat $query een resultaat van een query bevat. Hier verwacht je een query, een stuk sql.
{
while...
}
in ieder geval vet bedankt! ik zal zo eens kijken offut werkt... ;) enik zal zo die querie ook eens in phpmyadmin gooien.. ;)
SQL-query:
SELECT *
FROM leveranciers
UNION SELECT *
FROM voorraad
UNION SELECT *
FROM artikelgegevens
LIMIT 0 , 30
MySQL retourneerde:
#1222 - The used SELECT statements have a different number of columns
KAn iemand mij dus helpen met het verbeteren van deze querie? Ik moet dus meerdere tabellen openen zoals in de querie hierboven?