Recuperer des donnees de 2 tables differentes
joboy84
-
koko -
koko -
Bonjour,
j ai creer une section membre dans laquelle figurent certainent campagne pour lesquelles les utilisateurs sont rétribués à l inscription. Je souhaite faire en sorte que les publicites pour lesquelles le membre a deja valider son inscription, ne s'affichent plus dans son espace membre ! Une fois que le membre s est inscrit a la campagne, il doit cliquer sur le bouton "confirmer votre inscription" qui envoie sous forme de formulaire des données a la page confirmerinscription.php qui alimente une table "confirmecampagne" et il faudrait donc recuperer les donnees dans cette table pour que l id de la campagne a laquelle il s est inscrit ne soit plus affiche...
J ai essaye avec les jointures mais apparemment je fais quelque chose de faux car la page reste vierge et rien ne s affiche dans le navigateur...
Voila le code de la page payinscription.php...qui est la page sur laquelle s affichent les publicites et apres inscription le membre doit donc confirmer en cliquant sur un bouton de confirmation. Etant donné que c est cette page qui affiche les pub il faut donc y inserer le code pour eviter d afficher les pubs auxquelles le membre a deja souscrit... :
J'ai une premiere table nommée "campagne" qui contient les diverses campagnes a affiche :
Puis une autre table nommée "confirmecampagne" dans laquelle sont ajoutée les données quand le membre confirme son inscription :
Voici egalement la page avec le code traitant la demande de confirmation si cela vous aide..meme si elle n a rien a voir dans l histoire....juste pour que vous compreniez mieux...
confirmerinscription.php
merci
j ai creer une section membre dans laquelle figurent certainent campagne pour lesquelles les utilisateurs sont rétribués à l inscription. Je souhaite faire en sorte que les publicites pour lesquelles le membre a deja valider son inscription, ne s'affichent plus dans son espace membre ! Une fois que le membre s est inscrit a la campagne, il doit cliquer sur le bouton "confirmer votre inscription" qui envoie sous forme de formulaire des données a la page confirmerinscription.php qui alimente une table "confirmecampagne" et il faudrait donc recuperer les donnees dans cette table pour que l id de la campagne a laquelle il s est inscrit ne soit plus affiche...
J ai essaye avec les jointures mais apparemment je fais quelque chose de faux car la page reste vierge et rien ne s affiche dans le navigateur...
Voila le code de la page payinscription.php...qui est la page sur laquelle s affichent les publicites et apres inscription le membre doit donc confirmer en cliquant sur un bouton de confirmation. Etant donné que c est cette page qui affiche les pub il faut donc y inserer le code pour eviter d afficher les pubs auxquelles le membre a deja souscrit... :
<?php include ('dbconnect.php'); $pseudo = .$_SESSION['pseudo']. // on crée la requete SQL $sql = "SELECT FROM campagne LEFT JOIN confirmecampagne ON campagne.idcampagne, campagne.codecampagne, campagne.nomcampagne, campagne.nombrepoints, confirmecampagne.idcampagne2 WHERE campagne.idcampagne!='confirmecampagne.idcampagne2' AND pseudo!='$pseudo'"; // on envoie la requête $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // on fait une boucle qui va faire un tour pour chaque enregistrement while($data = mysql_fetch_array($req)) { echo '<table width="352" height="101" border="0"> <tr> <td width="137"><div align="center">Campagne id : '.$data['idcampagne'].'</div></td> <td width="199"><div align="center">Gains : '.$data['nombrepoints'].' points </div></td> </tr> <tr> <td colspan="2"><div align="center">'.$data['codecampagne'].'</div></td> </tr> <tr> <td colspan="2"><div align="center"><form action="confirmerinscription.php" method="post"> <input name="idcampagne" type="hidden" value="'.$data['idcampagne'].'"> <input name="nomcampagne" type="hidden" value="'.$data['nomcampagne'].'"> <input name="nombrepoints" type="hidden" value="'.$data['nombrepoints'].'"> <input name="pseudo" type="hidden" value="'.$_SESSION['pseudo'].'"> <input type="submit" class="fondblanc" value="Confirmer votre inscription"> </form> </div></td><br> </tr> </table>'; } // on ferme la connexion à mysql mysql_close(); ?>
J'ai une premiere table nommée "campagne" qui contient les diverses campagnes a affiche :
CREATE TABLE campagne ( idcampagne int(10) UNSIGNED NOT NULL AUTO_INCREMENT, nomcampagne varchar(40) DEFAULT '0', regiecampagne varchar(40) DEFAULT NULL, codecampagne text(3000) DEFAULT NULL, typesupport varchar(50) DEFAULT NULL, datedebutcampagne date NOT NULL DEFAULT '0000-00-00', datefincampagne date NOT NULL DEFAULT '0000-00-00', nombrepoints int(10) DEFAULT '0', PRIMARY KEY (idcampagne) ) TYPE=MyISAM;
Puis une autre table nommée "confirmecampagne" dans laquelle sont ajoutée les données quand le membre confirme son inscription :
CREATE TABLE confirmecampagne ( idconfirmation int(10) UNSIGNED NOT NULL AUTO_INCREMENT, idcampagne2 int(10) DEFAULT '0', nomcampagne varchar(40) DEFAULT '0', nombrepoints int(10) DEFAULT '0', pseudo varchar(15) DEFAULT '0', traiteparadmin varchar(15) DEFAULT 'Non', dateinscription datetime NOT NULL DEFAULT '0000-00-00', PRIMARY KEY (idconfirmation) ) TYPE=MyISAM;
Voici egalement la page avec le code traitant la demande de confirmation si cela vous aide..meme si elle n a rien a voir dans l histoire....juste pour que vous compreniez mieux...
confirmerinscription.php
<?php include ('dbconnect.php'); $sql=mysql_query("SELECT * FROM confirmecampagne WHERE idcampagne2='$idcampagne' AND pseudo='$pseudo'"); if(mysql_num_rows($sql)) { echo"<font color=red size=3><u><b>ERREUR :</b></u><br></font><b>Vous avez déjà confirmé une inscription à cette campagne !</b>"; exit; } $sql=mysql_query("INSERT INTO confirmecampagne (idcampagne2, nomcampagne, nombrepoints, pseudo, dateinscription) VALUES ('$idcampagne', '$nomcampagne', '$nombrepoints', '$pseudo', now())") or die('Impossible de confirmer l\inscription suite à une erreur technique...Veuillez nous en excuser !'.mysql_error()); $sq=mysql_query("SELECT * FROM confirmecampagne WHERE idcampagne2='$idcampagne' AND pseudo='$pseudo'") or die(mysql_error()); $arr=mysql_fetch_array($sq); extract($arr); if(mysql_affected_rows) echo "<center><P><P><P><b>Votre confirmation d'inscription à la campagne $nomcampagne à été effectuée avec succès ! Vos points seront crédité après vérification de la validité de votre inscription chez notre partenaire. Cela ne devrait pas prendre plus de 48h...</b><p></center>"; ?>[/code] Et voila ! si quelqu un peut eclairer ma lanterne...Je precise que j utlise les joitures pour la premiere fois et que je pense que le probleme viens donc de la: [code]$sql = "SELECT FROM campagne LEFT JOIN confirmecampagne ON campagne.idcampagne, campagne.codecampagne, campagne.nomcampagne, campagne.nombrepoints, confirmecampagne.idcampagne2 WHERE campagne.idcampagne!='confirmecampagne.idcampagne2' AND pseudo!='$pseudo'"; or die('Impossible dexecuter le requete avec LEFT JOIN !'.mysql_error());
merci
A voir également:
- Recuperer des donnees de 2 tables differentes
- Recuperer message whatsapp supprimé - Guide
- Table des matières word - Guide
- Trier des données excel - Guide
- Supprimer les données de navigation - Guide
- Impossible de récupérer mon compte gmail - Guide
26 réponses
Bsr
Ca je m'en doute que $pseudo est vu comme une chaîne et pas comme une variable :-)
Regarde directement dans ta base sur MySQL : que contient exactement le champ codecampagne ?????
Ca je m'en doute que $pseudo est vu comme une chaîne et pas comme une variable :-)
Regarde directement dans ta base sur MySQL : que contient exactement le champ codecampagne ?????
Bonsoir,
Le champ codecampagne contient :
valavala..
Le champ codecampagne contient :
<a href="http://clk.tradedoubler.com/click?p=49728&a=1410783&g=16384964&epi=\'.$pseudo.\'" target="_blank"><img src="http://impfr.tradedoubler.com/imp?type(img)g(16384964)a(1410783" border=0></a>
valavala..
Bonjour
J ai aussi essaye avec :
Mais la encore une fois, il ne me prends pas la valeur de la variable en compte..cela affiche epi= (et rien derriere)...
J ai aussi essaye avec :
<a href="http://clk.tradedoubler.com/click?p=49728&a=1410783&g=16384964&epi="\'.$_SESSION['pseudo'].\'"" target="_blank"><img src="http://impfr.tradedoubler.com/imp?type(img)g(16384964)a(1410783" border=0></a>
Mais la encore une fois, il ne me prends pas la valeur de la variable en compte..cela affiche epi= (et rien derriere)...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bsr
Bizarre ! Le str_replace() aurait dû fonctionner ...
Eventuellement essai avec :
(mais j'y crois pas bcp )
Tu pourrais mettre ta page en ligne et donner l'URL ?
Bizarre ! Le str_replace() aurait dû fonctionner ...
Eventuellement essai avec :
<td colspan="2"><div align="center">'.str_replace("\'.$"."pseudo.\'" ,$pseudo,$data['codecampagne']).'</div></td>
(mais j'y crois pas bcp )
Tu pourrais mettre ta page en ligne et donner l'URL ?
j ai ouvert un nouveau topic car celui est un peu long maintenant et ce n est plus le meme probleme...
lien : variable non transmise dans un lien#0
Ca n a pas fontionner...
lien : variable non transmise dans un lien#0
Ca n a pas fontionner...