Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/01/2012, 17h37   #1
Membre à l'essai
 
Inscription : septembre 2008
Messages : 140
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 140
Points : 23
Points : 23
Par défaut [deb.] Requête qui fait pas ce que je lui demande

... en fait elle fait rien, je ne comprends pas pourquoi. J'espère qu'une bonne âme pourra m'expliquer...

Bonjour !
Dans mon site, j'ai une table LOCATIONS et j'affiche sur une page chacun des enregistrements de cette table.
Il y a notamment un champ COORD_PUBLIC que je mets dans un div masqué (fonction javascript) et je cherche à compter, dans une autre table, combien de fois on clique sur le lien pour ouvrir le div et voir les coordonnées du proprio, et cela par identifiant (l'id de chaque location est : ID_loc).

Sur la même page, un copain m'a fait un compteur (qui marche !) pour que je puisse savoir combien de fois on cliquait sur le lien des sites perso des proprio.
Alors, comme je suis archi deb(utante !) j'ai repris son code, j'ai modifié évidemment les noms des champs, des requêtes etc, mais ça ne compte rien du tout, et je n'arrive pas à comprendre pourquoi.
J'ai fait ça :
Code :
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
// Cette partie du code permet de savoir si le lien des coordonnees a ete clique
	// et de faire les traitements necessaires sur la BDD
	if((!empty($_GET['isclick2'])) && ($_GET['isclick2'] == 'ok2'))
	{
		// Recuperation de l'ID
		$idloc = $row_Recordset1['ID_loc'];
 
		// On verifie si l ID existe deja sur la BDD, si non on le cree
		$exist = FALSE;
		// compteurLocTel est le nom de la table qui stocke les stats sur les clics
		// IDloc est le nom de la colonne Lien sur lequel on a clique
		$sql2 = "select * from compteurLocTel where IDloc = '".$idloc."'";
		$req2 = mysql_query($sql2);
		if($result = mysql_fetch_assoc($req2))
		{
			$exist = TRUE;
		}
		if($exist)
		{
			// Script SQL de mise a jour du compteur
			// nombre est le nom de la colonne qui contient le nombre de clic
			$sql2 = "update compteurLocTel set nombre = nombre + 1 where IDloc = '".$idloc."'";
			$req2 = mysql_query($sql2);
		}
		else
		{
			// Script SQL d'insertion du nouveau lien  clique
			$sql2 = "insert into compteurLocTel(IDloc, nombre) values('".$idloc."', 1)";
			$req2 = mysql_query($sql2);
		}
		header('location:'.$idloc);
		exit;
	}
et sur la page :
Code :
1
2
<a href="<?php echo $_SERVER['PHP_SELF'].'?recordID='.$_GET['recordID'].'&isclick2=ok2'; ?>" onclick="javascript:visibilite('div1'); return false;" >Afficher les coordonn&eacute;es</a>   
                <div id="div1" style="display:none;"><?php echo nl2br ($row_Recordset1['coord_public']); ?></div>
evevev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 17h52   #2
Membre chevronné
 
Homme Taoufiq Ben
Développeur Web
Inscription : mai 2009
Messages : 465
Détails du profil
Informations personnelles :
Nom : Homme Taoufiq Ben
Âge : 25
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 465
Points : 653
Points : 653
a la place de votre code tu pooura faire ça si IDloc est unique
Code :
1
2
3
4
5
6
7
8
9
if((!empty($_GET['isclick2'])) && ($_GET['isclick2'] == 'ok2'))
{
	// Recuperation de l'ID
	$idloc = $row_Recordset1['ID_loc'];	
	mysql_query("insert into compteurLocTel(IDloc, nombre) values('".$idloc."', 1)
			 ON DUPLICATE KEY UPDATE nombre = nombre + 1");
 
	header('location:'.$idloc);
}
et pour cette
Code :
header('location:'.$idloc);
quece que ca veut dire
m4riachi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 18h21   #3
Membre à l'essai
 
Inscription : septembre 2008
Messages : 140
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 140
Points : 23
Points : 23
Merci de ta réponse, j'ai remplacé le code avec le tien mais cela n'a rien changé.
Oui, l'id est unique, enfin chaque location a un ID qui est la clé primaire de la table LOCATIONS.
Pour la dernière ligne, je ne sais pas du tout ce que c'est, je l'ai bêtement recopié, mais même en l'enlevant ça ne change rien...
evevev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 18h28   #4
Membre chevronné
 
Homme Taoufiq Ben
Développeur Web
Inscription : mai 2009
Messages : 465
Détails du profil
Informations personnelles :
Nom : Homme Taoufiq Ben
Âge : 25
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 465
Points : 653
Points : 653
D'ou vient cette variable
Code :
$row_Recordset1['ID_loc'];
m4riachi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 18h37   #5
Membre à l'essai
 
Inscription : septembre 2008
Messages : 140
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 140
Points : 23
Points : 23
Eh bien c'est l'identifiant de la table LOCATIONS... c'est ça que tu me demandes ?
evevev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 18h42   #6
Membre chevronné
 
Homme Taoufiq Ben
Développeur Web
Inscription : mai 2009
Messages : 465
Détails du profil
Informations personnelles :
Nom : Homme Taoufiq Ben
Âge : 25
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 465
Points : 653
Points : 653
Affiche la valeur de la variable
Code :
echo $row_Recordset1['ID_loc'];exit;
m4riachi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 18h46   #7
Membre à l'essai
 
Inscription : septembre 2008
Messages : 140
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 140
Points : 23
Points : 23
Je viens de mettre ton code sur ma page, et ça m'affiche bien le numéro de la location... je peux te donner un lien si tu veux...
evevev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 18h53   #8
Membre chevronné
 
Homme Taoufiq Ben
Développeur Web
Inscription : mai 2009
Messages : 465
Détails du profil
Informations personnelles :
Nom : Homme Taoufiq Ben
Âge : 25
Localisation : Maroc

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mai 2009
Messages : 465
Points : 653
Points : 653
oui
et aussi faire un echo de la requete et execute la directement sous phpmyadmin
m4riachi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 19h06   #9
Membre à l'essai
 
Inscription : septembre 2008
Messages : 140
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 140
Points : 23
Points : 23
Faire un echo de la requete, je en comprends pas ce que ça veut dire...
Par contre, en mettant ta requête directement dans phpmyadmin, une ligne s'est bien créée, et en la mettant une deuxième fois, le compteur est bien passé de 1 à 2
evevev est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h10.


 
 
 
 
Partenaires

Hébergement Web