Overbelaste server, daarom nakijken scripts.
www.hetpaardenspel.nl en de CPU load 80% is.
Vroeg ik mij af wat jullie van de scripting vinden. Onze Dual Opteron 165 verwerkt 500 queries per seconde. Best veel dus.
:D Help dus welkom.
//De pagina waar config/functies enzo staan//
//Een script die gewoon op de site gebruikt word.//
<table border="0" cellpadding="0" cellspacing="0" class="hoi">
<tr>
<td colspan="3" height="100" align="center" width="100%" valign="top">
</td>
</tr>
<tr>
<td width="150" align="center" valign="top">
</td>
<td align="center" width="100%" valign="top">
<form method="POST" action="">
<center>
<table border="1" bordercolor="#000000" cellpadding="2" cellspacing="1">
<tr>
<th colspan=2>
Je kreeg nog een leuk afscheidsfeest, weet je zeker dat je weg wil?
</th>
</tr>
<tr>
<td>
<input type="submit" name="ja" value=" Ja, feest was een flop! ">
</td>
<td>
<input type="submit" name="nee" value=" Nee, het feestje was te leuk! ">
</td>
</tr>
</table>
<table border="1" bordercolor="#000000" cellpadding="2" cellspacing="1" width="99%">
<tr><th colspan="2">Les geven</th></tr>
<tr><th>Gebruiker:</th><th>Les geven:</th></tr>
<tr>
<td>
<a href='../profiel/profiel_bekijken.php?naam=&pp=../baantjes/les_geven2.php'></a>
</td>
<td>
<a href="?actie=les_geven&id="><b>Les geven</b></a>
</td>
</tr>
</table>
<p>
<p>
<table border="1" bordercolor="#000000" cellpadding="2" cellspacing="1">
<tr>
<th>
Opties
</th>
</tr>
<tr>
<td>
<input type="submit" name="ontslag" value=" Ik neem ontslag!* ">
</td>
</tr>
<tr>
<td>
<input type="submit" name="pauze" value=" Ik ga weer aan het werk! ">
<input type="submit" name="pauze" value=" Ik neem pauze! ">
</td>
</tr>
<tr>
<td>
* = Je krijgt geen geld terug indien je ontslag neemt!
</td>
</tr>
</table>
</center>
</td>
<td width="150" align="center" valign="top">
</td>
</tr>
</table>
Sinds we een eigen server hebben voor ons spel, Vroeg ik mij af wat jullie van de scripting vinden. Onze Dual Opteron 165 verwerkt 500 queries per seconde. Best veel dus.
:D Help dus welkom.
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<?php
class db {
var $link_id = 0;
var $query_id = 0;
var $record = array();
var $queries = array();
var $errdesc = "";
var $errno = 0;
var $show_error = 1;
var $phpversion = 1;
var $server = "";
var $user = "";
var $password = "";
var $database = "";
var $appname = "Het Paardenspel";
function db($server,$user,$password,$database,$phpversion=4) {
$this->server=$server;
$this->user=$user;
$this->password=$password;
$this->database=$database;
$this->phpversion=$phpversion;
$this->connect();
$this->querys=array();
}
function connect() {
$this->link_id=mysql_connect($this->server,$this->user,$this->password);
if (!$this->link_id) $this->error("Link-ID == false, connect failed");
if ($this->database!="") $this->select_db($this->database);
}
function close() {
return @mysql_close($this->link_id) or $this->error(DATABASE_CLASS_CLOSE);
}
function getMicrotime()
{
list($usec, $sec) = explode( " ", microtime());
return ((float) $usec + (float) $sec);
}
function geterrdesc() {
$this->error=mysql_error();
return $this->error;
}
function geterrno() {
$this->errno=mysql_errno();
return $this->errno;
}
function select_db($database="") {
if ($database!="") $this->database=$database;
if(!@mysql_select_db($this->database, $this->link_id)) $this->error("cannot use database ".$this->database);
}
function query($query_string,$limit=0,$offset=0) {
if($limit!=0) $query_string.=" LIMIT $offset, $limit";
$this->queries[]="$query_string";
$this->querys[]=$sql;
$startTime = $this->getMicrotime();
$this->query_id = mysql_query($query_string,$this->link_id);
$endTime = $this->getMicrotime();
$this->queryTime+=$endTime-$startTime;
if (!$this->query_id) $this->error("Invalid SQL: ".$query_string);
return $this->query_id;
}
function query1($query_string) {
$this->queries[]="$query_string";
$this->querys[]=$sql;
$startTime = $this->getMicrotime();
$this->query_id = mysql_query($query_string,$this->link_id);
$endTime = $this->getMicrotime();
$this->queryTime+=$endTime-$startTime;
if (!$this->query_id) $this->error("Invalid SQL: ".$query_string);
return $this->query_id;
}
function unbuffered_query($query_string,$LOW_PRIORITY=0) {
if($this->phpversion<406) return $this->query($query_string);
else {
if($LOW_PRIORITY==1) $query_string=substr($query_string,0,6)." LOW_PRIORITY".substr($query_string,6);
$this->queries[]="unbuffered: $query_string";
$this->query_id = mysql_unbuffered_query($query_string,$this->link_id);
if (!$this->query_id) $this->error("Invalid SQL: ".$query_string);
return $this->query_id;
}
}
function fetch_array($query_id=-1) {
if ($query_id!=-1) $this->query_id=$query_id;
$this->record = mysql_fetch_array($this->query_id);
return $this->record;
}
function fetch_row($query_id=-1) {
if ($query_id!=-1) $this->query_id=$query_id;
$this->record = mysql_fetch_row($this->query_id);
return $this->record;
}
function free_result($query_id=-1) {
if ($query_id!=-1) $this->query_id=$query_id;
return @mysql_free_result($this->query_id);
}
function query_first($query_string,$limit=0,$offset=0) {
$this->query($query_string,$limit,$offset);
$returnarray=$this->fetch_array($this->query_id);
$this->free_result($this->query_id);
return $returnarray;
}
function num_rows($query_id=-1) {
if ($query_id!=-1) $this->query_id=$query_id;
return mysql_num_rows($this->query_id);
}
function affected_rows() {
return mysql_affected_rows($this->link_id);
}
function insert_id() {
return mysql_insert_id($this->link_id);
}
function countQuerys(){
return count($this->querys);
}
function queryTime($round=2){
return round($this->queryTime,$round );
}
function error($errormsg) {
$this->errdesc=mysql_error();
$this->errno=mysql_errno();
$errormsg="<b>Database error in $this->appname:</b> $errormsg\n<br>";
$errormsg.="<b>mysql error:</b> $this->errdesc\n<br>";
$errormsg.="<b>mysql error number:</b> $this->errno\n<br>";
$errormsg.="<b>Date:</b> ".date("d.m.Y @ H:i")."\n<br>";
$errormsg.="<b>Script:</b> ".getenv("REQUEST_URI")."\n<br>";
$errormsg.="<b>Referer:</b> ".getenv("HTTP_REFERER")."\n<br><br>";
if($this->show_error) $errormsg = "$errormsg";
else $errormsg = "\n<!-- $errormsg -->\n";
die("</table><font face=\"Verdana\" size=2><b>SQL-DATABASE ERROR</b><br><br>".$errormsg."</font>");
}
}
$db = new db($sqlhost,$sqluser,$sqlpassword,$sqldb,$phpversion);
?>
class db {
var $link_id = 0;
var $query_id = 0;
var $record = array();
var $queries = array();
var $errdesc = "";
var $errno = 0;
var $show_error = 1;
var $phpversion = 1;
var $server = "";
var $user = "";
var $password = "";
var $database = "";
var $appname = "Het Paardenspel";
function db($server,$user,$password,$database,$phpversion=4) {
$this->server=$server;
$this->user=$user;
$this->password=$password;
$this->database=$database;
$this->phpversion=$phpversion;
$this->connect();
$this->querys=array();
}
function connect() {
$this->link_id=mysql_connect($this->server,$this->user,$this->password);
if (!$this->link_id) $this->error("Link-ID == false, connect failed");
if ($this->database!="") $this->select_db($this->database);
}
function close() {
return @mysql_close($this->link_id) or $this->error(DATABASE_CLASS_CLOSE);
}
function getMicrotime()
{
list($usec, $sec) = explode( " ", microtime());
return ((float) $usec + (float) $sec);
}
function geterrdesc() {
$this->error=mysql_error();
return $this->error;
}
function geterrno() {
$this->errno=mysql_errno();
return $this->errno;
}
function select_db($database="") {
if ($database!="") $this->database=$database;
if(!@mysql_select_db($this->database, $this->link_id)) $this->error("cannot use database ".$this->database);
}
function query($query_string,$limit=0,$offset=0) {
if($limit!=0) $query_string.=" LIMIT $offset, $limit";
$this->queries[]="$query_string";
$this->querys[]=$sql;
$startTime = $this->getMicrotime();
$this->query_id = mysql_query($query_string,$this->link_id);
$endTime = $this->getMicrotime();
$this->queryTime+=$endTime-$startTime;
if (!$this->query_id) $this->error("Invalid SQL: ".$query_string);
return $this->query_id;
}
function query1($query_string) {
$this->queries[]="$query_string";
$this->querys[]=$sql;
$startTime = $this->getMicrotime();
$this->query_id = mysql_query($query_string,$this->link_id);
$endTime = $this->getMicrotime();
$this->queryTime+=$endTime-$startTime;
if (!$this->query_id) $this->error("Invalid SQL: ".$query_string);
return $this->query_id;
}
function unbuffered_query($query_string,$LOW_PRIORITY=0) {
if($this->phpversion<406) return $this->query($query_string);
else {
if($LOW_PRIORITY==1) $query_string=substr($query_string,0,6)." LOW_PRIORITY".substr($query_string,6);
$this->queries[]="unbuffered: $query_string";
$this->query_id = mysql_unbuffered_query($query_string,$this->link_id);
if (!$this->query_id) $this->error("Invalid SQL: ".$query_string);
return $this->query_id;
}
}
function fetch_array($query_id=-1) {
if ($query_id!=-1) $this->query_id=$query_id;
$this->record = mysql_fetch_array($this->query_id);
return $this->record;
}
function fetch_row($query_id=-1) {
if ($query_id!=-1) $this->query_id=$query_id;
$this->record = mysql_fetch_row($this->query_id);
return $this->record;
}
function free_result($query_id=-1) {
if ($query_id!=-1) $this->query_id=$query_id;
return @mysql_free_result($this->query_id);
}
function query_first($query_string,$limit=0,$offset=0) {
$this->query($query_string,$limit,$offset);
$returnarray=$this->fetch_array($this->query_id);
$this->free_result($this->query_id);
return $returnarray;
}
function num_rows($query_id=-1) {
if ($query_id!=-1) $this->query_id=$query_id;
return mysql_num_rows($this->query_id);
}
function affected_rows() {
return mysql_affected_rows($this->link_id);
}
function insert_id() {
return mysql_insert_id($this->link_id);
}
function countQuerys(){
return count($this->querys);
}
function queryTime($round=2){
return round($this->queryTime,$round );
}
function error($errormsg) {
$this->errdesc=mysql_error();
$this->errno=mysql_errno();
$errormsg="<b>Database error in $this->appname:</b> $errormsg\n<br>";
$errormsg.="<b>mysql error:</b> $this->errdesc\n<br>";
$errormsg.="<b>mysql error number:</b> $this->errno\n<br>";
$errormsg.="<b>Date:</b> ".date("d.m.Y @ H:i")."\n<br>";
$errormsg.="<b>Script:</b> ".getenv("REQUEST_URI")."\n<br>";
$errormsg.="<b>Referer:</b> ".getenv("HTTP_REFERER")."\n<br><br>";
if($this->show_error) $errormsg = "$errormsg";
else $errormsg = "\n<!-- $errormsg -->\n";
die("</table><font face=\"Verdana\" size=2><b>SQL-DATABASE ERROR</b><br><br>".$errormsg."</font>");
}
}
$db = new db($sqlhost,$sqluser,$sqlpassword,$sqldb,$phpversion);
?>
//De pagina waar config/functies enzo staan//
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
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
<?php
// functie voor paginatijd
function getMicrotime()
{
list($usec, $sec) = explode( " ", microtime());
return ((float) $usec + (float) $sec);
}
// Pagina laadtijd start
$startpage = getMicrotime();
// Start je zelf ergens anders je sessies/cookies? Maak van de volgende twee regels dan commentaar (# of //)
session_start();
ob_start();
// mysql
$sqlhost = "";
$sqluser = "";
$sqlpassword = "";
$sqldb = "";
// Error reporting zetten we uit, het is niet echt netjes je bezoekers errors voor te schotelen
#ERROR_REPORTING(0);
// Instellingen
$loginpage = "http://www.hetpaardenspel.nl/home.php"; // Pagina waar de gebruiker heen wordt gestuurd wanneer deze is ingelogd
$forgoturl = ""; // Volledige URL naar inlogsysteem, voor activeren van wachtwoord vergeten, / aan einde
$sitenaam = "Het Paardenspel"; // Naam van je site; deze word oa. gebruikt bij het verzenden van mail
$sitemail = "[email protected]"; // Afzender van verzonden mail
require "db_class.php";
require "class_headers.php";
require "class_query.php";
require "functions.php";
require "overig/ubb.php";
?>
// functie voor paginatijd
function getMicrotime()
{
list($usec, $sec) = explode( " ", microtime());
return ((float) $usec + (float) $sec);
}
// Pagina laadtijd start
$startpage = getMicrotime();
// Start je zelf ergens anders je sessies/cookies? Maak van de volgende twee regels dan commentaar (# of //)
session_start();
ob_start();
// mysql
$sqlhost = "";
$sqluser = "";
$sqlpassword = "";
$sqldb = "";
// Error reporting zetten we uit, het is niet echt netjes je bezoekers errors voor te schotelen
#ERROR_REPORTING(0);
// Instellingen
$loginpage = "http://www.hetpaardenspel.nl/home.php"; // Pagina waar de gebruiker heen wordt gestuurd wanneer deze is ingelogd
$forgoturl = ""; // Volledige URL naar inlogsysteem, voor activeren van wachtwoord vergeten, / aan einde
$sitenaam = "Het Paardenspel"; // Naam van je site; deze word oa. gebruikt bij het verzenden van mail
$sitemail = "[email protected]"; // Afzender van verzonden mail
require "db_class.php";
require "class_headers.php";
require "class_query.php";
require "functions.php";
require "overig/ubb.php";
?>
//Een script die gewoon op de site gebruikt word.//
<table border="0" cellpadding="0" cellspacing="0" class="hoi">
<tr>
<td colspan="3" height="100" align="center" width="100%" valign="top">
</td>
</tr>
<tr>
<td width="150" align="center" valign="top">
</td>
<td align="center" width="100%" valign="top">
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
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
<?php
$user_id = $_SESSION['user_id'];
// spring les geven
if(isset($_POST[nee]))
{
header("location:../overig/opleiding.php");
}
// Pagina alleen toegankelijk maken voor instructie
if($row[status] != 1)
{
die("Wordt aan gewerkt!");
}
$query = "SELECT * FROM instructie WHERE user='$user_id'";
$result = $db->query($query) or die(mysql_error());
$numhoefsmid = $db->num_rows($result);
$f = $db->fetch_array($result);
$tijd_ontslag = ($f[tijd] + 1209600);
$tijd = time();
if($tijd > $tijd_ontslag)
{
$query1 = "DELETE FROM instructie WHERE user='$user_id' LIMIT 1";
$result1 = $db->query($query1) or die(mysql_error());
$query2 = "DELETE FROM les_dress WHERE instructie='$user_id'";
$result2 = $db->query($query2) or die(mysql_error());
echo "<center>De baas was ontevreden met jou werk, hij heeft je daarom ontslagen!</center>";
include_once "../overig/opleiding.php";
exit();
}
$tijd_pen = rand(22982400,25401600);
$tijd_pensioen = ($f[tijd] + $tijd_pen);
if($tijd > $tijd_pensioen)
{
$query1 = "DELETE FROM instructie WHERE user='$user_id' LIMIT 1";
$result1 = $db->query($query1) or die(mysql_error());
$query2 = "DELETE FROM les_dress WHERE instructie='$user_id'";
$result2 = $db->query($query2) or die(mysql_error());
echo "<center>Je bent afgekeurd door de arbeidsinspectie!</center>";
include_once "../overig/opleiding.php";
exit();
}
?>
$user_id = $_SESSION['user_id'];
// spring les geven
if(isset($_POST[nee]))
{
header("location:../overig/opleiding.php");
}
// Pagina alleen toegankelijk maken voor instructie
if($row[status] != 1)
{
die("Wordt aan gewerkt!");
}
$query = "SELECT * FROM instructie WHERE user='$user_id'";
$result = $db->query($query) or die(mysql_error());
$numhoefsmid = $db->num_rows($result);
$f = $db->fetch_array($result);
$tijd_ontslag = ($f[tijd] + 1209600);
$tijd = time();
if($tijd > $tijd_ontslag)
{
$query1 = "DELETE FROM instructie WHERE user='$user_id' LIMIT 1";
$result1 = $db->query($query1) or die(mysql_error());
$query2 = "DELETE FROM les_dress WHERE instructie='$user_id'";
$result2 = $db->query($query2) or die(mysql_error());
echo "<center>De baas was ontevreden met jou werk, hij heeft je daarom ontslagen!</center>";
include_once "../overig/opleiding.php";
exit();
}
$tijd_pen = rand(22982400,25401600);
$tijd_pensioen = ($f[tijd] + $tijd_pen);
if($tijd > $tijd_pensioen)
{
$query1 = "DELETE FROM instructie WHERE user='$user_id' LIMIT 1";
$result1 = $db->query($query1) or die(mysql_error());
$query2 = "DELETE FROM les_dress WHERE instructie='$user_id'";
$result2 = $db->query($query2) or die(mysql_error());
echo "<center>Je bent afgekeurd door de arbeidsinspectie!</center>";
include_once "../overig/opleiding.php";
exit();
}
?>
<form method="POST" action="">
Code (php)
<center>
<table border="1" bordercolor="#000000" cellpadding="2" cellspacing="1">
<tr>
<th colspan=2>
Je kreeg nog een leuk afscheidsfeest, weet je zeker dat je weg wil?
</th>
</tr>
<tr>
<td>
<input type="submit" name="ja" value=" Ja, feest was een flop! ">
</td>
<td>
<input type="submit" name="nee" value=" Nee, het feestje was te leuk! ">
</td>
</tr>
</table>
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
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
<?php
}
if(isset($_POST[ja]))
{
$query3 = "DELETE FROM instructie WHERE user='$user_id' LIMIT 1";
$result3 = $db->query($query3) or die(mysql_error());
$meldingg = array
(
"Je baas vond het jammer dat je wegging!<br>",
"Met veel tranen heb jij je collega's verlaten!<br>"
);
$random_melding = array_rand($meldingg,1);
$melding1 = $meldingg[$random_melding];
echo "<center>".$melding1."</center>";
include_once "../overig/opleiding.php";
exit();
}
if(isset($_GET[actie]) AND isset($_GET[id]) AND is_numeric($_GET[id])){
$query88 = "SELECT * FROM les_dress WHERE id='$_GET[id]'";
$result88 = $db->query($query88) or die(mysql_error());
$numbekappen = $db->num_rows($result88);
if($numbekappen == 1){
$random = rand(1,3);
$rang = rand(2,4);
$tijd = time();
$rij = $db->fetch_array($result88);
$user = $rij[user];
$paard = $rij[paard];
$query8 = "SELECT * FROM paarden WHERE paard_id='$paard'";
$result8 = $db->query($query8) or die(mysql_error());
$row = $db->fetch_array($result8);
$paard_naam = addslashes($row[paard_naam]);
$rij_dress = $row[rij_dress];
$query8 = "SELECT * FROM gebruikers WHERE id='$user'";
$result8 = $db->query($query8) or die(mysql_error());
$row = $db->fetch_array($result8);
$eigenaar = addslashes($row[naam]);
$query8 = "SELECT * FROM gebruikers WHERE id='$user_id'";
$result8 = $db->query($query8) or die(mysql_error());
$row = $db->fetch_array($result8);
$hoefsmid = addslashes($row[naam]);
$kosten = rand(12,16);
$loon = $kosten;
$randdd = rand(8,10);
$tot = $randdd + $rij_dress;
if($tot > 100){
$tot = 100;
}
$tijd= time();
$query1 = "UPDATE instructie SET tot=tot+'1',tijd='$tijd' WHERE user='$user_id'";
$result1 = $db->query($query1) or die(mysql_error());
$query2 = "UPDATE gebruikers SET geld=geld+'$kosten',rang=rang+'1' WHERE id='$user_id'";
$result2 = $db->query($query2) or die(mysql_error());
$query3 = "UPDATE gebruikers SET geld=geld-'$kosten',rang=rang+'$rang' WHERE id='$user'";
$result3 = $db->query($query3) or die(mysql_error());
// les geven zelf
$query4 = "UPDATE paarden SET rij_dress='$tot',laatste_rij='$tijd',hoeven=hoeven-'0.5',verzorgings_punten=verzorgings_punten-'1' WHERE paard_id='$paard'";
$result4 = $db->query($query4) or die(mysql_error());
$query5 = "INSERT INTO afschriften (af_id,id,waarde,datum,van,naar,reden) values ('','$user','$kosten','$tijd','$eigenaar','$hoefsmid','Kosten rijles')";
$result5 = $db->query($query5) or die(mysql_error());
$query6 = "INSERT INTO berichten (id,van,naar,onderwerp,bericht,datum) VALUES ('','$hoefsmid','$eigenaar','Privé les','De dressuur les met [b] $paard_naam [/b] is succesvol verlopen. De kosten waren € $kosten. Deze zijn automatisch van uw rekening afgeschreven.','$tijd')";
$result6 = $db->query($query6) or die(mysql_error());
$query7 = "DELETE FROM les_dress WHERE id='$_GET[id]'";
$result7 = $db->query($query7) or die(mysql_error());
echo "Les succesvol gegeven.<p>";
}
}
?>
}
if(isset($_POST[ja]))
{
$query3 = "DELETE FROM instructie WHERE user='$user_id' LIMIT 1";
$result3 = $db->query($query3) or die(mysql_error());
$meldingg = array
(
"Je baas vond het jammer dat je wegging!<br>",
"Met veel tranen heb jij je collega's verlaten!<br>"
);
$random_melding = array_rand($meldingg,1);
$melding1 = $meldingg[$random_melding];
echo "<center>".$melding1."</center>";
include_once "../overig/opleiding.php";
exit();
}
if(isset($_GET[actie]) AND isset($_GET[id]) AND is_numeric($_GET[id])){
$query88 = "SELECT * FROM les_dress WHERE id='$_GET[id]'";
$result88 = $db->query($query88) or die(mysql_error());
$numbekappen = $db->num_rows($result88);
if($numbekappen == 1){
$random = rand(1,3);
$rang = rand(2,4);
$tijd = time();
$rij = $db->fetch_array($result88);
$user = $rij[user];
$paard = $rij[paard];
$query8 = "SELECT * FROM paarden WHERE paard_id='$paard'";
$result8 = $db->query($query8) or die(mysql_error());
$row = $db->fetch_array($result8);
$paard_naam = addslashes($row[paard_naam]);
$rij_dress = $row[rij_dress];
$query8 = "SELECT * FROM gebruikers WHERE id='$user'";
$result8 = $db->query($query8) or die(mysql_error());
$row = $db->fetch_array($result8);
$eigenaar = addslashes($row[naam]);
$query8 = "SELECT * FROM gebruikers WHERE id='$user_id'";
$result8 = $db->query($query8) or die(mysql_error());
$row = $db->fetch_array($result8);
$hoefsmid = addslashes($row[naam]);
$kosten = rand(12,16);
$loon = $kosten;
$randdd = rand(8,10);
$tot = $randdd + $rij_dress;
if($tot > 100){
$tot = 100;
}
$tijd= time();
$query1 = "UPDATE instructie SET tot=tot+'1',tijd='$tijd' WHERE user='$user_id'";
$result1 = $db->query($query1) or die(mysql_error());
$query2 = "UPDATE gebruikers SET geld=geld+'$kosten',rang=rang+'1' WHERE id='$user_id'";
$result2 = $db->query($query2) or die(mysql_error());
$query3 = "UPDATE gebruikers SET geld=geld-'$kosten',rang=rang+'$rang' WHERE id='$user'";
$result3 = $db->query($query3) or die(mysql_error());
// les geven zelf
$query4 = "UPDATE paarden SET rij_dress='$tot',laatste_rij='$tijd',hoeven=hoeven-'0.5',verzorgings_punten=verzorgings_punten-'1' WHERE paard_id='$paard'";
$result4 = $db->query($query4) or die(mysql_error());
$query5 = "INSERT INTO afschriften (af_id,id,waarde,datum,van,naar,reden) values ('','$user','$kosten','$tijd','$eigenaar','$hoefsmid','Kosten rijles')";
$result5 = $db->query($query5) or die(mysql_error());
$query6 = "INSERT INTO berichten (id,van,naar,onderwerp,bericht,datum) VALUES ('','$hoefsmid','$eigenaar','Privé les','De dressuur les met [b] $paard_naam [/b] is succesvol verlopen. De kosten waren € $kosten. Deze zijn automatisch van uw rekening afgeschreven.','$tijd')";
$result6 = $db->query($query6) or die(mysql_error());
$query7 = "DELETE FROM les_dress WHERE id='$_GET[id]'";
$result7 = $db->query($query7) or die(mysql_error());
echo "Les succesvol gegeven.<p>";
}
}
?>
<table border="1" bordercolor="#000000" cellpadding="2" cellspacing="1" width="99%">
<tr><th colspan="2">Les geven</th></tr>
<tr><th>Gebruiker:</th><th>Les geven:</th></tr>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<tr>
<td>
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$query8 = "SELECT * FROM gebruikers WHERE id='$row[user]'";
$result8 = $db->query($query8) or die(mysql_error());
$lesser = $db->fetch_array($result8);
$eigenaar = $lesser[naam];
?>
$query8 = "SELECT * FROM gebruikers WHERE id='$row[user]'";
$result8 = $db->query($query8) or die(mysql_error());
$lesser = $db->fetch_array($result8);
$eigenaar = $lesser[naam];
?>
<a href='../profiel/profiel_bekijken.php?naam=&pp=../baantjes/les_geven2.php'></a>
</td>
<td>
<a href="?actie=les_geven&id="><b>Les geven</b></a>
</td>
</tr>
</table>
<p>
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
if(isset($_POST[pauze]))
{
$sqll = "SELECT * FROM instructie WHERE user='$user_id'";
$query = $db->query($sqll);
$f1 = $db->fetch_array($query);
if($f1[pauze] == 'Ja')
{
$sql2 ="UPDATE instructie SET pauze='Nee' WHERE user='$user_id'";
$db->query($sql2);
echo "<center>Je bent weer aan het werk!</center>";
}
else
{
$sql2 ="UPDATE instructie SET pauze='Ja' WHERE user='$user_id'";
$db->query($sql2);
echo "<center>Je bent nu aan het pauzeren!</center>";
}
}
?>
if(isset($_POST[pauze]))
{
$sqll = "SELECT * FROM instructie WHERE user='$user_id'";
$query = $db->query($sqll);
$f1 = $db->fetch_array($query);
if($f1[pauze] == 'Ja')
{
$sql2 ="UPDATE instructie SET pauze='Nee' WHERE user='$user_id'";
$db->query($sql2);
echo "<center>Je bent weer aan het werk!</center>";
}
else
{
$sql2 ="UPDATE instructie SET pauze='Ja' WHERE user='$user_id'";
$db->query($sql2);
echo "<center>Je bent nu aan het pauzeren!</center>";
}
}
?>
<p>
<table border="1" bordercolor="#000000" cellpadding="2" cellspacing="1">
<tr>
<th>
Opties
</th>
</tr>
<tr>
<td>
<input type="submit" name="ontslag" value=" Ik neem ontslag!* ">
</td>
</tr>
<tr>
<td>
<input type="submit" name="pauze" value=" Ik ga weer aan het werk! ">
<input type="submit" name="pauze" value=" Ik neem pauze! ">
</td>
</tr>
<tr>
<td>
* = Je krijgt geen geld terug indien je ontslag neemt!
</td>
</tr>
</table>
</center>
</td>
<td width="150" align="center" valign="top">
</td>
</tr>
</table>
De query's zijn daar een groot voorbeeld van. Zie op een paar plekken dat je alles ophaald van een record, maar vervolgens maar de helft gebruikt van al die opgehaalde data.
Dus als ik het goed begrijp loont het om in plaats van * gewoon er hard neer te zetten: naam, bla, bla ??
Ja. 99% van de gevallen wel
Jup, verder zie ik vaak 3 losse query's die ook gewoon in één keer uitgevoerd kunnen worden. Dus daar valt best wel wat in te halen denk ik.
Zet ff je post tussen de
Je hoeft per tabel maar 1 query uit te voeren, dus niet twee, drie (vier?) aparte.
http://www.jankoehoorn.nl/?pag=4
De verschillenen tussen * en veldnamen is redelijk groot! Ook het verschil tussen fetch_array(), en fetch_assoc() is groot genoeg om rekening mee te houden.
Wat Michiel bedoelde waren de tags.
Michiel, leer de [ignore][/ignore] tags kennen.
Edit:
Ook heb je soms variabelen tussen dubbele quotes staan. Haal je veriabelen buiten de quotes, en gebruik overal single quotes, behalve in je query's daar is dubbele quotes net wat makkelijker.
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
En, we gebruiken geen IFRAMES meer. Helemaal geen frames. Onze website is opgebouwd met tabellen.
En, voor 1 tabel 1 query is niet haalbaar. Je hebt namelijk verschillende WHERE's nodig. De ene keer voor gebruiker A de andere keer voor gebruiker B.
En dat van SELECT gaan we zeker doen.
Verder staat er in onze DB_class nog heel veel wat we niet gebruiken. Sinds een paar dagen wel free_result. Die heb ik geplaatst bij de arrays
Bernardo:
En, voor 1 tabel 1 query is niet haalbaar. Je hebt namelijk verschillende WHERE's nodig. De ene keer voor gebruiker A de andere keer voor gebruiker B.
Dat wil niet zeggen dat het niet mogelijk is, SQL kan meer dan je denkt.
Klein voorbeeld:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
SELECT
CASE gebruiker.rang
WHEN > 3
THEN
admin.menu
ELSE
lid.menu
END
AS menu
FROM gebruiker, admin, lid
WHERE gebruiker.id = 2
CASE gebruiker.rang
WHEN > 3
THEN
admin.menu
ELSE
lid.menu
END
AS menu
FROM gebruiker, admin, lid
WHERE gebruiker.id = 2
Wat dit doet:
Als de rang van gebruiker met id 2 groter dan 3 is selecteerd hij het de kolom menu uit tabel admin, en anders de kolom menu uit tabel lid.
Maar ik snap je voorbeeld wel. Maar zijn er nog specieke functies die gebruikt kunnen worden? Om de performance te boosten?? Of ander technieken..
ID Username Database Command Time
323729 hetpaard_paard hetpaard_paardenspel Sleep 4
Ik zie dat er soms een heleboel sleeping Threads zijn.
Betekend dit dat we onze mysql connectie niet goed aflsluiten? Of is dit normaal?
En zou het helpen om in queries waar hij maar 1 rij hoeft te hebben, LIMIT 1 te zetten? Want als ie dan een rij gevonden heeft die aan de WHERE clause voldoet, dan stopt ie toch met verder zoeken?
Gewijzigd op 01/01/1970 01:00:00 door Bernardo