Se connecter / S'enregistrer
Votre question

Ouverture d'une autre page avec id

Tags :
  • Php
  • Programmation
Dernière réponse : dans Programmation
7 Septembre 2007 00:02:40

Bonsoir,

J'ai fais un petit script qui afficher les table d'une db... elle fonctionne mais j'ai un petit souci...

J'ai un lien vers une autre page que j'ouvre comme ceci:

<a href="popup.php?id='.$data['id'].'" target="_blank">

J'arrive donc à la page popup.php?id=10 par exemple, dans ma db ou se trouve cette id j'ai une autre table qui s'appelle taille mais quand je fais <?echo ' '.$data['taille'].' ';?> dans cette nouvelle page rien ne s'affiche. Je comprend pas trop comment je peux faire...

Merci de m'aider

Autres pages sur : ouverture page

7 Septembre 2007 01:08:27

pour voir le contenu de tous un tableau en php tu peux utiliser la fonction print_r()

par exemple juste après avoir remplie ton tableau tu fait :

print_r($data);
die();

et comme cela tu peux vérifier que ton tableau contient bien les données.

Sinon pour ton echo je vois pas trop l'intérèt des ''. avant et après
<?php /*pense à rajouter php si tu travail en php 5*/ echo $data['taille']; ?>

si tu ne trouve pas revient avec plus de détails sur ton code.
7 Septembre 2007 03:34:13

Voici le code qui contient le liens:

  1. <?
  2.  
  3. $db = mysql_connect('*****','*****','*****');
  4. mysql_select_db('*****',$db);
  5.  
  6.  
  7. $sql = "select id, image, titre, taille, temp, realisateur, sortie, acteur, description, url FROM film ORDER BY titre";
  8.  
  9. $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
  10.  
  11. while($data = mysql_fetch_assoc($req))
  12. {
  13. echo '
  14. <table width="100%">
  15. <tr>
  16. <td align="center">
  17. <h2>'.$data['titre'].'</h2><br />
  18. </td>
  19. </tr>
  20. </table>
  21.  
  22. <table>
  23. <tr>
  24. <td class="top">
  25. <img src="'.$data['image'].'" alt="'.$data['titre'].'" />
  26. </td>
  27. <td>
  28. <p class="red">Taille:</p> '.$data['taille'].'<br />
  29. <p class="red">Durée:</p> '.$data['temp'].'<br />
  30. <p class="red">Réalisateur:</p> '.$data['realisateur'].'<br />
  31. <p class="red">Acteur:</p> '.$data['acteur'].'<br />
  32. <p class="red">Date de sortie:</p> '.$data['sortie'].'<br />
  33. <p class="red">Description:</p><p class="des"> '.$data['description'].'</p><br />
  34.  
  35. </td>
  36. </tr>
  37. </table>
  38. <table width="100%" class="separ">
  39. <tr>
  40. <td align="center">
  41. <p class="dl"><a href="popup.php?id='.$data['id'].'" onClick="window.open(this.href, \'liens\', \'height=100, width=200, top=100, left=100, toolbar=no, menubar=yes, location=no, resizable=yes, scrollbars=no, status=no\'); return false;"><img src="images/dl.jpg" alt="Télécharger" /></a></p><br />
  42. </td>
  43. </tr>
  44. </table>';
  45. }
  46.  
  47.  
  48. mysql_close();
  49. ?>


Le lien en popup s'ouvre avec l'id de ma table mais ensuite dans la page popup... les $data ne fonctionne pas...

page popup:

  1. <body style="padding: 10px;">
  2.  
  3.  
  4.  
  5. <table width="90%" border="1" bordercolor="#ccc" cellpadding="0" cellspacing="0" bgcolor="#ffffff" align="center">
  6. <tr>
  7. <td>
  8. <table width="100%" border="0">
  9. <tr>
  10. <td bgcolor="#ffffff">
  11. <div align="center">
  12. <font face="Verdana, Helvetica, sans-serif" size="2"><b><font color=""></font></b></font></div>
  13. </td>
  14. </tr>
  15. </table>
  16. <table width="100%" border="0">
  17. <tr>
  18. <td width="100%">
  19. <div align="center"><font face="Verdana, Helvetica, sans-serif" size="2"><b><a href="<?echo ''.$data['url'].'';?>">Lien 1</a> |<br /><br />
  20. <p>Total : <?echo ''.$data['taille'].'';?></p></div></b></font>
  21. </td>
  22. </tr>
  23. </table>
  24. </td>
  25. </tr>
  26. </table>
  27. </body>


$data['taille'] ne s'afficher pas et $data['url'] quand je clic j'arrive à l'index de mon site. Merci de m'aider
Contenus similaires
7 Septembre 2007 08:15:44

