IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[deb.] Requête qui fait pas ce que je lui demande


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 223
    Points : 68
    Points
    68
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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>

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    a la place de votre code tu pooura faire ça si IDloc est unique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    header('location:'.$idloc);
    quece que ca veut dire
    A la recherche d'un film : http://chercher-un-film.com

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 223
    Points : 68
    Points
    68
    Par défaut
    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...

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    D'ou vient cette variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $row_Recordset1['ID_loc'];
    A la recherche d'un film : http://chercher-un-film.com

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 223
    Points : 68
    Points
    68
    Par défaut
    Eh bien c'est l'identifiant de la table LOCATIONS... c'est ça que tu me demandes ?

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Affiche la valeur de la variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $row_Recordset1['ID_loc'];exit;
    A la recherche d'un film : http://chercher-un-film.com

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 223
    Points : 68
    Points
    68
    Par défaut
    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...

  8. #8
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    oui
    et aussi faire un echo de la requete et execute la directement sous phpmyadmin
    A la recherche d'un film : http://chercher-un-film.com

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 223
    Points : 68
    Points
    68
    Par défaut
    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

Discussions similaires

  1. if qui ne fait pas ce que je souhaite faire.
    Par Antoniom dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 10/12/2010, 12h04
  2. Une View qui ne fait pas ce que je veux
    Par EmmanuelleC dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/08/2009, 08h41
  3. [Système] bouton qui ne fait pas se que je veut
    Par schats dans le forum Langage
    Réponses: 2
    Dernier message: 27/04/2007, 11h17
  4. Réponses: 2
    Dernier message: 24/04/2007, 20h04
  5. Il ne trouve pas ce que je lui demande !
    Par killprog dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 12/03/2006, 19h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo