Telling mysql neerzetten op website

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Arjan van Rossen

Arjan van Rossen

11/09/2013 20:03:15
Quote Anchor link
Ik wil het aantal entries in de database automatisch laten tellen en op de website laten weergeven in bijvoorbeeld:

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?
 
PHP hulp

PHP hulp

17/11/2024 13:25:58
 
Frank Nietbelangrijk

Frank Nietbelangrijk

11/09/2013 20:47:34
Quote Anchor link
telling van het aantal records in de tabel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT count(*) as aantal FROM mytable


telling van aantal records van verschillende types:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT type, count(*) as aantal FROM mytable GROUP BY type
Gewijzigd op 11/09/2013 20:48:21 door Frank Nietbelangrijk
 
Arjan van Rossen

Arjan van Rossen

13/09/2013 14:58:28
Quote Anchor link
Ik ben aan het rommelen geweest en zoeken maar SELECT geeft steeds een foutmelding. Mijn php editor geeft zelf ook al aan syntaxisfout

Ik hoef toch allen zoals hierboven, met andere tabelnaam, tussen de php openingstag te zetten met daarboven uiteraard het aanroepen van de database?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

13/09/2013 15:44:43
Quote Anchor link
Nee, wat Frank geeft is een query, en die moet je met bv mysqli_query() uitvoeren
 
Arjan van Rossen

Arjan van Rossen

13/09/2013 17:25:50
Quote Anchor link
Ik denk dat dit de goede kant op gaat maar geeft helaas behalve de tekst geen output.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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';

?>


Enig idee?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

13/09/2013 17:40:48
Quote Anchor link
1. Je mist een FROM tabelnaam
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)
 
Obelix Idefix

Obelix Idefix

13/09/2013 17:42:42
Quote Anchor link
Begin eens met het doorlezen van een basistut.
http://www.phptuts.nl/view/39/(php) en/of http://www.phptuts.nl/view/41/ (mysql)
 
Arjan van Rossen

Arjan van Rossen

13/09/2013 20:49:19
Quote Anchor link
Met dit voorbeeld wat ik op internet vond werkt het in ieder geval. Maar ik ben sowieso al bezig om die handleiding te lezen.. hoewel mij me bekend voorkomt, ga ik nu toch proberen meer van php te begrijpen.. ben geen 18 meer dus leren zal wel wat laster zijn..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;

?>
Gewijzigd op 13/09/2013 20:49:42 door Arjan van Rossen
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

14/09/2013 08:29:37
Quote Anchor link
Frank Nietbelangrijk op 11/09/2013 20:47:34:
telling van het aantal records in de tabel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT count(*) as aantal FROM mytable

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

Frank Nietbelangrijk

14/09/2013 14:29:09
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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();
?>
Gewijzigd op 14/09/2013 14:29:40 door Frank Nietbelangrijk
 
Arjan van Rossen

Arjan van Rossen

14/09/2013 16:28:10
Quote Anchor link
Ik ben hem aan het doorlezen. Moet daarnaast nog 15000+ database entries invoeren van ieder 8 velden dus dat kost ook de nodige tijd..



Ger van Steenderen op 14/09/2013 08:29:37:
Frank Nietbelangrijk op 11/09/2013 20:47:34:
telling van het aantal records in de tabel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT count(*) as aantal FROM mytable

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.


 
Obelix Idefix

Obelix Idefix

14/09/2013 17:01:25
Quote Anchor link
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.
 
Jan R

Jan R

15/09/2013 11:30:58
Quote Anchor link
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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>


Misschien niet de beste oplossing maar voor mij werkte het wel
Gewijzigd op 15/09/2013 11:41:11 door Jan R
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.