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 1476 Statut Membre 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 1476 Statut Membre 84
 
Arrête avec tes up, et regarde les commentaires postés pour résoudre ton problème !
0
lolilolap Messages postés 5 Statut Membre
 
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 Statut Membre
 
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 1476 Statut Membre 84
 
Remet moi la ligne 6 stoplé ;)
0
lolilolap Messages postés 5 Statut Membre
 
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 Statut Membre
 
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 1476 Statut Membre 84
 
essayes
mysql_query("UPDATE '".$table."' SET clic = clic+1 WHERE id = '".$id."'");  
0