ah ok !

bien sur qu'il ne s'affiche pas si c'est dans une autre page la variable charger par ta requête a été vidé entre temps !!

il te faut soit les transmettre avec ton lien

soit comme tu as ton ID qui est transmit si il est bien la clé de ta table faire une requête avec pour re récupérer les valeurs.

Soit stocker tout le contenu de ton tableau data dans une variable de session par exemple (si tu utilise les sessions)

sinon tu peux aussi modifier ton lien en formulaire
ex:
  1. <table width="100%" class="separ">
  2. <form name="form1" action="ton_chemin\ta_page.php" mehod="post">
  3. <tr>
  4. <td align="center">
  5. <p class="dl"><a href="popup.php?id='.$data['id'].'" onClick="document.form1.submit();"><img src="images/dl.jpg" alt="Télécharger" /></a></p><br />
  6. <input type="hidden" name="taille" value="'.$data['taille'].">
  7. <input type="hidden" name="url" value="'.$data['url'].">
  8. </td>
  9. </tr>
  10. </form>
  11. </table>


euh c'est en gros le code dois pas marcher comme ça

et dans l'autre page tu utilise $_POST["taille"] et $_POST["url"]
7 Septembre 2007 15:48:45

Oui id est est bien la clé de ma table... C'est pour ça que je comprend pas. Si j'ouvre la page avec l'id les veriable $data sont toujours présente non?
7 Septembre 2007 17:01:55

non si tu charge une variable sur une page!

elle n'est pas censé exister ailleurs ou alors il faut utiliser des variables globals
7 Septembre 2007 18:04:57

Ok mais comment je fais?
7 Septembre 2007 19:27:52

tu as plusieurs choix mais par exemple sur la deuxième page en haut tu écrit ça

  1. $db = mysql_connect('*****','*****','*****');
  2. mysql_select_db('*****',$db);
  3.  
  4.  
  5. $sql = "select id, image, titre, taille, temp, realisateur, sortie, acteur, description, url FROM film WHERE id=".$_GET['id']." ORDER BY titre";
  6.  
  7. $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

puis tu fetch une fois le résultat et tu utilise les valeurs dont tu as besoin
7 Septembre 2007 19:47:31

J'ai du faire une erreur la page reste blanche

  1. <?
  2. $db = mysql_connect('*****','*****','*****');
  3. mysql_select_db('*****',$db);
  4.  
  5.  
  6. $sql = "select id, image, titre, taille, temp, realisateur, sortie, acteur, description, url FROM film WHERE id= ".$_GET['id'].";
  7.  
  8. $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
  9.  
  10. while($data = mysql_fetch_assoc($req))
  11. {
  12.  
  13.  
  14.  
  15. ?>
  16.  
  17. <html>
  18. <head>
  19. <title>ed2k.liens.cn - Liens</title>
  20. <link rel="StyleSheet" href="style.css">
  21. </head>
  22.  
  23. <body style="padding: 10px;">
  24.  
  25.  
  26.  
  27. <table width="90%" border="1" bordercolor="#ccc" cellpadding="0" cellspacing="0" bgcolor="#ffffff" align="center">
  28. <tr>
  29. <td>
  30. <table width="100%" border="0">
  31. <tr>
  32. <td bgcolor="#ffffff">
  33. <div align="center">
  34. <font face="Verdana, Helvetica, sans-serif" size="2"><b><font color=""></font></b></font></div>
  35. </td>
  36. </tr>
  37. </table>
  38. <table width="100%" border="0">
  39. <tr>
  40. <td width="100%">
  41. <div align="center"><font face="Verdana, Helvetica, sans-serif" size="2"><b><a href="<?echo '.$_GET['url'].'?>">Lien 1</a> |<br /><br />
  42. <p>Total : <?echo ''.$_GET['taille'].'' ?>
  43.  
  44. </p></div></b></font>
  45. </td>
  46. </tr>
  47. </table>
  48. </td>
  49. </tr>
  50. </table>
  51. </body>
  52. </html>
  53.  
  54. <?
  55. }
  56. mysql_close();
  57. ?>
7 Septembre 2007 19:55:12

  1. ...
  2. face="Verdana, Helvetica, sans-serif" size="2"><b><a href="<?echo '.$data['url'].'?>">Lien 1</a> |<br /><br />
  3. <p>Total : <?echo ''.$data['taille'].'' ?>
  4.  
  5. </p></div></b></font>
  6. </td>
  7. ...


tu dois écrire ça comme cela car $_Get sert a récupérer les données envoyées à une page
alors que avec le $data = mysql_fetch_assoc tu récupères les valeurs de ta requête sql dans la variable $data
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS