Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour,
Je pense que ce probleme est basique est souvent abordé mais je seche réellement.
J'ai crée une page index dans laquelle j'affiche des entrées de ma DB, j'y ai inserai un lien de sorte à envoyer un id dans l'url comme ca :
[c]echo '<td bgcolor="#CCCCCC"><a href=detail.php?id_pen='.$row["id_page"].' target=\"_blank\">'.$row["id_page"].'</a></td>'; [/]
Seulement, je n'arrive pas a récupérer les details dans ma page détail, voici mon code:
(l'entrée id_page est ecrite comme ca ex: 169.23.23.1)
Est ce une erreur de syntaxe ou pas, je n'obtient pas de message d'erreur, seulement une page "le site web ne peut ouvrir cette page...
mysql_select_db($nom_base);
//récupère tous les enregistrements
$query='SELECT id_page FROM pages ORDER BY form_date DESC';
$resultat=mysql_query($query,$con) or die (mysql_error());;
$total=mysql_num_rows($resultat);
// si on a récupéré un résultat on l'affiche.
if($total) {
//debut du tableau
echo'<table bgcolor="#FFFFFF">'."\n";
echo '<tr>';
echo '<td bgcolor="#669999"><b><u>Nom</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats
while($row=mysql_fetch_array($resultat))
{
echo '<tr>';
echo '<td><b>'.$data['form_date'].'</b></td>';
echo '<td><b>'.$data['form_heure'].'</b></td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
mysql_free_result($resultat);
?>
Voila je sais que c'est un peu long mais je remercie d'avance les personnes qui pourrais m'aider
Dernière modification par cire390 (17-08-2009 22:30:26)
Hors ligne
Bonsoir,
si je comprend bien, la page details.php dont tu donnes la source n'est pas trouvée par le navigateur ?
Hors ligne
oui c'est ca, mais j'ai teste en utilisant un "id_page" de ma DB et la page detail.php (en tapant dans l'url http//localhost/demo/detail.php) s'affiche correctement avec les champs que j'appelle.
A savoir que je viens de trouver une erreur dans mon tableau, lorsque j'affiche mes données. Je pense que c'est $row et non pas $data dans
[c]
echo '<td><b>'.$data['form_date'].'</b></td>';
echo '<td><b>'.$data['form_heure'].'</b></td>';
[/c]
Dernière modification par cire390 (17-08-2009 22:55:24)
Hors ligne
Salut,
- C'est bien $row[...] et pas $data[...]
- Aprés pour ton soucis, tu passes une variable, id_pen dans ce cas, dans l'url. Mais dans ton fichier de destination tu ne récupères nul part cette variable, et tu ne l'inclus pas dans ta requête.
Hors ligne
Merci beaucoups de l'aide.
Au vu des nombreuses erreurs j'ai réecrit mon code de facon bcps plus simple.
J'arrive grace au echo $id à récupérer ce qui est dans l'url mais c'est tout. Je ne vois pas pourquoi le reste ne marche.
$id = $_GET['id_page'];
echo $id;
mysql_connect("localhost", "root", "root");
mysql_select_db("demo");
$req = mysql_query('SELECT id_pen, form_date, doc_nom FROM pages WHERE id_page=' . $_GET['id_page']);
$data = mysql_fetch_array($req);
echo $data['id_pen'];
echo $data['id_nom'];
mysql_close();
?>
Dernière modification par cire390 (18-08-2009 14:02:00)
Hors ligne
SAluton,
Je ne vois pas de colonne id_nom dans la requête.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Désolé c'est une erreur de ma part.
J'ai rectifié et mis
echo $data['id_pen'];
echo $data['form_date'];
Mais le résultat est pareil.
Hors ligne
Pourrais-tu poster tes deux pages clairement : celle qui donne les liens detail.php et detail.php ? (en utilisant [ code php ][ /code ] pour la coloration)
Dernière modification par moijhd (18-08-2009 15:38:52)
Hors ligne
Voici ma page index, qui marche car elle affiche la liste que je veux
mysql_select_db($nom_base);
$query='SELECT id_page FROM pages ORDER BY form_date DESC';
$resultat=mysql_query($query,$con) or die (mysql_error());;
$total=mysql_num_rows($resultat);
if($total) {
echo'<table bgcolor="#FFFFFF">'."\n";
echo '<tr>';
echo '<td bgcolor="#669999"><b><u>Nom</u></b></td>';
echo '</tr>'."\n";
while($row=mysql_fetch_array($resultat))
{
echo '<tr>';
echo '<td bgcolor="#CCCCCC"><a href=detail.php?id_page='.$row["id_page"].' target=\"_blank\">'.$row["id_page"].'</a></td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
}
else echo 'Pas d\'enregistrements dans cette table...';
mysql_free_result($resultat);
?>
et voici la page detail.php
mysql_connect("localhost", "root", "root");
mysql_select_db("demo");
$req = mysql_query('SELECT id_pen, form_date, doc_nom FROM pages WHERE id_page=' . $_GET['id_page']);
$data = mysql_fetch_array($req);
echo $data['id_pen'];
echo $data['form_date'];
mysql_close();
?>
Merci encore pour le soutien apporté
Hors ligne
Je ne vois rien qui empeche le fonctionnement du scrypt :S
Je l'ai réécris plus lisiblement pour moi avec quelques modifications mineurs
[code php]
<?php
// index.php
$machine = 'localhost';
$utilisateur = 'root';
$mot_passe = 'root';
$nom_base = 'demo';
$con = mysql_connect($machine, $utilisateur, $mot_passe) or die ('Erreur : '.mysql_error());
mysql_select_db($nom_base);
$query = 'SELECT id_page FROM pages ORDER BY form_date DESC';
$resultat = mysql_query($query,$con) or die (mysql_error());;
$total = mysql_num_rows($resultat);
if($total != false){
?>
<table bgcolor="#FFFFFF">
<tr>
<td bgcolor="#669999"><b><u>Nom</u></b></td>
</tr>
<?php
while($row = mysql_fetch_array($resultat)){
?>
<tr>
<td bgcolor="#CCCCCC"><a href="detail.php?id_page=<?php echo $row['id_page'];?>" target="_blank"><?php echo $row['id_page'];?></a></td>
</tr>
<?php
}
?>
</table>
<?php
}
else{
?>
Pas d'enregistrements dans cette table...
<?php
}
mysql_free_result($resultat);
?>
<?php
// detail.php
$id = $_GET['id_page'];
echo $id;
mysql_connect('localhost', 'root', 'root');
mysql_select_db('demo');
$req = mysql_query('SELECT id_pen, form_date, doc_nom FROM pages WHERE id_page= '.mysql_real_escape_string($_GET['id_page']));
$data = mysql_fetch_array($req);
echo $data['id_pen'];
echo $data['form_date'];
mysql_close();
?>
[/code]
Hors ligne
Bon merci beaucoup, je vais continuer mes recherches. En essayant par exemple de changer le champs de référence.
En tous cas merci à tous
(Pour les modo, je suis désolé mais je ne vois pas comment mettre le message en résolu )
Dernière modification par cire390 (18-08-2009 21:00:46)
Hors ligne
Je réouvre mon post car j'ai enfin reussi à faire marcher ma page qui affiche les détails, je met le code pour ceux que ca pourrait intérréser.
Pourquoi ce code marche est pas l'autre, je sais pas. Peut-être du au fait que je mets les résultats dans du html??
Enfin, ca marche. Mais j'ai une autre question :
$machine="localhost";
$utilisateur="root";
$mot_passe="root";
$nom_base="demo";
$con=mysql_connect($machine,$utilisateur,$mot_passe) or die ('Erreur : '.mysql_error() );
mysql_select_db($nom_base);
$query="SELECT id_pen, form_date, doc_nom, id_page, doc_image FROM pages WHERE id_page='$id'";
$resultat=mysql_query($query,$con) or die (mysql_error());;
$total=mysql_num_rows($resultat);
if($total) {
echo'<table bgcolor="#FFFFFF">'."\n";
echo '<tr>';
echo '<td bgcolor="#669999"><b><u>Nom</u></b></td>';
echo '</tr>'."\n";
while($row=mysql_fetch_array($resultat))
{
echo '<tr>';
echo '<td bgcolor="#CCCCCC"><a href=detail.php?id_page='.$row["id_page"].' target=\"_blank\">'.$row["id_page"].'</a></td>';
echo '<td bgcolor="#CCCCCC">'.$row["form_date"].'</a></td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
}
else echo 'Pas d\'enregistrements dans cette table...';
mysql_free_result($resultat);
?>
Quelqu'un saurait-il comment récupérer et afficher une image qui est déja stockée dans la DB. (je reprend un développement existant ou la personnes a stocké les images dans la DB, je peux malheuresement pas faire autrement).
En rajoutant ceci au milieu, j'arrive à afficher l'image mais elle est en binaire (serie de chiffres et lettre incompréhensible), comment je peux la "traduire"?
Merci
Dernière modification par cire390 (20-08-2009 09:38:07)
Hors ligne
Pages :: 1