Mijn eerste Class en foutmelding
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /usr/home/domains/public_html/mijn_toegang.inc.php on line 62
Wat heb ik niet goed of het boek?
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
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
<?php
class mijn_toegang{
//Variabelen voor toegangsgegevens
var $user=""; //Gebruikersnaam voor MySql
var $password=""; //Wachtwoord
var $host="localhost"; //Naam (ip-adres) van computer met MySql
var $dbname=""; //Naam van de database
//Overige variabelen
var $db_verbinding=false; //Resultaat van verbinding
var $sql_result=false; //Resultaat van uitgevoerde Sql-opdracht
//Constructor definiëren
function mijn_toegang(){
//Functie verbinden wordt uitgevoerd bij aanroepen klasse
$this->verbinden();
}
//Als verbinding niet bestaat,
//verbinding opzetten en database als standaard definiëren
function verbinden(){
if ($this->db_verbinding==false){
$this->db_verbinding = @mysql_connect($this->host, $this->user, $this->password);
if (empty($this->db_verbinding)){
$this->fout("Bij opzetten verbinding");
}
$keuze = @mysql_select_db($this->dbname, $this->db_verbinding);
if(empty ($keuze)){
$this->fout("Bij selecteren van DB");
}
return $this->db_verbinding;
}
}
//Geef foutmelding weer en sluit script af
function fout($foutpunt){
echo $foutpunt . " is een fout opgetreden!<br />";
echo mysql_error() . "<br />"; //beschrijving van fout
echo mysql_errno(); //foutnummer
echo "</body></html>"; //html-tags sluiten
exit;
}
//Sql-opdracht uitvoeren
function sql_opdracht ($sql){
$this->sql_result = @mysql_query($sql, $this->db_verbinding);
if (empty($this->sql_result)){
$this->fout("Bij verzenden query");
}
return $this->sql_result;
}
//Als er al eerder een Sql-opdracht is uitgevoerd,
//wordt hier de array met de records weergegeven
function sql_gegevens(){
if(!empty($this->sql_result)){
$sql_array=@mysql_fetch_array($this->sql_result);
return $sql_array;
}else{
$this->fout ("Bij het weergeven van de records");
}
}
//Aan het einde van het script wordt de klasse direct aangeroepen
$db=new mijn_toegang();
?>
class mijn_toegang{
//Variabelen voor toegangsgegevens
var $user=""; //Gebruikersnaam voor MySql
var $password=""; //Wachtwoord
var $host="localhost"; //Naam (ip-adres) van computer met MySql
var $dbname=""; //Naam van de database
//Overige variabelen
var $db_verbinding=false; //Resultaat van verbinding
var $sql_result=false; //Resultaat van uitgevoerde Sql-opdracht
//Constructor definiëren
function mijn_toegang(){
//Functie verbinden wordt uitgevoerd bij aanroepen klasse
$this->verbinden();
}
//Als verbinding niet bestaat,
//verbinding opzetten en database als standaard definiëren
function verbinden(){
if ($this->db_verbinding==false){
$this->db_verbinding = @mysql_connect($this->host, $this->user, $this->password);
if (empty($this->db_verbinding)){
$this->fout("Bij opzetten verbinding");
}
$keuze = @mysql_select_db($this->dbname, $this->db_verbinding);
if(empty ($keuze)){
$this->fout("Bij selecteren van DB");
}
return $this->db_verbinding;
}
}
//Geef foutmelding weer en sluit script af
function fout($foutpunt){
echo $foutpunt . " is een fout opgetreden!<br />";
echo mysql_error() . "<br />"; //beschrijving van fout
echo mysql_errno(); //foutnummer
echo "</body></html>"; //html-tags sluiten
exit;
}
//Sql-opdracht uitvoeren
function sql_opdracht ($sql){
$this->sql_result = @mysql_query($sql, $this->db_verbinding);
if (empty($this->sql_result)){
$this->fout("Bij verzenden query");
}
return $this->sql_result;
}
//Als er al eerder een Sql-opdracht is uitgevoerd,
//wordt hier de array met de records weergegeven
function sql_gegevens(){
if(!empty($this->sql_result)){
$sql_array=@mysql_fetch_array($this->sql_result);
return $sql_array;
}else{
$this->fout ("Bij het weergeven van de records");
}
}
//Aan het einde van het script wordt de klasse direct aangeroepen
$db=new mijn_toegang();
?>
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
class mijn_toegang{
//Variabelen voor toegangsgegevens
var $user=""; //Gebruikersnaam voor MySql
var $password=""; //Wachtwoord
var $host="localhost"; //Naam (ip-adres) van computer met MySql
var $dbname=""; //Naam van de database
//Overige variabelen
var $db_verbinding=false; //Resultaat van verbinding
var $sql_result=false; //Resultaat van uitgevoerde Sql-opdracht
//Constructor definiëren
function mijn_toegang(){
//Functie verbinden wordt uitgevoerd bij aanroepen klasse
$this->verbinden();
}
//Als verbinding niet bestaat,
//verbinding opzetten en database als standaard definiëren
function verbinden(){
if ($this->db_verbinding==false){
$this->db_verbinding = @mysql_connect($this->host, $this->user, $this->password);
if (empty($this->db_verbinding)){
$this->fout("Bij opzetten verbinding");
}
$keuze = @mysql_select_db($this->dbname, $this->db_verbinding);
if(empty ($keuze)){
$this->fout("Bij selecteren van DB");
}
return $this->db_verbinding;
}
}
//Geef foutmelding weer en sluit script af
function fout($foutpunt){
echo $foutpunt . " is een fout opgetreden!<br />";
echo mysql_error() . "<br />"; //beschrijving van fout
echo mysql_errno(); //foutnummer
echo "</body></html>"; //html-tags sluiten
exit;
}
//Sql-opdracht uitvoeren
function sql_opdracht ($sql){
$this->sql_result = @mysql_query($sql, $this->db_verbinding);
if (empty($this->sql_result)){
$this->fout("Bij verzenden query");
}
return $this->sql_result;
}
//Als er al eerder een Sql-opdracht is uitgevoerd,
//wordt hier de array met de records weergegeven
function sql_gegevens(){
if(!empty($this->sql_result)){
$sql_array=@mysql_fetch_array($this->sql_result);
return $sql_array;
}else{
$this->fout ("Bij het weergeven van de records");
}
}
}//<<<<<<<<<<<<<<<<<
//Aan het einde van het script wordt de klasse direct aangeroepen
$db=new mijn_toegang();
?>
class mijn_toegang{
//Variabelen voor toegangsgegevens
var $user=""; //Gebruikersnaam voor MySql
var $password=""; //Wachtwoord
var $host="localhost"; //Naam (ip-adres) van computer met MySql
var $dbname=""; //Naam van de database
//Overige variabelen
var $db_verbinding=false; //Resultaat van verbinding
var $sql_result=false; //Resultaat van uitgevoerde Sql-opdracht
//Constructor definiëren
function mijn_toegang(){
//Functie verbinden wordt uitgevoerd bij aanroepen klasse
$this->verbinden();
}
//Als verbinding niet bestaat,
//verbinding opzetten en database als standaard definiëren
function verbinden(){
if ($this->db_verbinding==false){
$this->db_verbinding = @mysql_connect($this->host, $this->user, $this->password);
if (empty($this->db_verbinding)){
$this->fout("Bij opzetten verbinding");
}
$keuze = @mysql_select_db($this->dbname, $this->db_verbinding);
if(empty ($keuze)){
$this->fout("Bij selecteren van DB");
}
return $this->db_verbinding;
}
}
//Geef foutmelding weer en sluit script af
function fout($foutpunt){
echo $foutpunt . " is een fout opgetreden!<br />";
echo mysql_error() . "<br />"; //beschrijving van fout
echo mysql_errno(); //foutnummer
echo "</body></html>"; //html-tags sluiten
exit;
}
//Sql-opdracht uitvoeren
function sql_opdracht ($sql){
$this->sql_result = @mysql_query($sql, $this->db_verbinding);
if (empty($this->sql_result)){
$this->fout("Bij verzenden query");
}
return $this->sql_result;
}
//Als er al eerder een Sql-opdracht is uitgevoerd,
//wordt hier de array met de records weergegeven
function sql_gegevens(){
if(!empty($this->sql_result)){
$sql_array=@mysql_fetch_array($this->sql_result);
return $sql_array;
}else{
$this->fout ("Bij het weergeven van de records");
}
}
}//<<<<<<<<<<<<<<<<<
//Aan het einde van het script wordt de klasse direct aangeroepen
$db=new mijn_toegang();
?>
Gewijzigd op 01/01/1970 01:00:00 door Mebus Hackintosh
(Het boek heet: MySQL zonder stress, nou ik heb dus al zitten stressen !!)
Of moet ik $data steeds een andere naam geven.
Nu laat hij namelijk de artikelen niet zien die onder categorie komen(groep)
?
<div class="categorie" >
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$db->sql_opdracht("SELECT cat_id,cat_naam FROM categorie ORDER BY cat_naam");
echo '<form method="POST" >';
echo '<select name="categorie" class="select">';
while ($data = $db->sql_gegevens()){
echo '<option value="'.$data['cat_id'] .'">'.$data['cat_naam'].'</option>';
}
echo '</select>';
echo '<input name="submit" type="image" value="categorie" src="plaatjes/pijlrechts.gif" alt="Bekijk deze categorie" />';
echo '</form>';
?>
$db->sql_opdracht("SELECT cat_id,cat_naam FROM categorie ORDER BY cat_naam");
echo '<form method="POST" >';
echo '<select name="categorie" class="select">';
while ($data = $db->sql_gegevens()){
echo '<option value="'.$data['cat_id'] .'">'.$data['cat_naam'].'</option>';
}
echo '</select>';
echo '<input name="submit" type="image" value="categorie" src="plaatjes/pijlrechts.gif" alt="Bekijk deze categorie" />';
echo '</form>';
?>
</div> <!-- einde div categorie in het menulinks-->
<h1>Groep</h1>
<div class="groep" >
Code (php)
</div> <!-- einde div groep in menulinks -->
?>
In de variabele $data zit voor iedere loop een array met daarin de kolommen van de query (Ofwel 1 record uit bijvoorbeeld 1 of meer tabellen). Als er geen records meer zijn dan wordt $data gelijk aan (boolean) false en stopt dus de while loop (of lus).
edit:
Dit bedoelt u:
Code (php)
In het onderste geval wordt $data overschreven door de binnenste while lus. Als dit het gewenste resultaat is dan hoeft het natuurlijk niet fout te zijn.
Maar we kunnen na de binnenste while lus niet meer met de $data uit de buitenste while lus werken.
Gewijzigd op 01/01/1970 01:00:00 door Martijn B
Maar ik heb mijn while lussen afgesloten voordat ik met een nieuwe begin. Maar hij laat de gegevens niet zien.
Testpagina
Toen ik het op de oude manier deed, dus het selecteren van de database, stond er bij groepen: Algemeen, kinderen, vrouwen, mannen, dieren.