php/sql vraag
En ik moet maken dat hij bij elke kolom in het script alleen diegene loopt met in de sql kolom de waarde 3 bij kolom 3 in de html. en bij html kolom 2 alleen die met waarde 2 bij kolom in sql. Hoe maak ik dat?
Want ik had eerst de $result 3x in het script. Maar dat werkte niet.
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Passierooster|prikbord</title>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js"></script>
<link href="inettuts.css" rel="stylesheet" type="text/css" />
</head>
<body>
<script type="text/javascript">
$('<style type="text/css">.column{visibility:hidden;}</style>').appendTo('head');
$('body').css({background: '#000 url(img/load.gif) no-repeat center'})
</script>
<?php
$dbuser="";
$dbpass="";
$dbname=""; //the name of the database
$chandle = mysql_connect("localhost", $dbuser, $dbpass)
or die("Connection Failure to Database");
mysql_select_db($dbname, $chandle) or die ($dbname . " Database not found. " . $dbuser);
$result = mysql_query("SELECT * FROM prikbord");
?>
<div id="head">
<h1>Prikbord</h1>
</div>
<div id="columns">
<ul id="column1" class="column">
<?php
while($row = mysql_fetch_array($result))
{
$idnummer = $row['0'];
$bericht = $row['1'];
$kolom = $row['2'];
$kleur = $row['3'];
$titel = $row['4'];
echo <<<HTML
<li class="widget color-$kleur" id="$idnummer">
<div class="widget-head">
<h3>$titel</h3>
</div>
<div class="widget-content">
<p>$bericht</p>
</div>
</li>
HTML;
}
?>
</ul>
<ul id="column2" class="column">
<?php
while($row = mysql_fetch_array($result))
{
$idnummer = $row['0'];
$bericht = $row['1'];
$kolom = $row['2'];
$kleur = $row['3'];
$titel = $row['4'];
echo <<<HTML
<li class="widget color-$kleur" id="$idnummer">
<div class="widget-head">
<h3>$titel</h3>
</div>
<div class="widget-content">
<p>$bericht</p>
</div>
</li>
HTML;
}
?>
</ul>
<ul id="column3" class="column">
<?php
while($row = mysql_fetch_array($result))
{
$idnummer = $row['0'];
$bericht = $row['1'];
$kolom = $row['2'];
$kleur = $row['3'];
$titel = $row['4'];
echo <<<HTML
<li class="widget color-$kleur" id="$idnummer">
<div class="widget-head">
<h3>$titel</h3>
</div>
<div class="widget-content">
<p>$bericht</p>
</div>
</li>
HTML;
}
?>
</ul>
</div>
<script type="text/javascript" src="jquery-ui-personalized-1.6rc2.min.js"></script>
<script type="text/javascript" src="cookie.jquery.js"></script>
<script type="text/javascript" src="inettuts.js"></script>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Passierooster|prikbord</title>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js"></script>
<link href="inettuts.css" rel="stylesheet" type="text/css" />
</head>
<body>
<script type="text/javascript">
$('<style type="text/css">.column{visibility:hidden;}</style>').appendTo('head');
$('body').css({background: '#000 url(img/load.gif) no-repeat center'})
</script>
<?php
$dbuser="";
$dbpass="";
$dbname=""; //the name of the database
$chandle = mysql_connect("localhost", $dbuser, $dbpass)
or die("Connection Failure to Database");
mysql_select_db($dbname, $chandle) or die ($dbname . " Database not found. " . $dbuser);
$result = mysql_query("SELECT * FROM prikbord");
?>
<div id="head">
<h1>Prikbord</h1>
</div>
<div id="columns">
<ul id="column1" class="column">
<?php
while($row = mysql_fetch_array($result))
{
$idnummer = $row['0'];
$bericht = $row['1'];
$kolom = $row['2'];
$kleur = $row['3'];
$titel = $row['4'];
echo <<<HTML
<li class="widget color-$kleur" id="$idnummer">
<div class="widget-head">
<h3>$titel</h3>
</div>
<div class="widget-content">
<p>$bericht</p>
</div>
</li>
HTML;
}
?>
</ul>
<ul id="column2" class="column">
<?php
while($row = mysql_fetch_array($result))
{
$idnummer = $row['0'];
$bericht = $row['1'];
$kolom = $row['2'];
$kleur = $row['3'];
$titel = $row['4'];
echo <<<HTML
<li class="widget color-$kleur" id="$idnummer">
<div class="widget-head">
<h3>$titel</h3>
</div>
<div class="widget-content">
<p>$bericht</p>
</div>
</li>
HTML;
}
?>
</ul>
<ul id="column3" class="column">
<?php
while($row = mysql_fetch_array($result))
{
$idnummer = $row['0'];
$bericht = $row['1'];
$kolom = $row['2'];
$kleur = $row['3'];
$titel = $row['4'];
echo <<<HTML
<li class="widget color-$kleur" id="$idnummer">
<div class="widget-head">
<h3>$titel</h3>
</div>
<div class="widget-content">
<p>$bericht</p>
</div>
</li>
HTML;
}
?>
</ul>
</div>
<script type="text/javascript" src="jquery-ui-personalized-1.6rc2.min.js"></script>
<script type="text/javascript" src="cookie.jquery.js"></script>
<script type="text/javascript" src="inettuts.js"></script>
</body>
</html>
1. maak geen overbidge variabelen aan
2. gebruik geen heredeoc of gelijkende schrijfwijzen
3. en hoe vaak kom je in topics tegen dat je niet _fetch_array moet gebruiken maar _fetch_assoc
4. en ene div kan je niet nesten in een li
je hebt maar 1 while nodig dus probeer het met die wetenschap dan nog eens
Gewijzigd op 22/04/2011 20:10:26 door Noppes Homeland
Alleen Div in <li> bijvoorbeeld werkte bij orginele script wel goed. En anders moet ik heel script gaat omgooien.
En dat met maar 1 while. Ik kan niet bedenken hoe. Want soms worden er meerdere onder dezelfde kolom weergegeven.
Dit is wat ik nu heb
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Passierooster|prikbord</title>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js"></script>
<link href="inettuts.css" rel="stylesheet" type="text/css" />
</head>
<body>
<script type="text/javascript">
$('<style type="text/css">.column{visibility:hidden;}</style>').appendTo('head');
$('body').css({background: '#000 url(img/load.gif) no-repeat center'})
</script>
<?php
$dbuser="";
$dbpass="";
$dbname=""; //the name of the database
$chandle = mysql_connect("localhost", $dbuser, $dbpass)
or die("Connection Failure to Database");
mysql_select_db($dbname, $chandle) or die ($dbname . " Database not found. " . $dbuser);
$result = mysql_query("SELECT * FROM prikbord");
?>
<div id="head">
<h1>Prikbord</h1>
</div>
<div id="columns">
<ul id="column1" class="column">
<?php
while($row = mysql_fetch_assoc($result))
{
print "<li class=/"widget color-$row['kleur']/" id=/"$row['id']/">";
print " <div class=/"widget-head/">";
print "<h3>$row['titel']</h3>";
print " </div>";
print "<div class=/"widget-content/">";
print " <p>$row['tekst']</p>";
print " </div>";
print " </li>";
}
?>
</ul>
<ul id="column2" class="column">
<?php
while($row = mysql_fetch_assoc($result))
{
print "<li class=/"widget color-$row['kleur']/" id=/"$row['id']/">";
print " <div class=/"widget-head/">";
print "<h3>$row['titel']</h3>";
print " </div>";
print "<div class=/"widget-content/">";
print " <p>$row['tekst']</p>";
print " </div>";
print " </li>";
}
?>
</ul>
<ul id="column3" class="column">
<?php
while($row = mysql_fetch_assoc($result))
{
print "<li class=/"widget color-$row['kleur']/" id=/"$row['id']/">";
print " <div class=/"widget-head/">";
print "<h3>$row['titel']</h3>";
print " </div>";
print "<div class=/"widget-content/">";
print " <p>$row['tekst']</p>";
print " </div>";
print " </li>";
}
?>
</ul>
</div>
<script type="text/javascript" src="jquery-ui-personalized-1.6rc2.min.js"></script>
<script type="text/javascript" src="cookie.jquery.js"></script>
<script type="text/javascript" src="inettuts.js"></script>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Passierooster|prikbord</title>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js"></script>
<link href="inettuts.css" rel="stylesheet" type="text/css" />
</head>
<body>
<script type="text/javascript">
$('<style type="text/css">.column{visibility:hidden;}</style>').appendTo('head');
$('body').css({background: '#000 url(img/load.gif) no-repeat center'})
</script>
<?php
$dbuser="";
$dbpass="";
$dbname=""; //the name of the database
$chandle = mysql_connect("localhost", $dbuser, $dbpass)
or die("Connection Failure to Database");
mysql_select_db($dbname, $chandle) or die ($dbname . " Database not found. " . $dbuser);
$result = mysql_query("SELECT * FROM prikbord");
?>
<div id="head">
<h1>Prikbord</h1>
</div>
<div id="columns">
<ul id="column1" class="column">
<?php
while($row = mysql_fetch_assoc($result))
{
print "<li class=/"widget color-$row['kleur']/" id=/"$row['id']/">";
print " <div class=/"widget-head/">";
print "<h3>$row['titel']</h3>";
print " </div>";
print "<div class=/"widget-content/">";
print " <p>$row['tekst']</p>";
print " </div>";
print " </li>";
}
?>
</ul>
<ul id="column2" class="column">
<?php
while($row = mysql_fetch_assoc($result))
{
print "<li class=/"widget color-$row['kleur']/" id=/"$row['id']/">";
print " <div class=/"widget-head/">";
print "<h3>$row['titel']</h3>";
print " </div>";
print "<div class=/"widget-content/">";
print " <p>$row['tekst']</p>";
print " </div>";
print " </li>";
}
?>
</ul>
<ul id="column3" class="column">
<?php
while($row = mysql_fetch_assoc($result))
{
print "<li class=/"widget color-$row['kleur']/" id=/"$row['id']/">";
print " <div class=/"widget-head/">";
print "<h3>$row['titel']</h3>";
print " </div>";
print "<div class=/"widget-content/">";
print " <p>$row['tekst']</p>";
print " </div>";
print " </li>";
}
?>
</ul>
</div>
<script type="text/javascript" src="jquery-ui-personalized-1.6rc2.min.js"></script>
<script type="text/javascript" src="cookie.jquery.js"></script>
<script type="text/javascript" src="inettuts.js"></script>
</body>
</html>
1. 1 print/echo per html blok is meer dan voldoende
2. gebruik ook geen print maar altijd echo
http://www.php.net/echo
http://www.php.net/print
goed lezen wat het verschil is
3. php variabelen buiten quotes!
4. quote je strings altijd met enkele quotes, dan wordt je al gedwongen om stap 3 te doen. Uitzonderingen:
- SQL statements
- \r \n \t
5. doe geen pogingen quotes te escapen want dat is niet nodig als je stap 3,4 goed weet toe te passen
6. een div kan je niet nesten in een li, dat is geen valide html
Gewijzigd op 22/04/2011 20:26:03 door Wouterjan Muchu
Of helemaal geen lijst elemenenten gebruiken
Nee, het ligt ook niet aan het feit dat je een div in een li nest - wat in feite niet goed is -, maar wel met het feit dat dit nu de drede keer wordt dat je erop gewezen wordt, dat je het met 1 while moet doen en niet met drie
Over de while. Zou je me iets op weg kunnen helpen hoe ik dat moet doen?
Want hij moet niet bij elke while <ul id="column1" class="column"> zetten. maar 1x bij alle kolom 1, 1x bij alle kolom 2 ect
ja en dan laat je dat toch ook vallen als dat in jouw ogen niet past.
Heeft niets met jouw probleem te maken, maar zou het niet ook slimmer zijn om te beginnen met OOP programmeren, of in ieder geval met templates? Dat is veel overzichtelijker joh ;)