array resultaat wordt maar 1 keer weergegeven
De functie wil ik dan ophalen in een listingpagina.
Het probleem is dat alleen het eertse resultaat uit de database wordt weergegeven op deze listing pagina!
Wat doe ik verkeerd, haal ik de array verkeerd op?
Zie onderstaand mijn php script:
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
57
58
59
60
61
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
57
58
59
60
61
<?php
//*Program: prijzen weergeven
function prijs(){
//onderstaand maakt connectie met de database
include ("../includes.php");
$sql = "SELECT * FROM useraccount, product WHERE useraccount.PIDID = product.PIDID ";
$query = mysql_query($sql,$db);
$total_results = mysql_num_rows($query); //mysql_num_rows($result) = Geef het aantal rijen in een resultaat
$query = "SELECT * FROM useraccount, product WHERE useraccount.PIDID = product.PIDID ";
$result = mysql_query($query);
//-----------------------------------------------
//array uit de database halen
while($row = mysql_fetch_array($result)){
$array = array();
$array[] = $row['productPRICE'];
$row['productPRICE'] = $totaalprijs;
$totaalprijs = array($array ['0']);
//------------------------------------------
//if els en elsif controlles uitvoeren TOTAAL Prijs
foreach ($totaalprijs as $totaal){
if ($totaal > '0')
{
return "$totaal" ;
}
elseif ($totaalprijs < '0')
{
return "nader overeen te komen";
}
elseif ($totaalprijs == 'prijsPerPartij')
{
return "Per partij";
}
else
{
return "";
}
}
}
}
//-----------------------------------------------
// resultaten echoen op de pagina
echo prijs();
//-----------------------------------------------
?>
//*Program: prijzen weergeven
function prijs(){
//onderstaand maakt connectie met de database
include ("../includes.php");
$sql = "SELECT * FROM useraccount, product WHERE useraccount.PIDID = product.PIDID ";
$query = mysql_query($sql,$db);
$total_results = mysql_num_rows($query); //mysql_num_rows($result) = Geef het aantal rijen in een resultaat
$query = "SELECT * FROM useraccount, product WHERE useraccount.PIDID = product.PIDID ";
$result = mysql_query($query);
//-----------------------------------------------
//array uit de database halen
while($row = mysql_fetch_array($result)){
$array = array();
$array[] = $row['productPRICE'];
$row['productPRICE'] = $totaalprijs;
$totaalprijs = array($array ['0']);
//------------------------------------------
//if els en elsif controlles uitvoeren TOTAAL Prijs
foreach ($totaalprijs as $totaal){
if ($totaal > '0')
{
return "$totaal" ;
}
elseif ($totaalprijs < '0')
{
return "nader overeen te komen";
}
elseif ($totaalprijs == 'prijsPerPartij')
{
return "Per partij";
}
else
{
return "";
}
}
}
}
//-----------------------------------------------
// resultaten echoen op de pagina
echo prijs();
//-----------------------------------------------
?>
Hier zet je elke keer een nieuwe waarde voor het array element
Gewijzigd op 15/11/2011 18:25:33 door Ger van Steenderen
Bedankt voor je reactie! Moet ik deze regels dan weglaten? Hij geeft dan een invalid foreach melding.
Ik zou zelf eerst dat een aanpassen. Neem voorbeeld aan script hieronder, niet getest, maar lijkt mij logischer...
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
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
<?php
function prijs()
{
# Database connectie
include('config.php');
# Query
$sql =
"
SELECT
*
FROM
useraccount,
product
WHERE
useraccount.PIDID = product.PIDID
";
# Query uitvoeren
if( $res = mysql_query( $sql ) )
{
return 'An error occurred while executing the query.';
}
# Checken voor resultaten
elseif( mysql_num_rows( $res ) == 0 )
{
return 'None of the requested data is found.';
}
else
{
# Resultaten doorlopen
while( $rec = mysql_fetch_assoc( $res ) )
{
$totalPrice[] = $rec['productPRICE'];
}
# Weergaven
foreach( $price as $totalPrice )
{
if($totaal > 0)
{
return $totaal;
}
elseif( $totaalprijs < 0 )
{
return 'Nader overeen te komen';
}
elseif ($totaalprijs == 'prijsPerPartij')
{
return 'Per partij';
}
}
}
}
?>
function prijs()
{
# Database connectie
include('config.php');
# Query
$sql =
"
SELECT
*
FROM
useraccount,
product
WHERE
useraccount.PIDID = product.PIDID
";
# Query uitvoeren
if( $res = mysql_query( $sql ) )
{
return 'An error occurred while executing the query.';
}
# Checken voor resultaten
elseif( mysql_num_rows( $res ) == 0 )
{
return 'None of the requested data is found.';
}
else
{
# Resultaten doorlopen
while( $rec = mysql_fetch_assoc( $res ) )
{
$totalPrice[] = $rec['productPRICE'];
}
# Weergaven
foreach( $price as $totalPrice )
{
if($totaal > 0)
{
return $totaal;
}
elseif( $totaalprijs < 0 )
{
return 'Nader overeen te komen';
}
elseif ($totaalprijs == 'prijsPerPartij')
{
return 'Per partij';
}
}
}
}
?>
Gewijzigd op 15/11/2011 19:48:31 door Milo S
Super bedankt voor je overzichtelijke code.
Ikheb nog de volgende vragen?
1) ik krijg de melding "An error occurred while executing the query. ". Dit komt waarschijnlijk omdat ik nu geen database connectie meer maak.
2) Ik heb de code willen schrijven als een function. om deze zo weer op te roepen in een andere pagina (listing pagina)
Overzicht kun je zelf ook maken, gewoon goed inspringen haha.
1) Klopt, ik heb gewoon een standaard stukje code gepakt en jou query enzo er in geplakt. Databaseconnectie moet je even zelf veranderen (regel 5);
2) Oh sorry haha, check me update ;)
Bedankt weer! Ik blijf fout melding ontvangen. Denk dat ik nu niet goed weet hoe ik de datebste moet koppelen. De volgende gegevens zjn in iedergeval nodig voor de connectie. Weet jij deze goed in je script te zetten? zie onderstaand:
$query = mysql_query($sql,$db);
$query = "SELECT * FROM useraccount, product WHERE useraccount.PIDID = product.PIDID ";
$result = mysql_query($query);
Toevoeging op 15/11/2011 21:54:50:
Hoi Milo,
Ik moet inmiddels verbinding hebben want krijg nu de volgende melding. Maar wat kan er nu nog mis gaan?
Melding:Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/voice/domains/voteforthevoice.com/public_html/s4yincludes/prijs8.php on line 31
None of the requested data is found.
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
57
58
59
60
61
62
63
64
65
66
67
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
57
58
59
60
61
62
63
64
65
66
67
<?php
function prijs()
{
# Database connectie
include ("../includes.php");
# Query
$sql =
"
SELECT
*
FROM
useraccount,
product
WHERE
useraccount.PIDID = product.PIDID
";
$sql = mysql_query($sql,$db);
# Query uitvoeren
if( $res = mysql_query( $sql,$db ) )
{
return 'An error occurred while executing the query.';
}
# Checken voor resultaten
elseif( mysql_num_rows( $res ) == 0 )
{
return 'None of the requested data is found.';
}
else
{
# Resultaten doorlopen
while( $rec = mysql_fetch_assoc( $res ) )
{
$totalPrice[] = $rec['productPRICE'];
}
# Weergaven
foreach( $price as $totalPrice )
{
if($totaal > 0)
{
return $totaal;
}
elseif( $totaalprijs < 0 )
{
return 'Nader overeen te komen';
}
elseif ($totaalprijs == 'prijsPerPartij')
{
return 'Per partij';
}
}
}
}
//-----------------------------------------------
// resultaten echoen op de pagina
echo prijs();
//-----------------------------------------------
?>
function prijs()
{
# Database connectie
include ("../includes.php");
# Query
$sql =
"
SELECT
*
FROM
useraccount,
product
WHERE
useraccount.PIDID = product.PIDID
";
$sql = mysql_query($sql,$db);
# Query uitvoeren
if( $res = mysql_query( $sql,$db ) )
{
return 'An error occurred while executing the query.';
}
# Checken voor resultaten
elseif( mysql_num_rows( $res ) == 0 )
{
return 'None of the requested data is found.';
}
else
{
# Resultaten doorlopen
while( $rec = mysql_fetch_assoc( $res ) )
{
$totalPrice[] = $rec['productPRICE'];
}
# Weergaven
foreach( $price as $totalPrice )
{
if($totaal > 0)
{
return $totaal;
}
elseif( $totaalprijs < 0 )
{
return 'Nader overeen te komen';
}
elseif ($totaalprijs == 'prijsPerPartij')
{
return 'Per partij';
}
}
}
}
//-----------------------------------------------
// resultaten echoen op de pagina
echo prijs();
//-----------------------------------------------
?>