[opgelost] Meer tonen van zelfde variabel
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
68
69
70
71
72
73
74
75
76
77
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
68
69
70
71
72
73
74
75
76
77
<?
if (!isset($_GET['category'])) {
// kijken of middel is verkregen
echo "middel niet gedefineerd";
} else {
// category pakken
$query = "
SELECT
id,
name,
label,
tekst,
category,
klant,
DATE_FORMAT(datum, '%d-%m-%Y') AS nl_datum
FROM
upload
WHERE
category = '".mysql_real_escape_string($_GET['category'])."'
ORDER BY datum DESC
";
$result = mysql_query($query) or die('Error : ' . mysql_error());
while ($myrow = mysql_fetch_assoc($result))
{
extract($myrow);
?>
<!-- ### WERK TONEN ######-->
<div style="width:500px;background-color:#0CF; float:right">
<div >
<div>
<h3> <? echo $myrow['klant'] ?></h3>
<p class="newsdate">Geplaatst op: <? echo $myrow['nl_datum'] ?></p>
<p class="newsdate">Middel: <? echo $myrow['category'] ?></p>
<p class="newsdate">Opdracht: <? echo $myrow['label'] ?></p>
<? echo '<img class=plaatje src="image/' . $myrow['name'] . '" />' ; ?>
<p class="newstext"> <? echo ($myrow['tekst']) ?> </p>
<!-- ### MEER mits meer dan 2 opdrachten ####-->
<?
$query .= "WHERE klant = '". $myrow['klant'] ."' ";
$result = mysql_query($query) or die('Error : ' . mysql_error());
if (mysql_num_rows($result) > 2) {// meer dan 2 record dan dit uitvoeren:
$row = mysql_fetch_assoc($result);
?>
<div>
<a class="submenu" href="index.php?pagina=klanten&klant=<?php echo $row['klant']?>"><h3>Meer werk van deze klant</h3></a>
</div>
<?
} //aantal resultaten check afsluiten (nuw_rows >2...)
?>
</div>
</div>
</div>
<?
} // extract row afsluiten
} // klant ophalen aflsuiten (else..)
?>
</div> ?>
if (!isset($_GET['category'])) {
// kijken of middel is verkregen
echo "middel niet gedefineerd";
} else {
// category pakken
$query = "
SELECT
id,
name,
label,
tekst,
category,
klant,
DATE_FORMAT(datum, '%d-%m-%Y') AS nl_datum
FROM
upload
WHERE
category = '".mysql_real_escape_string($_GET['category'])."'
ORDER BY datum DESC
";
$result = mysql_query($query) or die('Error : ' . mysql_error());
while ($myrow = mysql_fetch_assoc($result))
{
extract($myrow);
?>
<!-- ### WERK TONEN ######-->
<div style="width:500px;background-color:#0CF; float:right">
<div >
<div>
<h3> <? echo $myrow['klant'] ?></h3>
<p class="newsdate">Geplaatst op: <? echo $myrow['nl_datum'] ?></p>
<p class="newsdate">Middel: <? echo $myrow['category'] ?></p>
<p class="newsdate">Opdracht: <? echo $myrow['label'] ?></p>
<? echo '<img class=plaatje src="image/' . $myrow['name'] . '" />' ; ?>
<p class="newstext"> <? echo ($myrow['tekst']) ?> </p>
<!-- ### MEER mits meer dan 2 opdrachten ####-->
<?
$query .= "WHERE klant = '". $myrow['klant'] ."' ";
$result = mysql_query($query) or die('Error : ' . mysql_error());
if (mysql_num_rows($result) > 2) {// meer dan 2 record dan dit uitvoeren:
$row = mysql_fetch_assoc($result);
?>
<div>
<a class="submenu" href="index.php?pagina=klanten&klant=<?php echo $row['klant']?>"><h3>Meer werk van deze klant</h3></a>
</div>
<?
} //aantal resultaten check afsluiten (nuw_rows >2...)
?>
</div>
</div>
</div>
<?
} // extract row afsluiten
} // klant ophalen aflsuiten (else..)
?>
</div> ?>
En toon alle opdrachten binnen gekozen category, dat werkt goed.. Alleen nu wil per opdracht een link maken naar meer werk van die klant MITS er meer dan twee opdrachten zijn van die klant.
ik krijg nu de error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE klant = 'naam van klant'' at line 14 (niks te zien)
er moet iets niet koppen maar wat.. (regel 47-63)
thnx!
Gewijzigd op 01/01/1970 01:00:00 door David david
select
from
where
order by
where
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE klant = 'naam van klant'' at line 14 (niks te zien)
en dat wordt veroorzaakt door:
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
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
<?php
if (!isset($_GET['category'])) {
// kijken of middel is verkregen
echo "middel niet gedefineerd";
} else {
// category pakken
$query = "
SELECT
id,
name,
label,
tekst,
category,
klant,
DATE_FORMAT(datum, '%d-%m-%Y') AS nl_datum
FROM
upload
WHERE
category = '" . mysql_real_escape_string($_GET['category']) . "'
ORDER BY datum DESC
";
$result = mysql_query($query) or die('Error : ' . mysql_error());
while ($myrow = mysql_fetch_assoc($result)) {
extract($myrow);
?>
<!-- ### WERK TONEN ######-->
<div style="width:500px;background-color:#0CF; float:right">
<div>
<div>
<h3> <?php echo $myrow['klant'] ?></h3>
<p class="newsdate">Geplaatst op: <?php echo $myrow['nl_datum'] ?></p>
<p class="newsdate">Middel: <?php echo $myrow['category'] ?></p>
<p class="newsdate">Opdracht: <?php echo $myrow['label'] ?></p>
<?php echo '<img class=plaatje src="image/' . $myrow['name'] . '" />'; ?>
<p class="newstext"> <? echo ($myrow['tekst']) ?> </p>
<!-- ### MEER mits meer dan 2 opdrachten ####-->
<?php
$query .= "WHERE klant = '" . $myrow['klant'] . "' ";
$result = mysql_query($query) or die('Error : ' . mysql_error());
if (mysql_num_rows($result) > 2) { // meer dan 2 record dan dit uitvoeren:
$row = mysql_fetch_assoc($result);
?>
<div>
<a class="submenu" href="index.php?pagina=klanten&klant=<?php echo $row['klant'] ?>"><h3>Meer werk van deze klant</h3></a>
</div>
<?php
}
?>
</div>
</div>
</div>
<?php
}
}
?>
</div>
if (!isset($_GET['category'])) {
// kijken of middel is verkregen
echo "middel niet gedefineerd";
} else {
// category pakken
$query = "
SELECT
id,
name,
label,
tekst,
category,
klant,
DATE_FORMAT(datum, '%d-%m-%Y') AS nl_datum
FROM
upload
WHERE
category = '" . mysql_real_escape_string($_GET['category']) . "'
ORDER BY datum DESC
";
$result = mysql_query($query) or die('Error : ' . mysql_error());
while ($myrow = mysql_fetch_assoc($result)) {
extract($myrow);
?>
<!-- ### WERK TONEN ######-->
<div style="width:500px;background-color:#0CF; float:right">
<div>
<div>
<h3> <?php echo $myrow['klant'] ?></h3>
<p class="newsdate">Geplaatst op: <?php echo $myrow['nl_datum'] ?></p>
<p class="newsdate">Middel: <?php echo $myrow['category'] ?></p>
<p class="newsdate">Opdracht: <?php echo $myrow['label'] ?></p>
<?php echo '<img class=plaatje src="image/' . $myrow['name'] . '" />'; ?>
<p class="newstext"> <? echo ($myrow['tekst']) ?> </p>
<!-- ### MEER mits meer dan 2 opdrachten ####-->
<?php
$query .= "WHERE klant = '" . $myrow['klant'] . "' ";
$result = mysql_query($query) or die('Error : ' . mysql_error());
if (mysql_num_rows($result) > 2) { // meer dan 2 record dan dit uitvoeren:
$row = mysql_fetch_assoc($result);
?>
<div>
<a class="submenu" href="index.php?pagina=klanten&klant=<?php echo $row['klant'] ?>"><h3>Meer werk van deze klant</h3></a>
</div>
<?php
}
?>
</div>
</div>
</div>
<?php
}
}
?>
</div>
Zo. Nu ziet hij er enigszins netjes uit. Het kan nog netter, maar ik heb geen zin om alles voor jou te gaan doen.
1. Maak het dus nog verder netjes.
2. Kijk naar wat ik veranderd heb (shorttags e.d.)
3. Gebruik een geldige foutafhandeling.
4. Sluit echo's af met ; - nu doe je dat niet!
5. Wat doet extract() daar?? Heb je toch helemaal niet nodig?
6. Hoe kun je een extra WHERE toevoegen aan een query die eindigt met ORDER BY en dus eigenlijk al een volledige query is? (Zul je ook zien als je een goede foutafhandeling maakt!)
Succes ermee.
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
68
69
70
71
72
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
68
69
70
71
72
<?php
if (!isset($_GET['category'])) {
// kijken of middel is verkregen
echo "middel niet gedefineerd";
} else {
// category pakken
$query = "
SELECT
id,
name,
label,
tekst,
category,
klant,
DATE_FORMAT(datum, '%d-%m-%Y') AS nl_datum
FROM
upload
WHERE
category = '" . mysql_real_escape_string($_GET['category']) . "'
ORDER BY datum DESC
";
$result = mysql_query($query) or die('Error : ' . mysql_error());
while ($myrow = mysql_fetch_assoc($result)) {
extract($myrow);
?>
<!-- ### WERK TONEN ######-->
<div style="width:500px;background-color:#0CF; float:right">
<div>
<div>
<h3> <?php echo $myrow['klant'] ?></h3>
<p class="newsdate">Geplaatst op: <?php echo $myrow['nl_datum'] ?></p>
<p class="newsdate">Middel: <?php echo $myrow['category'] ?></p>
<p class="newsdate">Opdracht: <?php echo $myrow['label'] ?></p>
<?php echo '<img class=plaatje src="image/' . $myrow['name'] . '" />'; ?>
<p class="newstext"> <? echo ($myrow['tekst']) ?> </p>
<!-- ### MEER mits meer dan 2 opdrachten ####-->
<?php
$query = "SELECT
*
FROM
upload
WHERE
klant = '". $myrow['klant'] ."'
";
$result = mysql_query($query) or die('Error : ' . mysql_error());
if (mysql_num_rows($result) > 2) { // meer dan 2 record dan dit uitvoeren:
$row = mysql_fetch_assoc($result);
?>
<div>
<a class="submenu" href="index.php?pagina=klanten&klant=<?php echo $row['klant'] ?>"><h3>Meer werk van deze klant</h3></a>
</div>
<?php
}
?>
</div>
</div>
</div>
<?php
}
}
?>
</div>
if (!isset($_GET['category'])) {
// kijken of middel is verkregen
echo "middel niet gedefineerd";
} else {
// category pakken
$query = "
SELECT
id,
name,
label,
tekst,
category,
klant,
DATE_FORMAT(datum, '%d-%m-%Y') AS nl_datum
FROM
upload
WHERE
category = '" . mysql_real_escape_string($_GET['category']) . "'
ORDER BY datum DESC
";
$result = mysql_query($query) or die('Error : ' . mysql_error());
while ($myrow = mysql_fetch_assoc($result)) {
extract($myrow);
?>
<!-- ### WERK TONEN ######-->
<div style="width:500px;background-color:#0CF; float:right">
<div>
<div>
<h3> <?php echo $myrow['klant'] ?></h3>
<p class="newsdate">Geplaatst op: <?php echo $myrow['nl_datum'] ?></p>
<p class="newsdate">Middel: <?php echo $myrow['category'] ?></p>
<p class="newsdate">Opdracht: <?php echo $myrow['label'] ?></p>
<?php echo '<img class=plaatje src="image/' . $myrow['name'] . '" />'; ?>
<p class="newstext"> <? echo ($myrow['tekst']) ?> </p>
<!-- ### MEER mits meer dan 2 opdrachten ####-->
<?php
$query = "SELECT
*
FROM
upload
WHERE
klant = '". $myrow['klant'] ."'
";
$result = mysql_query($query) or die('Error : ' . mysql_error());
if (mysql_num_rows($result) > 2) { // meer dan 2 record dan dit uitvoeren:
$row = mysql_fetch_assoc($result);
?>
<div>
<a class="submenu" href="index.php?pagina=klanten&klant=<?php echo $row['klant'] ?>"><h3>Meer werk van deze klant</h3></a>
</div>
<?php
}
?>
</div>
</div>
</div>
<?php
}
}
?>
</div>
nu blijft hij alleen alle resultaten binnen halen (oneindige loop..).. iets verkeerd afgesloten?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$result = mysql_query($query) or die('Error : ' . mysql_error());
while ($myrow = mysql_fetch_assoc($result))
{
$result = mysql_query($query) or die('Error : ' . mysql_error());
if (mysql_num_rows($result) > 2)
{
$row = mysql_fetch_assoc($result);
}
}
?>
$result = mysql_query($query) or die('Error : ' . mysql_error());
while ($myrow = mysql_fetch_assoc($result))
{
$result = mysql_query($query) or die('Error : ' . mysql_error());
if (mysql_num_rows($result) > 2)
{
$row = mysql_fetch_assoc($result);
}
}
?>
Let op $result.
Aan de hand van SanThe's inkorting werd het wat duidelijker. $result blijft continu vernieuwd worden waardoor de loop zal blijven lopen. Misschien moet je eens gaan nadenken over duidelijkere en vooral verschillende variabele namen per query.
Ik snap sowieso niet waarom je die tweede query uitvoert. Je hebt de klant toch al in $myrow zitten? Wat je nu eigenlijk doet is:
Hoe kijk je hier nu zelf tegenaan?
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo
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
68
69
70
71
72
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
68
69
70
71
72
<?php
if (!isset($_GET['category'])) {
// kijken of middel is verkregen
echo "middel niet gedefineerd";
} else {
// category pakken
$query = "
SELECT
id,
name,
label,
tekst,
category,
klant,
DATE_FORMAT(datum, '%d-%m-%Y') AS nl_datum
FROM
upload
WHERE
category = '" . mysql_real_escape_string($_GET['category']) . "'
ORDER BY datum DESC
";
$result = mysql_query($query) or die('Error : ' . mysql_error());
while ($myrow = mysql_fetch_assoc($result)) {
?>
<!-- ### WERK TONEN ######-->
<div style="width:500px;background-color:#0CF; float:right">
<div>
<div>
<h3> <?php echo $myrow['klant'] ?></h3>
<p class="newsdate">Geplaatst op: <?php echo $myrow['nl_datum'] ?></p>
<p class="newsdate">Middel: <?php echo $myrow['category'] ?></p>
<p class="newsdate">Opdracht: <?php echo $myrow['label'] ?></p>
<?php echo '<img class=plaatje src="image/' . $myrow['name'] . '" />'; ?>
<p class="newstext"> <? echo ($myrow['tekst']) ?> </p>
<!-- ### MEER mits meer dan 2 opdrachten ####-->
<?php
$query = "SELECT
*
FROM
upload
WHERE
klant = '". $myrow['klant'] ."'
";
$result = mysql_query($query) or die('Error : ' . mysql_error());
if (mysql_num_rows($result) > 2) { // meer dan 2 record dan dit uitvoeren:
$row = mysql_fetch_assoc($result);
?>
<a class="submenu" href="index.php?pagina=klanten&klant=<?php echo $row['klant'] ?>"><h3>Meer werk van deze klant</h3></a>
<?php
}
?>
<!-- ### MEER mits meer dan 2 opdrachten ####-->
</div>
</div>
</div>
<?php
}
}
?>
if (!isset($_GET['category'])) {
// kijken of middel is verkregen
echo "middel niet gedefineerd";
} else {
// category pakken
$query = "
SELECT
id,
name,
label,
tekst,
category,
klant,
DATE_FORMAT(datum, '%d-%m-%Y') AS nl_datum
FROM
upload
WHERE
category = '" . mysql_real_escape_string($_GET['category']) . "'
ORDER BY datum DESC
";
$result = mysql_query($query) or die('Error : ' . mysql_error());
while ($myrow = mysql_fetch_assoc($result)) {
?>
<!-- ### WERK TONEN ######-->
<div style="width:500px;background-color:#0CF; float:right">
<div>
<div>
<h3> <?php echo $myrow['klant'] ?></h3>
<p class="newsdate">Geplaatst op: <?php echo $myrow['nl_datum'] ?></p>
<p class="newsdate">Middel: <?php echo $myrow['category'] ?></p>
<p class="newsdate">Opdracht: <?php echo $myrow['label'] ?></p>
<?php echo '<img class=plaatje src="image/' . $myrow['name'] . '" />'; ?>
<p class="newstext"> <? echo ($myrow['tekst']) ?> </p>
<!-- ### MEER mits meer dan 2 opdrachten ####-->
<?php
$query = "SELECT
*
FROM
upload
WHERE
klant = '". $myrow['klant'] ."'
";
$result = mysql_query($query) or die('Error : ' . mysql_error());
if (mysql_num_rows($result) > 2) { // meer dan 2 record dan dit uitvoeren:
$row = mysql_fetch_assoc($result);
?>
<a class="submenu" href="index.php?pagina=klanten&klant=<?php echo $row['klant'] ?>"><h3>Meer werk van deze klant</h3></a>
<?php
}
?>
<!-- ### MEER mits meer dan 2 opdrachten ####-->
</div>
</div>
</div>
<?php
}
}
?>
mar las ik dit stuk weglaat:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$query = "SELECT
*
FROM
upload
WHERE
klant = '". $myrow['klant'] ."'
";
$result = mysql_query($query) or die('Error : ' . mysql_error());
if (mysql_num_rows($result) > 2) { // meer dan 2 record dan dit uitvoeren:
$row = mysql_fetch_assoc($result);
?>
<a class="submenu" href="index.php?pagina=klanten&klant=<?php echo $row['klant'] ?>"><h3>Meer werk van deze klant</h3></a>
<?php
}
?>
$query = "SELECT
*
FROM
upload
WHERE
klant = '". $myrow['klant'] ."'
";
$result = mysql_query($query) or die('Error : ' . mysql_error());
if (mysql_num_rows($result) > 2) { // meer dan 2 record dan dit uitvoeren:
$row = mysql_fetch_assoc($result);
?>
<a class="submenu" href="index.php?pagina=klanten&klant=<?php echo $row['klant'] ?>"><h3>Meer werk van deze klant</h3></a>
<?php
}
?>
dan werkt het wel redelijk (geen loop meer..)
voorbeeld: http://blikvoer.com/temp/samtest/index.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$result = mysql_query($query) or die('Error : ' . mysql_error());
while ($myrow = mysql_fetch_assoc($result))
{
$ANDEREresult = mysql_query($ANDEREquery) or die('Error : ' . mysql_error());
if (mysql_num_rows($ANDEREresult) > 2)
{
$row = mysql_fetch_assoc($ANDEREresult);
}
}
?>
$result = mysql_query($query) or die('Error : ' . mysql_error());
while ($myrow = mysql_fetch_assoc($result))
{
$ANDEREresult = mysql_query($ANDEREquery) or die('Error : ' . mysql_error());
if (mysql_num_rows($ANDEREresult) > 2)
{
$row = mysql_fetch_assoc($ANDEREresult);
}
}
?>
was het probleem nou de dubbele query namen (+results)?
En terug komen op Jezpur wat betreft dubbele query..
Ik wil meer van die klant laten zien als dat er is.. en niet meer binnen category..dat gebeurt al..(denk ik :P )
Op het moment dat je dezelfde $var namen gebruikt worden ze gewoon overschreven. Dus in mijn scriptje wordt $result op regel 5 opnieuw gevuld met een andere waarde. Vervolgens ga je op regel 3 de volgende fetch doen maar wel van een heel ander resultaat. En weer op regel 5 ..... enz. En dat blijft ie doen tot in de eeuwigheid.