[RISOLTO] Stampa a video risultato count in html

Luca Ambrosini

Nuovo Utente
17 Dic 2019
14
1
3
Ciao
spero qualcuno mi aiuti nella risoluzione di questo problema.
Vorrei stampare su pagina html il risultato del conteggio dei record presenti in una tabella
ma non riesco a trovare la strada giusta.
All'interno della pagina html ho inserito il codice per la connessione e interrogazione del data base
adesso dovrei inserire quanto ottenuto all'interno di di un contesto che dovrebbe apparire nella
pagina html.
Per la connessione e l'interrogazione ho usato questo codice:

PHP:
<!-- Risultati di gestione in evidenza -->

<?php
Create database connection
$mysqli = mysqli_connect("localhost","root","","php_crud");
if (!$mysqli) {
die("Connection error: " . mysqli_connect_error());
$Count_query = "SELECT count(*) FROM employee_basics";
$Count_result = mysqli_query ($count_query);
$Count_num = mysqli_fetch_row ($count_result);
}
?>
<div class="w3-row-padding w3-margin-bottom">
    <div class="w3-quarter">
      <div class="w3-container w3-green w3-padding-3">
        <div class="w3-left"><i class="fa fa-comment"></i></div>
        <div class="w3-center">
            <?php echo $Count_num; ?>
        </div>
        <div class="w3-clear"></div>
        <h4>Articoli</h4>
      </div>
    </div>
Grazie a chiunque voglia aiutarmi.
Luca
 
  • Like
Reactions: Gioppino

mr.x

Utente Attivo
9 Apr 2016
250
25
28
Ciao
intato commenta o cancella la riga:
Create database connection

poi correggi i nomi delle variabili:
$Count_ecc e $count_ecc
sono due variabili distinte

quando effettui la query va richiamata la variabile di connessione ( se andassi a guardare i log troveresti che ti indica che manca un parametro):
PHP:
$Count_result = mysqli_query ( $mysqli, $count_query);
infine ricorda che il risultato della query è un array, per cui per leggere il primo valore contenuto
PHP:
<?php echo $Count_num[0]; ?>
 

Luca Ambrosini

Nuovo Utente
17 Dic 2019
14
1
3
Ciao
intato commenta o cancella la riga:
Create database connection

poi correggi i nomi delle variabili:
$Count_ecc e $count_ecc
sono due variabili distinte

quando effettui la query va richiamata la variabile di connessione ( se andassi a guardare i log troveresti che ti indica che manca un parametro):
PHP:
$Count_result = mysqli_query ( $mysqli, $count_query);
infine ricorda che il risultato della query è un array, per cui per leggere il primo valore contenuto
PHP:
<?php echo $Count_num[0]; ?>

Grazie Mr.x
prendo nota dei tuoi suggerimenti e delle tue raccomandazioni.
Purtroppo sono nuovo all'approccio con php e mysql, quindi errori di questo genere potrebbero capirami e, per questo, chiedo scusa.
Intanto mille grazie per aver dato riscontro al mio post.
A presto
Luca
 

mr.x

Utente Attivo
9 Apr 2016
250
25
28
Purtroppo sono nuovo all'approccio con php e mysql, quindi errori di questo genere potrebbero capirami e, per questo, chiedo scusa.
Non c'è motivo di scusarti, non sei certo stato poco educato o cose del genere.
Stai semplicemente imparando, ci siam passati tutti e tutti abbiamo commesso errori.
 

Luca Ambrosini

Nuovo Utente
17 Dic 2019
14
1
3
Non c'è motivo di scusarti, non sei certo stato poco educato o cose del genere.
Stai semplicemente imparando, ci siam passati tutti e tutti abbiamo commesso errori.

Grazie Mr.x
a proposito del consiglio che ho chiesto al forum e ai tuoi consigli, ho apportato le dovute correzioni, come da te consigliato,
ma non ho ottenuto il risultato sperato.

PHP:
<?php
//Create database connection
$mysqli = mysqli_connect("localhost","root","","php_crud");
if (!$mysqli) {
die("Connection error: " . mysqli_connect_error());
$Count_query = "SELECT count(*) FROM employee_basics";
$Count_result = mysqli_query ( $mysqli, $Count_query);
$Count_num = mysqli_fetch_row ($Count_result);
}
?>

<div class="w3-row-padding w3-margin-bottom">
    <div class="w3-quarter">
      <div class="w3-container w3-green w3-padding-3">
        <div class="w3-left"><i class="fa fa-comment"></i></div>
        <div class="w3-center">
            <?php echo $Count_num[0]; ?>
        </div>
        <div class="w3-clear"></div>
        <h4>Articoli</h4>
      </div>
    </div>
