Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 09/10/2006, 17h43   #1
Invité de passage
 
Inscription : octobre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 6
Points : 1
Points : 1
Par défaut [Conception] rechercher une entrée dans une BDD

Bonjour,
je déséspère de trouver une solution à mon problème. Y'a t'il une âme charitable qui pourrait m'aider ?
Je récupère l'adresse IP d'un visiteur, je l'intègre à une BDD (pour l'instant aucun problème)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
$adip= $_POST['adip'];
 
  include("infos.inc");
  $connection = mysql_connect($host,$user,$password)
       or die ("Connexion au serveur impossible");
  $db = mysql_select_db($database,$connection)
       or die ("Sélection de la base de données impossible");
 
  $query = "INSERT INTO votant (adip)
            VALUES ('$adip')";
  $result = mysql_query($query)
       or die ("Exécution de la requête impossible");
?>
c'est la que cela se complique.
je souhaiterais ensuite vérifier si l'adresse IP est déjà présente dans la BDD
et si oui, je voudrais renvoyer un message d'erreur à l'intérieur dans un flash.
Suis pas sur d'avoir été très clair :-)

voici mon code dans une seconde page PHP

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
  include("infos.inc");
  $connection = mysql_connect($host,$user,$password)
       or die ("Connexion au serveur impossible");
  $db = mysql_select_db($database,$connection)
       or die ("Sélection de la base de données impossible");
 
$adip = getenv('REMOTE_ADDR');
$adip = "&adip=".$adip."&";
echo $adip;
 
$sql = "SELECT adip FROM votant WHERE adip='$adip'";
$search = mysql_query($sql) or die ("Exécution de la sélection impossible");
$search = "&search=".$search."&";
echo $search;
 
if ($search == $adip){
$sendresult = "vote impossible";
$sendresult = "&sendresult=".$sendresult."&";
echo $sendresult;
}
?>
Voyez vous un problème de syntaxe par exemple dans le second code ?
Merci
papadam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2006, 18h37   #2
Invité de passage
 
Inscription : octobre 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 2
Points : 2
Points : 2
Code :
$sql = "SELECT adip FROM votant WHERE adip='$adip'";
A la place de cette requete tu peut utiliser la suivante
Code :
$sql = "SELECT count(adip) FROM votant WHERE adip='$adip'";
et ensuite si le resultat de $sql vaut 1 sa veut que l'adresse est déjà dans la bdd et 0 sinon.
the nomad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/10/2006, 22h35   #3
Invité de passage
 
Inscription : octobre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 6
Points : 1
Points : 1
Merci de ta réponse.
J'ai essayé
Code :
1
2
3
4
$sql = "SELECT count(adip) FROM votant WHERE adip='$adip'";
$search = mysql_query($sql) or die ("Exécution de la sélection impossible");
$search = "&search=".$search."&";
echo $search;
mais j'ai en retour ce message dans Flash:
resource id#4.
ca correspond à quoi ce message ?
papadam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2006, 07h02   #4
Invité de passage
 
Inscription : octobre 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 2
Points : 2
Points : 2
oups,
il faut que tu fasse
Code :
1
2
3
4
5
6
 
$sql = "SELECT count(adip) as nb  FROM votant WHERE adip='$adip'";
$search = mysql_query($sql) or die ("Exécution de la sélection impossible");
$search = mysql_result($search,0);
$search = "&search=".$search."&";
echo $search;
the nomad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2006, 10h22   #5
Invité de passage
 
Inscription : octobre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 6
Points : 1
Points : 1
Genial ca marche !!
enfin presque :-)
c'est juste que tu me dis:
Citation:
et ensuite si le resultat de $sql vaut 1 sa veut que l'adresse est déjà dans la bdd et 0 sinon.
En fait dans mon flash, ca me retourne 0 alors que l'adresse est deja presente dans ma base. C'est juste une histoire d'inversion (1 l'adresse n'y est pas, 0 elle y est) ou le problème est ailleurs ?
Merci
papadam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2006, 10h29   #6
Invité de passage
 
Inscription : octobre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 6
Points : 1
Points : 1
en fait ca ne fonctionne pas.
ca retourne systématiquement la valeur 0 dans mon flash
papadam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2006, 11h11   #7
Membre du Club
 
Avatar de pioule
 
Inscription : août 2003
Messages : 65
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 65
Points : 69
Points : 69
Et en faisant ça ?

Code :
1
2
3
4
5
6
 
$sql = "SELECT count(adip) as nb  FROM votant WHERE adip='$adip'";
$result = mysql_query($sql) or die ("Exécution de la sélection impossible");
$row = mysql_fetch_array($result);
$search = "&search=".$row['nb']."&";
echo $search;
pioule est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2006, 11h40   #8
Invité de passage
 
Inscription : octobre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 6
Points : 1
Points : 1
ca retourne également 0 dans les 2 cas
papadam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2006, 17h16   #9
Invité de passage
 
Inscription : octobre 2006
Messages : 6
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 6
Points : 1
Points : 1
ca marche !!!
le bon code est le suivant
Code :
1
2
3
4
5
6
$nadip= $_POST['adip'];
$sql = "SELECT count(adip) as nb  FROM votant WHERE adip='$nadip'";
$result = mysql_query($sql) or die ("Exécution de la sélection impossible");
$row = mysql_fetch_array($result);
$search = "&search=".$row['nb']."&";
echo $search;
En fait il fallait rajouter
Code :
$nadip= $_POST['adip'];
Merci à tout le monde !!!
papadam est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h12.


 
 
 
 
Partenaires

Hébergement Web