Telling mysql neerzetten op website
Er zijn <database telling hier> websites in onze database
Ook wil ik van 1 kolom de verschillende types ook laten optellen en op zelfde wijze kunnen printen op de website. Zodra ik een nieuwe invoer maak of verwijder moet dit automatisch aangepast worden
Enig idee waar ik hier meer over kan vinden?
telling van aantal records van verschillende types:
Gewijzigd op 11/09/2013 20:48:21 door Frank Nietbelangrijk
Ik hoef toch allen zoals hierboven, met andere tabelnaam, tussen de php openingstag te zetten met daarboven uiteraard het aanroepen van de database?
Nee, wat Frank geeft is een query, en die moet je met bv mysqli_query() uitvoeren
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
require_once 'db_config.php';
$result = mysql_query("SELECT websites, COUNT(*) AS aantal");
echo 'We hebben momenteel' .$result. 'websites in onze database';
?>
require_once 'db_config.php';
$result = mysql_query("SELECT websites, COUNT(*) AS aantal");
echo 'We hebben momenteel' .$result. 'websites in onze database';
?>
Enig idee?
2. Je kunt COUNT(*) niet gebruiken in combinatie met andere kolommen zonder GROUP BY
3. Een result is een resource, of in jouw geval een boolean false (vanwege 1)
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
require_once 'db_config.php';
$query = mysql_query("SELECT * FROM students");
$number=mysql_num_rows($query);
echo "Total records in Student table= ". $number;
?>
require_once 'db_config.php';
$query = mysql_query("SELECT * FROM students");
$number=mysql_num_rows($query);
echo "Total records in Student table= ". $number;
?>
Gewijzigd op 13/09/2013 20:49:42 door Arjan van Rossen
Frank Nietbelangrijk op 11/09/2013 20:47:34:
Dit is de enige goede manier om het aantal records in een tabel bepalen.
Je krijgt dan één rij met één kolom (aantal) in het resultaat.
Als je de tutorials waar Obelix naar verwijst hebt doorgenomen zou je moeten weten hoe je dit op de pagina kan tonen.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
require_once 'db_config.php';
$result = mysql_query("SELECT count(*) as aantal FROM students");
if($row = mysql_fetch_assoc($result))
echo "Total records in Student table= " . $row['aantal'];
else
echo mysql_error();
?>
require_once 'db_config.php';
$result = mysql_query("SELECT count(*) as aantal FROM students");
if($row = mysql_fetch_assoc($result))
echo "Total records in Student table= " . $row['aantal'];
else
echo mysql_error();
?>
Gewijzigd op 14/09/2013 14:29:40 door Frank Nietbelangrijk
Ger van Steenderen op 14/09/2013 08:29:37:
Dit is de enige goede manier om het aantal records in een tabel bepalen.
Je krijgt dan één rij met één kolom (aantal) in het resultaat.
Als je de tutorials waar Obelix naar verwijst hebt doorgenomen zou je moeten weten hoe je dit op de pagina kan tonen.
Frank Nietbelangrijk op 11/09/2013 20:47:34:
Dit is de enige goede manier om het aantal records in een tabel bepalen.
Je krijgt dan één rij met één kolom (aantal) in het resultaat.
Als je de tutorials waar Obelix naar verwijst hebt doorgenomen zou je moeten weten hoe je dit op de pagina kan tonen.
Arjan van Rossen op 14/09/2013 16:28:10:
Moet daarnaast nog 15000+ database entries invoeren van ieder 8 velden
Waar komen die entries vandaan?
Als je ze digitaal hebt, kun je ze doorgaans vrij eenvoudig inlezen in/via phpadmin.
Arjan van Rossen op 14/09/2013 16:28:10:
Ik ben hem aan het doorlezen. Moet daarnaast nog 15000+ database entries invoeren van ieder 8 velden dus dat kost ook de nodige tijd.
Kun je dat niet automatiseren; Excel of access inlezen
Ik laad een Excel(csv) bestand op met volgende code
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
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
<?php
session_name("adressen");
session_start();
if($_SESSION['user_name']=='')
{
session_destroy();
header("location:index.php");
exit;
}
else
{
setcookie ( "Naam" , $_SESSION['user_name'],mktime(18, 30, 0, 5, 12, 2020 ),"/");
}
?>
<!DOCTYPE HTML>
<html lang="NL-be">
<head>
<title>
Import gegevens
</title>
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
<META NAME="AUTHOR" CONTENT="JanR">
</head>
<?php
if ($_FILES[csv][size] > 0 && isset($_POST['splitser'])) {
switch ($_POST['splitser']){
case 'komma':
$split=',';
break;
case 'puntkomma':
$split=';';
break;
default:
die('Geen scheiding opgegeven!');
exit;
}
$con=opendatabasei();//eigen functie(mysqli resource)
$un=$_SESSION['user_name'];
$isadmin=fisadmini($con, $un, false);//eigen functie(bool)
if ($isadmin==1){
$isadmin=fisadmini($con, $un, true);
//get the csv file
$file = $_FILES[csv][tmp_name];
$handle = fopen($file,"r");
//loop through the csv file and insert into database
do {
if ($data[0]) {
$sql='INSERT INTO '.TBL_PREFIX .'leden (voornaam, achternaam, straat, huisnummer, postcode, gemeente, password) VALUES
(
"'.addslashes(trim($data[0])).'",
"'.addslashes(trim($data[1])).'",
"'.addslashes(trim($data[2])).'",
"'.addslashes(trim($data[3])).'",
"'.addslashes(trim($data[4])).'",
"'.addslashes(trim($data[5])).'",
"'.addslashes(hash("sha512",trim($data[7]))).'"
)
';
echo '<br>'.$sql.'<br>'.$data[7].'<br>';
mysqli_query($con,$sql );
$newid=mysqli_insert_id($con);//retrieve new ID(base on autoincrement field
$sql='INSERT INTO '.TBL_PREFIX .'emails (ID, email) VALUES
(
"'.addslashes($newid).'",
"'.addslashes(trim($data[6])).'"
)
';
mysqli_query($con,$sql );
}
} while ($data = fgetcsv($handle,1000,$split,"'"));
//
echo '<h1>Import voltooit</h1>
<a href="import.php">keer terug</a><br>';
}else{
//echo 'Enkel beheerders mogen adressen importeren!';
session_destroy();
echo '<h1>Deze pagina is enkel voor beheerders!</h1>';
}
if (isTest) {print_r(error_get_last());}
echo '<br>';
}
?>
<body>
<?php if (!empty($_GET[success])) { echo "<b>Your file has been imported.</b><br><br>"; } //generic success notice ?>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
Kies een bestand: <br />
<strong>Opgelet: Het bestand moet van het type csv zijn!</strong><br>
De kolommen moeten in de volgende volgorde staan
<ul>
<li>Voornaam</li>
<li>Naam</li>
<li>Straat</li>
<li>Huisnr/bus</li>
<li>Postcode</li>
<li>Gemeente</li>
<li>email</li>
<li>paswoord</li>
</ul>
Exact 8 kolommen dus<br><br>
Scheidingsteken:<br>
<input type="radio" name="splitser" value="komma">komma<br>
<input type="radio" name="splitser" value="puntkomma">puntkomma<br><br><br>
<input name="csv" type="file" id="csv" />
<input type="submit" name="Submit" value="Importeer" />
</form>
</body>
</html>
session_name("adressen");
session_start();
if($_SESSION['user_name']=='')
{
session_destroy();
header("location:index.php");
exit;
}
else
{
setcookie ( "Naam" , $_SESSION['user_name'],mktime(18, 30, 0, 5, 12, 2020 ),"/");
}
?>
<!DOCTYPE HTML>
<html lang="NL-be">
<head>
<title>
Import gegevens
</title>
<META http-equiv="Content-Type" content="text/html; charset=us-ascii">
<META NAME="AUTHOR" CONTENT="JanR">
</head>
<?php
if ($_FILES[csv][size] > 0 && isset($_POST['splitser'])) {
switch ($_POST['splitser']){
case 'komma':
$split=',';
break;
case 'puntkomma':
$split=';';
break;
default:
die('Geen scheiding opgegeven!');
exit;
}
$con=opendatabasei();//eigen functie(mysqli resource)
$un=$_SESSION['user_name'];
$isadmin=fisadmini($con, $un, false);//eigen functie(bool)
if ($isadmin==1){
$isadmin=fisadmini($con, $un, true);
//get the csv file
$file = $_FILES[csv][tmp_name];
$handle = fopen($file,"r");
//loop through the csv file and insert into database
do {
if ($data[0]) {
$sql='INSERT INTO '.TBL_PREFIX .'leden (voornaam, achternaam, straat, huisnummer, postcode, gemeente, password) VALUES
(
"'.addslashes(trim($data[0])).'",
"'.addslashes(trim($data[1])).'",
"'.addslashes(trim($data[2])).'",
"'.addslashes(trim($data[3])).'",
"'.addslashes(trim($data[4])).'",
"'.addslashes(trim($data[5])).'",
"'.addslashes(hash("sha512",trim($data[7]))).'"
)
';
echo '<br>'.$sql.'<br>'.$data[7].'<br>';
mysqli_query($con,$sql );
$newid=mysqli_insert_id($con);//retrieve new ID(base on autoincrement field
$sql='INSERT INTO '.TBL_PREFIX .'emails (ID, email) VALUES
(
"'.addslashes($newid).'",
"'.addslashes(trim($data[6])).'"
)
';
mysqli_query($con,$sql );
}
} while ($data = fgetcsv($handle,1000,$split,"'"));
//
echo '<h1>Import voltooit</h1>
<a href="import.php">keer terug</a><br>';
}else{
//echo 'Enkel beheerders mogen adressen importeren!';
session_destroy();
echo '<h1>Deze pagina is enkel voor beheerders!</h1>';
}
if (isTest) {print_r(error_get_last());}
echo '<br>';
}
?>
<body>
<?php if (!empty($_GET[success])) { echo "<b>Your file has been imported.</b><br><br>"; } //generic success notice ?>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
Kies een bestand: <br />
<strong>Opgelet: Het bestand moet van het type csv zijn!</strong><br>
De kolommen moeten in de volgende volgorde staan
<ul>
<li>Voornaam</li>
<li>Naam</li>
<li>Straat</li>
<li>Huisnr/bus</li>
<li>Postcode</li>
<li>Gemeente</li>
<li>email</li>
<li>paswoord</li>
</ul>
Exact 8 kolommen dus<br><br>
Scheidingsteken:<br>
<input type="radio" name="splitser" value="komma">komma<br>
<input type="radio" name="splitser" value="puntkomma">puntkomma<br><br><br>
<input name="csv" type="file" id="csv" />
<input type="submit" name="Submit" value="Importeer" />
</form>
</body>
</html>
Misschien niet de beste oplossing maar voor mij werkte het wel
Gewijzigd op 15/09/2013 11:41:11 door Jan R