Salut, voilà j'ai un problème je n'arrive pas à compter le nombre de visiteur pour chaque profil. exemple : profil.php?id=1 je n'arrive pas à le compter.

Par contre j'ai essayé de faire sans le id=1 il me compte bien le profil.php mais c'est pas ce que je veux :

ma fonction :

function nbr_visites()
{
global $dbh;
$page = basename($_SERVER['SCRIPT_NAME']);

$id = (htmlentities($_GET['id']));
$srt = $dbh->prepare('SELECT * FROM profil WHERE id= :id');
$srt->execute(array('id' => $_GET['id']));
$nombresrt = $srt->fetch();

$query = $dbh->prepare('INSERT INTO visites (nom_page, nbr) VALUES (:page, :nomb) "');
$query->bindParam(':page', $page);
$query->bindValue(':nomb', '1');
$query->bindParam(':id', $nombresrt);
$query->execute();

}

?>

table visites

membre

15 réponses


Bonsoir,
Il manque le paramètre "id" dans le insert

Serg77
Auteur
$query->bindParam(':id', $nombresrt);

( ! ) Notice: Array to string conversion in C:\wamp\www\projet\modele\get_film.php on line 60

bsr, ligne 60, j'avais déjà tester en mettant le where mais vu l'erreur de notice j'ai préfèrer pas le mettre mais en le mettant j'ai l'erreur de notice

Faite un var_dump de $nombresrt et je pense que vous comprendrez d'où viens le problème

Serg77
Auteur

C'est une erreur de conversion car c'est un tableau, je peu le résoudre comment ? AVEC LE VARDUMP, sur le nombresrt j'ai bien un tableau.

Le var_dump est juste l'affichage en mode debug d'une variable
Qu'affiche-t-il ?

Serg77
Auteur

array (size=22)
'id' => string '1' (length=1)
0 => string '1' (length=1)
'pseudo' => string 'dav' (length=8)
1 => string 'dav' (length=8)

Qu'elle devrait être la valeur de $nombresrt ?

Serg77
Auteur

La valeur de $nombresrt c'est bien la valeur du SELECT de l'id du membre.

Donc théoriquement c'est toujours 1 puisque chaque profil à son id ?

Serg77
Auteur

Ouaip je suis dac

Qu'elle est l'intérêt de récupérer cela hormis le fait de savoir si le profil existe ?

Serg77
Auteur

Pour récupérer l'id sinon je pourrai plus faire de where, je vais en avoir besoin pour compter chaque visiteur pour chaque profil

Vous l'avez déjà avec $_GET['id'] ?

Pas besoin de WHERE pour un insert... ton 3 paramètre est par conséquent inutile.

Pour un info, quand on utlise cette requete : $query = $dbh->prepare('INSERT INTO visites (nom_page, nbr) VALUES (:page, :nomb) "');
Il n'y a pas besoin de rapeller chaque table dans le même ordre de dans la base données !