Problème de requête

marcel -  
 A.Nonymous -
Bonjour,

Tout d'abord j'utilise ce code pour la création de la table :
# CREATE TABLE le_nom_que_tu_veux(
# id int(20) NOT NULL auto_increment,
# nom char(250) NOT NULL,
# url char(250) NOT NULL,
# clic char(50) NOT NULL,
# PRIMARY KEY (id)
# );


Après j'ai une page config.php :
<?php
$host="localhost";
$login="root";
$mdp="";
$base="spip";
$table="clicscount";
?>


Une page pour le téléchargement :
<?php
require("config.php");
mysql_connect($host,$login,$mdp); // Connexion à la base
mysql_select_db($base);
$sql='select id,nom,url,clic from clicscount';
$req=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // On envoi la requete sql

while ($data=mysql_fetch_object($req)) // On fait une boucle et on récupère les valeurs
{
echo'<a href="clic.php?id='.$data->id.'" target="_blank">'.$data->nom.'</a> '.$data->clic.'</font><br>';
}
?>


Et la page clic.php :
<?php
require("config.php");
mysql_connect($host,$login,$mdp); // Connexion à la base
mysql_select_db($base); // Connexion à la base de donnée

mysql_query("UPDATE $table SET clic=clic+1 where id='$id'"); // On met à jour notre table via la requête UPDATE ; SET permet de définir le champ et et la clause WHERE nous indique quel ligen ( id ) de la table nous allons incrémenter

$query=mysql_query("SELECT url FROM partenaires WHERE id='$id'"); // Ici on choisit l'url en fonction de l'id

$url=mysql_fetch_row($query); // On récupère les données

header("location:$url[0]"); // On affiche la page

?>


Le problème c'est que je passe par cette erreur en arrivant sur la page clic :


Notice: Undefined variable: id in I:\Site Audio\www\test\clic.php on line 6

Notice: Undefined variable: id in I:\Site Audio\www\test\clic.php on line 8

Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in I:\Site Audio\www\test\clic.php on line 10

Quelqu'un aurait une idée ?

8 réponses

Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Bonjour,
quand tu met une variable en paramètre dans un lien, pour la récupérer il faut que tu fasse ca :
$_GET['id']
0
ben
 
up
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Arrête avec tes up, et regarde les commentaires postés pour résoudre ton problème !
0
lolilolap Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Bon, je suis pas autiste, j'ai eu beau regarder plusieurs fois et actualiser autant que je voulais je ne voyais pas la réponse !
Je viens de m'inscrire et là je le vois le commentaire ...
Enfin merci pour ta réponse, je vais essayer ça. :)
0
lolilolap Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai remplacé $id par $_GET['id'], maintenant j'ai ça sur ma page clic :
Parse error: parse error, expecting 'T_STRING' or 'T_VARIABLE' or 'T_NUM_STRING' in I:\Site Audio\www\test\clic.php on line 6

Je m'en sors pas, désolé d'être aussi nul. ^^'
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
Remet moi la ligne 6 stoplé ;)
0
lolilolap Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
mysql_query("UPDATE $table SET clic=clic+1 where id='$_GET['id']'");
0
A.Nonymous
 
La notice PHP est pourtant claire :
Notice: Undefined variable: id in I:\Site Audio\www\test\clic.php on line 6
mysql_query("UPDATE $table SET clic=clic+1 where id='$id'")

$id n'est pas défini
0
lolilolap Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Donc concrètement je dois faire quoi dans le code ?
0
A.Nonymous
 
Donner une valeur à $id avant de l'utiliser
0
Melooo Messages postés 1405 Date d'inscription   Statut Membre Dernière intervention   84
 
essayes
mysql_query("UPDATE '".$table."' SET clic = clic+1 WHERE id = '".$id."'");  
0