Tanto per farti capire meglio cosa ho in mente di fare, ti allego una immagine. Nei riquadri colorati ho immesso numeri casuali per rendere l'idea.
Ciò che vorrei ottenere è il numero degli articoli presenti nella tabella mysql, così come i carichi, gli scarichi e il numero degli articoli con giacenza = 0.
Modificando il codice con i tuoi suggerimenti, ottengo ciò che vedi nell'immagine. Per adesso voglio provare il codice solo con gli articoli presenti nella tabella employee_basic del mio database che stò costruendo un pò alla volta.
Grazie
Luca
 

Allegati

Tommy03

Utente Attivo
6 Giu 2018
365
40
28
16
Bassano del Grappa (VI)
Ciao, prova a cambiare così:
PHP:
<?php
//Create database connection
$mysqli = mysqli_connect("localhost","root","","php_crud");
if (!$mysqli) {
die("Connection error: " . mysqli_connect_error());
$Count_query = mysqli_query($mysqli, "SELECT * FROM employee_basics";
$Count_num_righe = mysqli_num_rows($Count_query);
}
?>

<div class="w3-row-padding w3-margin-bottom">
    <div class="w3-quarter">
      <div class="w3-container w3-green w3-padding-3">
        <div class="w3-left"><i class="fa fa-comment"></i></div>
        <div class="w3-center">
            <?php echo $Count_num_righe; ?>
        </div>
        <div class="w3-clear"></div>
        <h4>Articoli</h4>
      </div>
    </div>
 

mr.x

Utente Attivo
9 Apr 2016
250
25
28
Grazie Mr.x
a proposito del consiglio che ho chiesto al forum e ai tuoi consigli, ho apportato le dovute correzioni, come da te consigliato,
ma non ho ottenuto il risultato sperato.
Hai ragione, c'è da correggere anche la condizione if..

PHP:
$mysqli = mysqli_connect("localhost","root","","php_crud");

if (!$mysqli) {
die("Connection error: " . mysqli_connect_error());
} // <- va chiusa qui altrimenti il codice seguente verrebbe letto solo se c'è errore nella connessione al DB, generando però errore proprio perchè non c'è connessione al DB

$Count_query = "SELECT count(*) FROM employee_basics";
$Count_result = mysqli_query ( $mysqli, $Count_query);
$Count_num = mysqli_fetch_row ($Count_result);
// } <- questa parentesi è stata spostata
 

Luca Ambrosini

Nuovo Utente
17 Dic 2019
14
1
3
Hai ragione, c'è da correggere anche la condizione if..

PHP:
$mysqli = mysqli_connect("localhost","root","","php_crud");

if (!$mysqli) {
die("Connection error: " . mysqli_connect_error());
} // <- va chiusa qui altrimenti il codice seguente verrebbe letto solo se c'è errore nella connessione al DB, generando però errore proprio perchè non c'è connessione al DB

$Count_query = "SELECT count(*) FROM employee_basics";
$Count_result = mysqli_query ( $mysqli, $Count_query);
$Count_num = mysqli_fetch_row ($Count_result);
// } <- questa parentesi è stata spostata
Ciao Mr.x e anche Tommy03
ho provato le soluzioni da voi postate, ma purtroppo non riesco a visualizzare
il numero delle righe presenti nel database....
forse c'è qualcosa che non faccio correttamente, anche se proceduto a fare un semplice copia/incolla
mha....
Luca
 

mr.x

Utente Attivo
9 Apr 2016
250
25
28
Ciao Luca, di seguito il codice che ho testato, controlla che tutto sia ok confrontandolo con il tuo perchè a me funzione correttamente.
Ovviamente trovi i nomi diversi per tabella e accesso al DB.

PHP:
<!DOCTYPE html>
<html lang="it">
<head>
    <title>Vista</title>
</head>
<body>

<?php

        $mysqli = mysqli_connect("localhost", "user", "pass", "test");
if (!$mysqli) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

$Count_query = "SELECT count(*) FROM Test";
$Count_result = mysqli_query ($mysqli, $Count_query);
$Count_num = mysqli_fetch_row ($Count_result);

?>

<div class="w3-row-padding w3-margin-bottom">
    <div class="w3-quarter">
      <div class="w3-container w3-green w3-padding-3">
        <div class="w3-left"><i class="fa fa-comment"></i></div>
        <div class="w3-center">
            <?php echo $Count_num[0]; ?>
        </div>
        <div class="w3-clear"></div>
        <h4>Articoli</h4>
      </div>
    </div>
    </body></html>
 

Luca Ambrosini

Nuovo Utente
17 Dic 2019
14
1
3
Ciao Luca, di seguito il codice che ho testato, controlla che tutto sia ok confrontandolo con il tuo perchè a me funzione correttamente.
Ovviamente trovi i nomi diversi per tabella e accesso al DB.

PHP:
<!DOCTYPE html>
<html lang="it">
<head>
    <title>Vista</title>
</head>
<body>

<?php

        $mysqli = mysqli_connect("localhost", "user", "pass", "test");
if (!$mysqli) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

$Count_query = "SELECT count(*) FROM Test";
$Count_result = mysqli_query ($mysqli, $Count_query);
$Count_num = mysqli_fetch_row ($Count_result);

?>

<div class="w3-row-padding w3-margin-bottom">
    <div class="w3-quarter">
      <div class="w3-container w3-green w3-padding-3">
        <div class="w3-left"><i class="fa fa-comment"></i></div>
        <div class="w3-center">
            <?php echo $Count_num[0]; ?>
        </div>
        <div class="w3-clear"></div>
        <h4>Articoli</h4>
      </div>
    </div>
    </body></html>


Ciao mr.x
devo dare brutte notizie...purtroppo non mi funziona ... sicuramente sono io che sbaglio qualcosa
Ciao Luca, di seguito il codice che ho testato, controlla che tutto sia ok confrontandolo con il tuo perchè a me funzione correttamente.
Ovviamente trovi i nomi diversi per tabella e accesso al DB.

PHP:
<!DOCTYPE html>
<html lang="it">
<head>
    <title>Vista</title>
</head>
<body>

<?php

        $mysqli = mysqli_connect("localhost", "user", "pass", "test");
if (!$mysqli) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

$Count_query = "SELECT count(*) FROM Test";
$Count_result = mysqli_query ($mysqli, $Count_query);
$Count_num = mysqli_fetch_row ($Count_result);

?>

<div class="w3-row-padding w3-margin-bottom">
    <div class="w3-quarter">
      <div class="w3-container w3-green w3-padding-3">
        <div class="w3-left"><i class="fa fa-comment"></i></div>
        <div class="w3-center">
            <?php echo $Count_num[0]; ?>
        </div>
        <div class="w3-clear"></div>
        <h4>Articoli</h4>
      </div>
    </div>
    </body></html>

Ciao Mr.x
purtroppo devo dire che il codice da te postato a me non funziona, non mi restituisce nessun dato.
Ho creato una pagina di prova, ma non viene visualizzato nessun dato al di fuori della scritta Articoli.
Mha chissa' cosa succede ...
Una domanda: se non legge la tabella nel dbase mi dovrebbe restituire un errore? giusto.

Ciao e ancora grazie per la pazienza
Luca
 

Luca Ambrosini

Nuovo Utente
17 Dic 2019
14
1
3
Prova a postare tutto il codice della pagina di prova

questo il codice della pagina di prova:
PHP:
<!DOCTYPE html>

<html lang="it">

<head>

    <title>Vista</title>

</head>

<body>


<?php


        $mysqli = mysqli_connect("localhost", "root", "", "magazzino");

if (!$mysqli) {

    echo "Error: Unable to connect to MySQL." . PHP_EOL;

    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;

    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;

    exit;

}

$Count_query = "SELECT count(*) FROM articoli";

$Count_result = mysqli_query ($mysqli, $Count_query);

$Count_num = mysqli_fetch_row ($Count_result);


?>


<div class="w3-row-padding w3-margin-bottom">

    <div class="w3-quarter">

      <div class="w3-container w3-green w3-padding-3">

        <div class="w3-left"><i class="fa fa-comment"></i></div>

        <div class="w3-center">

            <?php echo $Count_num[0]; ?>

        </div>

        <div class="w3-clear"></div>

        <h4>Articoli</h4>

      </div>

    </div>
</div>

    </body></html>
Ciao
LUca
 

mr.x

Utente Attivo
9 Apr 2016
250
25
28
Una domanda: se non legge la tabella nel dbase mi dovrebbe restituire un errore? giusto.
Esattamente.

Ma il file lo hai salvato con estensione .php o per caso stai utilizzando un file .html?

prova anche a fare un test così e vedere cosa ti viene visualizzato
PHP:
<?php
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL | E_STRICT);
    
    echo "questa è una prova";
?>
 

Luca Ambrosini

Nuovo Utente
17 Dic 2019
14
1
3
Esattamente.

Ma il file lo hai salvato con estensione .php o per caso stai utilizzando un file .html?

prova anche a fare un test così e vedere cosa ti viene visualizzato
PHP:
<?php
    ini_set('display_errors', 1);
    ini_set('display_startup_errors', 1);
    error_reporting(E_ALL | E_STRICT);
   
    echo "questa è una prova";
?>
Ciao Mr.x
dunque il problema stava nell'estensione del file. In effetti il mio file era di estensione html, cambiandolo in PHP, il problema è stato risolto.
Grazie mille Mr.x, sei stato davvero paziente nell'aiutarmi, adesso continuo nel mio sviluppo e sicuramente in futuro avrò ancora da chiedere consigli e suggerimenti. Giusto per renderti partecipe, stò realizzando un app web il cui obiettivo è quello di gestire le richieste di materiale cancelleria da parte dei miei colleghi di ufficio e, quindi di conseguenza, del magazzino. Il progetto per le mie capacità è ambizioso, ma vorrei, piano piano, poterlo realizzare.

PS: Come faccio a contrassegnare il POST come risolto???
Grazie ancora