Impossible d'afficher le contenu [php]
Fermé
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
-
23 févr. 2007 à 20:38
Thecanardwc44 Messages postés 147 Date d'inscription dimanche 18 juillet 2004 Statut Membre Dernière intervention 3 février 2008 - 25 févr. 2007 à 23:14
Thecanardwc44 Messages postés 147 Date d'inscription dimanche 18 juillet 2004 Statut Membre Dernière intervention 3 février 2008 - 25 févr. 2007 à 23:14
A voir également:
- Impossible d'afficher le contenu [php]
- Le fichier à télécharger correspond au contenu brut d’un courrier électronique. de quel pays a été envoyé ce message ? - Guide
- Word a trouvé du contenu illisible - Guide
- Easy php - Télécharger - Divers Web & Internet
- Afficher appdata - Guide
- Afficher mot de passe wifi android - Guide
4 réponses
Thecanardwc44
Messages postés
147
Date d'inscription
dimanche 18 juillet 2004
Statut
Membre
Dernière intervention
3 février 2008
5
24 févr. 2007 à 15:32
24 févr. 2007 à 15:32
je n'ai pas vraiment compris l'utilité de certaines parties de ton code mais dis moi si j'ai bon :
tu a sune page qui affiche un tablaeu contenant plusieurs produits.. tu clic sur un produit et la tu veux afficher des infos détaillés. OK
j'imagine que dans ta BDD tu as une table avec pour champs : "id", "nom".. je ne connais pas la sturcture de ta base don je l'invente..
pour ta page de liste des produits, je mettrai une requete comme celle qui suit
$requete=mysql_query("SELECT * FROM test"); /
while($infos= @mysql_fetch_array($requete))
{
echo '<a href="tapage.php?id='.$infos["id"].'">Fiche détaillée</a>';
}
apres pour ton tableau ou tu affiche les infos detaillées, je vois pas l'utilité de la partie " récupération des variables a afficher" en effet : que viennent faire les POSt dans le script?
tu recupere les infos sur le produit particulier avec
donc tu te retrouve avec un tableau contenant les infos sur le produit ayant pour id celui recuperer dans le lien : tu recupere ses infos en faisant :
apres, tu remplace toutes tes variables du tableau (comme $row = 'id') par $infos_tableau["nomduchampquit'interesse"]
je suis sur de ne pas avoir été assez clair donc si tu veux plus d'infos ou que je te modifie ton code pour qu'il tourne, n'hesite pas a demander
tu a sune page qui affiche un tablaeu contenant plusieurs produits.. tu clic sur un produit et la tu veux afficher des infos détaillés. OK
j'imagine que dans ta BDD tu as une table avec pour champs : "id", "nom".. je ne connais pas la sturcture de ta base don je l'invente..
pour ta page de liste des produits, je mettrai une requete comme celle qui suit
$requete=mysql_query("SELECT * FROM test"); /
while($infos= @mysql_fetch_array($requete))
{
echo '<a href="tapage.php?id='.$infos["id"].'">Fiche détaillée</a>';
}
apres pour ton tableau ou tu affiche les infos detaillées, je vois pas l'utilité de la partie " récupération des variables a afficher" en effet : que viennent faire les POSt dans le script?
tu recupere les infos sur le produit particulier avec
$requete=mysql_query("SELECT * FROM test WHERE id=$_GET['id']"); $infos_produit= mysql_fetch_row($requete);
donc tu te retrouve avec un tableau contenant les infos sur le produit ayant pour id celui recuperer dans le lien : tu recupere ses infos en faisant :
$infos_produit["nomduchampqui t'interesse"] : exemple $infos_produit["Prix"]
apres, tu remplace toutes tes variables du tableau (comme $row = 'id') par $infos_tableau["nomduchampquit'interesse"]
je suis sur de ne pas avoir été assez clair donc si tu veux plus d'infos ou que je te modifie ton code pour qu'il tourne, n'hesite pas a demander
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
518
24 févr. 2007 à 19:38
24 févr. 2007 à 19:38
Salut Thecanardwc44
TOut d'abord un très merci pour ta réponse.
Je l'ai tellement modifié , tripatouillé que je ne sais plus où j'habite du coup. Et je m'arrache les cheveux.... grrrrrr !
Tu peux voir le comportement sur: http://txiki.free.fr (mais j'y ai ajouter des choses comme une page d'authentification pour effectuer des modifs par certaines personnes uniquement).
cette page qui affiche un premier tableau fonctionne très bien donc on n'y touche pas (même si c'est pas optimisé ?")
Ensuite, je regarde ce que tu me préconise. Mais j'aurai sans doute besoin d'un sérieux coup de main (je débute en PHP alors faut etre tolérant en pédagogue (plein de // comments...... ne seraient pas inutiles) ;-))
Merci encore.
TOut d'abord un très merci pour ta réponse.
Je l'ai tellement modifié , tripatouillé que je ne sais plus où j'habite du coup. Et je m'arrache les cheveux.... grrrrrr !
Tu peux voir le comportement sur: http://txiki.free.fr (mais j'y ai ajouter des choses comme une page d'authentification pour effectuer des modifs par certaines personnes uniquement).
cette page qui affiche un premier tableau fonctionne très bien donc on n'y touche pas (même si c'est pas optimisé ?")
<? //================================================================================== // Affichage du catalogue par pages de 10 produits // includes du fichier fonctions séparé pour les vérifs des limites et Nb de pages //================================================================================== require 'fonctions.php'; //========================================= // information pour la connection à le DB //========================================= $host = 'localhost'; $user = 'root'; $pass = ''; $db = 'test'; //========================================= // initialisation des variables //========================================= $nombre = 10; // on va afficher 10 résultats par page. // si la limite a été passée par un lien, on la prend en compte. // Sinon, si elle a été passée par le bouton, on la prend en compte. // Dans tous les autres cas, elle vaut 0. if (isset($_GET["limite"])) $limite = $_GET["limite"]; elseif (isset($_POST["limite"])) $limite = $_POST["limite"]; else $limite = 0; $path_parts = pathinfo($_SERVER['PHP_SELF']); // on cherche le nom de la page. $page = $path_parts["basename"]; //====================== // connection à la DB //====================== $link = mysql_pconnect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); // connection à la base mysql_select_db($db) or die ('Impossible de se connecter à la base'); // sélection de la table //========================================================================== // requête SQL qui compte le nombre total d'enregistrements dans la table. //========================================================================== $select = 'SELECT count(id) FROM test'; $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); $row = mysql_fetch_row($result); $total = $row[0]; //=================================================== // vérifier la validité de notre variable $limite; //=================================================== $verifLimite = verifLimite($limite,$total,$nombre); // si la limite passée n'est pas valide on la remet à zéro if(!$verifLimite) { $limite = 0; } //===================================================================================== // requête SQL qui ne prend que le nombre d'enregistrement necessaire à l'affichage. //===================================================================================== $select = 'select id,nom,editeur FROM test ORDER BY nom ASC limit '.$limite.','.$nombre; $result = mysql_query($select) or die ('Erreur : '.mysql_error() ); //============================================= // si on a récupéré un resultat on l'affiche. //============================================= if($total) { echo "<table width='65%' bgcolor='#FFFFFF' border='1' cellspacing='0' cellpadding='8' align='center'>\n"; // première ligne on affiche les titres Accès et Logiciels dans 2 colonnes echo "<tr text-align='center' padding='3px' class='blanc'>"; echo "<td bgcolor='#B1C3D9'><h2> Action </h2></td>"; echo "<td bgcolor='#B1C3D9'><h2> Logiciels </h2></td>"; echo "</tr>\n"; // lecture et affichage des résultats sur 2 colonnes, 1 résultat par lot de 3 lignes. while($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td rowspan='2' bgcolor='#FF9900' text-align='center' width='20%'>"; // largeur de la première colonne (fusion de 3 lignes) echo "<p><a href='fiche_dyn.php?id=['id']'> Fiche détaillée </a><br>"; // <br> pour 1 saut moins important entre les 2 liens echo "<a href='authentification.htm?id=['id']'> Modifier </a><br>"; // <br> pour 1 saut moins important entre les 2 liens echo "<a href='fiche.php?id=['id']'> supprimer </a></p>"; echo "</td>"; echo "<td bgcolor='#F0F0F0'>Nom du logiciel: <strong>" .$row['nom']."</strong></td>"; // affiche le nom du logiciel (1ere cellule) echo "</td>"; echo "</tr>\n"; echo "<tr>"; echo "<td bgcolor='#F0F0F0'>Editeur du logiciel: <strong>" .$row['editeur']."</strong></td>"; // affiche l'éditeur du logiciel (la 2eme cellule) echo "</td>"; echo "</tr>\n"; } echo "</table>\n"; // fin du tableau. } else echo "Pas d\'enregistrements dans cette table"; // on libère le résultat mysql_free_result($result); //========================================================================== // si le nombre d'enregistrement à afficher est plus grand que $nombre //========================================================================== if($total > $nombre) { affichePages($nombre,$page,$total); // affichage des liens vers les pages displayNextPreviousButtons($limite,$total,$nombre,$page); // affichage des boutons } mysql_close(); ?>
Ensuite, je regarde ce que tu me préconise. Mais j'aurai sans doute besoin d'un sérieux coup de main (je débute en PHP alors faut etre tolérant en pédagogue (plein de // comments...... ne seraient pas inutiles) ;-))
Merci encore.
Thecanardwc44
Messages postés
147
Date d'inscription
dimanche 18 juillet 2004
Statut
Membre
Dernière intervention
3 février 2008
5
24 févr. 2007 à 20:53
24 févr. 2007 à 20:53
je regarde vite fais ton code au cas ou tu souhaiterai travailler ce soir, mais j'examinerai ca plus en detail demain..
deja, tu ne peux pas passer l'id dans le lien dans l'etat actuel de ton code :
en effet, lors de l'interpretation, le serveur va voir echo "XXXX'fiche_dyn.php?id=[' et la, pour lui ton apostrophe est refermé et zou il passe au reste... 1ere erreur
dans la foulée
donc en modifiant le code qui ne tourne pas comme il devrai, ca donne :
j'ai surement du faire des erreurs dans le placement des apostrophes mais personnelement je ne les utilise pas dans ce sens la.. enfin bref ce qui est important c'est d'inserer $row['id'] à la place du ['id'] et de bien placer les apostrophes, je taperai le truc tranquillement demain..
en esperant avoir été clair et utile..
deja, tu ne peux pas passer l'id dans le lien dans l'etat actuel de ton code :
echo "<p><a href='fiche_dyn.php?id=['id']'> Fiche détaillée </a><br>";
en effet, lors de l'interpretation, le serveur va voir echo "XXXX'fiche_dyn.php?id=[' et la, pour lui ton apostrophe est refermé et zou il passe au reste... 1ere erreur
dans la foulée
['id']n'est pas une variable.. tu devrai remplacer par
$row['id']
donc en modifiant le code qui ne tourne pas comme il devrai, ca donne :
echo "<p><a href=\'fiche_dyn.php?id=".$row['nom']."\'> Fiche détaillée </a><br>"; // <br> pour 1 saut moins important entre les 2 liens echo "<a href=\'authentification.htm?id=".$row['nom']."\'>Modifier </a><br>"; // <br> pour 1 saut moins important entre les 2 liens echo "<a href=\'fiche.php?id=".$row['nom']."\'> supprimer </a></p>";
j'ai surement du faire des erreurs dans le placement des apostrophes mais personnelement je ne les utilise pas dans ce sens la.. enfin bref ce qui est important c'est d'inserer $row['id'] à la place du ['id'] et de bien placer les apostrophes, je taperai le truc tranquillement demain..
en esperant avoir été clair et utile..
Thecanardwc44
Messages postés
147
Date d'inscription
dimanche 18 juillet 2004
Statut
Membre
Dernière intervention
3 février 2008
5
25 févr. 2007 à 12:48
25 févr. 2007 à 12:48
bonjour
chose promise..
je n'ai pas fait grand chose.. la partie qui posait probleme
je l'ai remplacée par
Pour les commentaires : $row['id'] correspond a la colonne id de ta requete et j'ai concaténé le tout (grace au ".") pour eviter les conflits avec les apostrophes..
J'ai deux petites remarques :
ton lien "modifier" pointe sur un fichier htm.. tu ne pourra donc pas te servir de la variable (surement une faute de frappe)
deuxieme remarque : ca serai bien de rendre ton code conforme au recommandations W3C...
----------------------------- Page information détaillées ------------------
Maintenant, c'est le tableau détaillé, j'ai commenté les changements :
Si tu as d'autres problemes, n'hesite pas à me contacter (en MP)
PS : Je suis admiratif devant la qualité de la présentation/ les commentaires de ton code...
chose promise..
<? //================================================================================== // Affichage du catalogue par pages de 10 produits // includes du fichier fonctions séparé pour les vérifs des limites et Nb de pages //================================================================================== require 'fonctions.php'; //========================================= // information pour la connection à le DB //========================================= $host = 'localhost'; $user = 'root'; $pass = ''; $db = 'test'; //========================================= // initialisation des variables //========================================= $nombre = 10; // on va afficher 10 résultats par page. // si la limite a été passée par un lien, on la prend en compte. // Sinon, si elle a été passée par le bouton, on la prend en compte. // Dans tous les autres cas, elle vaut 0. if (isset($_GET["limite"])) $limite = $_GET["limite"]; elseif (isset($_POST["limite"])) $limite = $_POST["limite"]; else $limite = 0; $path_parts = pathinfo($_SERVER['PHP_SELF']); // on cherche le nom de la page. $page = $path_parts["basename"]; //====================== // connection à la DB //====================== $link = mysql_pconnect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); // connection à la base mysql_select_db($db) or die ('Impossible de se connecter à la base'); // sélection de la table //========================================================================== // requête SQL qui compte le nombre total d'enregistrements dans la table. //========================================================================== $select = 'SELECT count(id) FROM test'; $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); $row = mysql_fetch_row($result); $total = $row[0]; //=================================================== // vérifier la validité de notre variable $limite; //=================================================== $verifLimite = verifLimite($limite,$total,$nombre); // si la limite passée n'est pas valide on la remet à zéro if(!$verifLimite) { $limite = 0; } //===================================================================================== // requête SQL qui ne prend que le nombre d'enregistrement necessaire à l'affichage. //===================================================================================== $select = 'select id,nom,editeur FROM test ORDER BY nom ASC limit '.$limite.','.$nombre; $result = mysql_query($select) or die ('Erreur : '.mysql_error() ); //============================================= // si on a récupéré un resultat on l'affiche. //============================================= if($total) { echo "<table width='65%' bgcolor='#FFFFFF' border='1' cellspacing='0' cellpadding='8' align='center'>\n"; // première ligne on affiche les titres Accès et Logiciels dans 2 colonnes echo "<tr text-align='center' padding='3px' class='blanc'>"; echo "<td bgcolor='#B1C3D9'><h2> Action </h2></td>"; echo "<td bgcolor='#B1C3D9'><h2> Logiciels </h2></td>"; echo "</tr>\n"; // lecture et affichage des résultats sur 2 colonnes, 1 résultat par lot de 3 lignes. while($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td rowspan='2' bgcolor='#FF9900' text-align='center' width='20%'>"; // largeur de la première colonne (fusion de 3 lignes) echo "<p><a href='fiche_dyn.php?id=".$row['id']."'> Fiche détaillée </a><br>"; // <br> pour 1 saut moins important entre les 2 liens echo "<a href='authentification.htm?id=".$row['id']."'> Modifier </a><br>"; // <br> pour 1 saut moins important entre les 2 liens echo "<a href='fiche.php?id=".$row['id']."'> supprimer </a></p>"; echo "</td>"; echo "<td bgcolor='#F0F0F0'>Nom du logiciel: <strong>" .$row['nom']."</strong></td>"; // affiche le nom du logiciel (1ere cellule) echo "</td>"; echo "</tr>\n"; echo "<tr>"; echo "<td bgcolor='#F0F0F0'>Editeur du logiciel: <strong>" .$row['editeur']."</strong></td>"; // affiche l'éditeur du logiciel (la 2eme cellule) echo "</td>"; echo "</tr>\n"; } echo "</table>\n"; // fin du tableau. } else echo "Pas d\'enregistrements dans cette table"; // on libère le résultat mysql_free_result($result); //========================================================================== // si le nombre d'enregistrement à afficher est plus grand que $nombre //========================================================================== if($total > $nombre) { affichePages($nombre,$page,$total); // affichage des liens vers les pages displayNextPreviousButtons($limite,$total,$nombre,$page); // affichage des boutons } mysql_close(); ?>
je n'ai pas fait grand chose.. la partie qui posait probleme
echo "<p><a href='fiche_dyn.php?id=['id']'> Fiche détaillée </a><br>"; // <br> pour 1 saut moins important entre les 2 liens echo "<a href='authentification.htm?id=['id']'> Modifier </a><br>"; // <br> pour 1 saut moins important entre les 2 liens echo "<a href='fiche.php?id=['id']'> supprimer </a></p>";
je l'ai remplacée par
echo "<p><a href='fiche_dyn.php?id=".$row['id']."'> Fiche détaillée </a><br>"; // <br> pour 1 saut moins important entre les 2 liens echo "<a href='authentification.htm?id=".$row['id']."'> Modifier </a><br>"; // <br> pour 1 saut moins important entre les 2 liens echo "<a href='fiche.php?id=".$row['id']."'> supprimer </a></p>";
Pour les commentaires : $row['id'] correspond a la colonne id de ta requete et j'ai concaténé le tout (grace au ".") pour eviter les conflits avec les apostrophes..
J'ai deux petites remarques :
ton lien "modifier" pointe sur un fichier htm.. tu ne pourra donc pas te servir de la variable (surement une faute de frappe)
deuxieme remarque : ca serai bien de rendre ton code conforme au recommandations W3C...
----------------------------- Page information détaillées ------------------
Maintenant, c'est le tableau détaillé, j'ai commenté les changements :
<? // ================================================== // On recupere la variable "id" correspondant au logiciel choisi // ================================================== $id=$_GET["id"]; // La manipulation de $id est plus simple que celle de $_POST["id"] // ================================================== // On se connecte et on choisi la base de données // ================================================== mysql_pconnect("localhost","txiki","txikito") or die ("Impossible de se connecter à MySQL"); mysql_select_db("test") or die("Impossible de sélectionner la base de données"); //===================================================================================== // requête SQL qui affiche les infos de la fiche correspondante au lien cliqué //===================================================================================== $link = '$link'; $select = "select * FROM test WHERE id='$id'"; // On selectionne seulement la ligne qui correspond au logiciel choisi $result = mysql_query($select) or die ('Erreur : '.mysql_error() ); $row= mysql_fetch_row($result); // mysql_fetch_row genere un tableau correspondant a la ligne selectionnée de la BDD // Les informations sont accessibles par $row["id"], $row["nom"], $row["source"]... // =================================================== // Affichage de la fiche dans un tablea&u dynamique // =================================================== echo "<table width='80%' bgcolor='#FFFFFF' border='1' cellspacing='0' cellpadding='8' align='center'>\n"; // première ligne on affiche le titre "Fiche logicielle" dans 2 colonnes fusionnées echo "<tr text-align='center' padding='3px' class='blanc'>"; echo "<td colspan='2' bgcolor='#669999'><h2> Fiche logicielle </h2></td>"; echo "</tr>\n"; // lecture et affichage des résultats sur 2 colonnes, 1 résultat par lot de 3 lignes. echo "<tr bgcolor='#FF9900' text-align='center'>"; echo "<td colspan='2'> N° d'enregistrement: <strong>" .$row['id']."</strong></td>"; // première ligne fusionnée pour le n° d'enregistrement (id) echo "<tr>"; echo "<td bgcolor='#F0F0F0'>" .$row['groupe']."</td>"; // affiche le groupe du logiciel echo "<td bgcolor='#F0F0F0'>" .$row['categorie']."</td>"; // affiche la catégorie du logiciel echo "</tr>\n"; echo "<tr>"; echo "<td bgcolor='#F0F0F0'>" .$row['source']."</td>"; // affiche la source du logiciel echo "<td bgcolor='#F0F0F0'>" .$row['editeur']."</td>"; // affiche l'éditeur du logiciel echo "</tr>\n"; echo "<td bgcolor='#F0F0F0'>" .$row['nom']."</td>"; // affiche le nom du logiciel echo "<td bgcolor='#F0F0F0'>" .$row['ligne_produit']."</td>"; // affiche le nom (interne) de la ligne produit du logiciel echo "</tr>\n"; echo "<td bgcolor='#F0F0F0'>" .$row['socle']."</td>"; // affiche le socle nécessaire pour son installation echo "<td bgcolor='#F0F0F0'>" .$row['reference_DSI']."</td>"; // affiche la référence DSI (cat, ref etc...) echo "</tr>\n"; echo "<td bgcolor='#F0F0F0'>" .$row['standard_DSI']."</td>"; // affiche le standard de la DSI echo "<td bgcolor='#F0F0F0'>" .$row['type_licence']."</td>"; // affiche le type de licence (flottante, etc...) echo "</tr>\n"; echo "<td bgcolor='#F0F0F0'>" .$row['version_standard']."</td>"; // affiche la version utilisée en standard à TM echo "<td bgcolor='#F0F0F0'>" .$row['compatibilite_XP']."</td>"; // affiche la compatibilité avec XP ou pas echo "</tr>\n"; echo "<td bgcolor='#F0F0F0'>" .$row['versions_exploitation']."</td>"; // affiche le nombre de versions en exploitation echo "<td bgcolor='#F0F0F0'>" .$row['type_deploiement']."</td>"; // affiche le type de déploiement (script, manuelle etc...) echo "</tr>\n"; echo "<td bgcolor='#F0F0F0'>" .$row['type_installation']."</td>"; // affiche le type d'installation (locale, réseau etc...) echo "<td bgcolor='#F0F0F0'>" .$row['domaine']."</td>"; // affiche le domaine d'application echo "</tr>\n"; echo "<td bgcolor='#F0F0F0'>" .$row['fonctionnalite']."</td>"; // affiche une courte description de sa fonctionnalité echo "<td bgcolor='#F0F0F0'>" .$row['description']."</td>"; // affiche une description plus détaillée echo "</tr>\n"; echo "<td bgcolor='#F0F0F0'>" .$row['instructions']."</td>"; // affiche les instructions particulières s'il y en a echo "<td bgcolor='#F0F0F0'>" .$row['pre-requis']."</td>"; // affiche les pré-requis nécessaires a son installation echo "</tr>\n"; echo "<td bgcolor='#F0F0F0'>" .$row['referent_metier']."</td>"; // affiche le référent métier de l'application echo "<td bgcolor='#F0F0F0'>" .$row['commentaires']."</td>"; // affiche des commentaires s'il y en a echo "</tr>\n"; echo "</table>\n"; // fin du tableau. mysql_close(); ?>
Si tu as d'autres problemes, n'hesite pas à me contacter (en MP)
PS : Je suis admiratif devant la qualité de la présentation/ les commentaires de ton code...
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
518
25 févr. 2007 à 21:04
25 févr. 2007 à 21:04
Salut Thecanardwc44 et mille percis pour t'etre penché sur mon Pb.
Hélàs !
J'ai recopié tes 2 codes et voici ce que ça m'affiche:
C'est a s'arracher les cheveux cette histoire.
Pour ce qui est de la page modif, effectivement, j'ai fait un formulaire pour les ajouts éventuels (donc tous les champs sont libres et a renseigner pour ajouter un logiciel dans la BDD. J'ai pas modifié le lien. Mais le tableau a afficher doit etre un formulaire SAUF que les champs doivent etre rempli selon le lien cliqué pour pouvoir modifier un élément du tableau.
Le Pb étant quand même que je voulais que celui qui fait une modif ou un ajout puisse voir ce qu'il a fait en affichant soit le premier tableau mais réduit a une lignesoit, une fiche comme le second tableau détaillé (celui qui s'affiche en cliquant sur le lien "Fiche détaillée"). J'ai bien le message correspondant (votre demande a bien été enregistrée) mais il ne montre rien et l'enregistrement est bien réalisé dans la base (vide puisque je ne rentre rien, juste valider) Donc, l'enregistrement est vide mais c'est normal.
Bon, mais ça: on verra plus tard !
En tous cas, encore merci pour ta générosité !
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Hélàs !
J'ai recopié tes 2 codes et voici ce que ça m'affiche:
Notice: Undefined index: id in g:\sites web\txiki\fiche_dyn.php on line 42 Notice: Undefined index: groupe in g:\sites web\txiki\fiche_dyn.php on line 44 Notice: Undefined index: categorie in g:\sites web\txiki\fiche_dyn.php on line 45pour toutes les variables. et le tableau en dessous (dans le bon format (couleur de l'entête etc... mais toujours vide. En fait, je reviens au point de départ !
C'est a s'arracher les cheveux cette histoire.
Pour ce qui est de la page modif, effectivement, j'ai fait un formulaire pour les ajouts éventuels (donc tous les champs sont libres et a renseigner pour ajouter un logiciel dans la BDD. J'ai pas modifié le lien. Mais le tableau a afficher doit etre un formulaire SAUF que les champs doivent etre rempli selon le lien cliqué pour pouvoir modifier un élément du tableau.
Le Pb étant quand même que je voulais que celui qui fait une modif ou un ajout puisse voir ce qu'il a fait en affichant soit le premier tableau mais réduit a une lignesoit, une fiche comme le second tableau détaillé (celui qui s'affiche en cliquant sur le lien "Fiche détaillée"). J'ai bien le message correspondant (votre demande a bien été enregistrée) mais il ne montre rien et l'enregistrement est bien réalisé dans la base (vide puisque je ne rentre rien, juste valider) Donc, l'enregistrement est vide mais c'est normal.
Bon, mais ça: on verra plus tard !
En tous cas, encore merci pour ta générosité !
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Thecanardwc44
Messages postés
147
Date d'inscription
dimanche 18 juillet 2004
Statut
Membre
Dernière intervention
3 février 2008
5
25 févr. 2007 à 21:13
25 févr. 2007 à 21:13
je suis stupide!!!
je suis vraiment désolé d'avoir fait une erreur dans le code... en fait pour chaque variable ($row['id'],$row['groupe']..) il faut que tu remplace le nom par son numero par ordre d'apparition
par exemple ta table ressemble a ca :
ID | nom | groupe...
-----------------------
ca donne $row["0"],$row["1"] pour nom, $row["2"] pour groupe...
j'ai confondu avec le mysql_fetch_array... je suis vraiment désolé
EDIT : je vois que sur ta page web, tu n'a pas modifié les <a href> de la page "liste.php".. peut etre l'a tu fais ne local, c'est vital pour passer l'ID dans l'URL
je suis vraiment désolé d'avoir fait une erreur dans le code... en fait pour chaque variable ($row['id'],$row['groupe']..) il faut que tu remplace le nom par son numero par ordre d'apparition
par exemple ta table ressemble a ca :
ID | nom | groupe...
-----------------------
ca donne $row["0"],$row["1"] pour nom, $row["2"] pour groupe...
j'ai confondu avec le mysql_fetch_array... je suis vraiment désolé
EDIT : je vois que sur ta page web, tu n'a pas modifié les <a href> de la page "liste.php".. peut etre l'a tu fais ne local, c'est vital pour passer l'ID dans l'URL
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
518
>
Thecanardwc44
Messages postés
147
Date d'inscription
dimanche 18 juillet 2004
Statut
Membre
Dernière intervention
3 février 2008
25 févr. 2007 à 21:24
25 févr. 2007 à 21:24
OUI, oui,
Ce qui m'emmerde, c'est que free, il faut le user ET le password alors je suis tout le temps en train de modifier le root par txiki et '' par mon pass.
Donc, je travaille en local pour le moment.
En fait, je ne sais pas modifier le httpdconf d'apache pour faire en sorte d'avoir un/des user/s autorisés pour certains fichiers comme fiche_dyn.php.....
Dis donc: dans ce que tu me dis plus haut, ça veut dire que je dois donner un N° a .row ? Selon la position qu'ils occupent dans la table ?
Eh merde ! Si j'avais su, j'aurais pas venu comme disait l'autre (la guerre des boutons hi hi hi)
Je teste illico...........
Ce qui m'emmerde, c'est que free, il faut le user ET le password alors je suis tout le temps en train de modifier le root par txiki et '' par mon pass.
Donc, je travaille en local pour le moment.
En fait, je ne sais pas modifier le httpdconf d'apache pour faire en sorte d'avoir un/des user/s autorisés pour certains fichiers comme fiche_dyn.php.....
Dis donc: dans ce que tu me dis plus haut, ça veut dire que je dois donner un N° a .row ? Selon la position qu'ils occupent dans la table ?
Eh merde ! Si j'avais su, j'aurais pas venu comme disait l'autre (la guerre des boutons hi hi hi)
Je teste illico...........
Thecanardwc44
Messages postés
147
Date d'inscription
dimanche 18 juillet 2004
Statut
Membre
Dernière intervention
3 février 2008
5
>
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
25 févr. 2007 à 21:30
25 févr. 2007 à 21:30
en fait tu n'a rien a modifier dans ta table .. il faut comprendre que quand tu fais SELECT *, il va te renvoyer les données dans un tableau classé dans le meme ordre que dans ta base de données (de gauche a droite)
voyons pluot le probleme comme ca :
ta base de donnée ressemble a ca :
ID : Integer index... -> ca correspond à $row["0"]
Nom : varchar... -> $row["1"]
groupe...
l'ideal serai que tu exporte ta table (sans les données) histoire que je vois sa structure
--> pour le proble "notice..." ca peut egalement cenir de la variable id... juste avant la requete , fais un
... c'est en bidouillant qu'on devient bidouilleur
EDIT : la guerre des bouton, un grand classique.. faudrai qu'ils ressortent une edition en couleur;D
EDIT2 : en ce qui concerne les droits d'acces chez free, moi j'ai abandonné le htaccess et je suis partit chez OVH... par contre tu peux faire une page de "login"
voyons pluot le probleme comme ca :
ta base de donnée ressemble a ca :
ID : Integer index... -> ca correspond à $row["0"]
Nom : varchar... -> $row["1"]
groupe...
l'ideal serai que tu exporte ta table (sans les données) histoire que je vois sa structure
--> pour le proble "notice..." ca peut egalement cenir de la variable id... juste avant la requete , fais un
echo "La variable id est : $id";juste pour voir si l'id est bien recupéré
... c'est en bidouillant qu'on devient bidouilleur
EDIT : la guerre des bouton, un grand classique.. faudrai qu'ils ressortent une edition en couleur;D
EDIT2 : en ce qui concerne les droits d'acces chez free, moi j'ai abandonné le htaccess et je suis partit chez OVH... par contre tu peux faire une page de "login"
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
518
>
Thecanardwc44
Messages postés
147
Date d'inscription
dimanche 18 juillet 2004
Statut
Membre
Dernière intervention
3 février 2008
25 févr. 2007 à 21:38
25 févr. 2007 à 21:38
MERCI ! merci ! mon DIEUUUUU !
ça maaaaarche !
Je te met ça en ligne pour que tu vois!
Petit souci quand même: les champs sont renseignés mais on ne voit pas a quoi ils correspondent ? Je dois donc mettre un intitulé: contenu.
Mais ENFIN !
Ce truc du n° quand même... je ne connaissais pas.
Bon, tu remarquera que lorsque tu clique sur Modifier, la fenetre login s'affiche mais tu fais valider (sans rien mettre) ça marche quand même !.
Faut que je protège ça maintenant. J'ai pas trop réfléchi comment mais faut ABSOLUMENT que ce soit en accès limité aux personnes désignées dans un fichier spécifique (pas de htpasswrd possible chez free).
Et je ne maitrise pas du tout la sécurité en général alors en PHP ......
A dans 10 mn ;-)))))
Merci infiniment pour ce sérieux coup de main. Je ne sais pas d'ailleurs comment te remercier. Tu ne peux pas t'imaginer le poids dont tu me soulage ! ! !
ça maaaaarche !
Je te met ça en ligne pour que tu vois!
Petit souci quand même: les champs sont renseignés mais on ne voit pas a quoi ils correspondent ? Je dois donc mettre un intitulé: contenu.
Mais ENFIN !
Ce truc du n° quand même... je ne connaissais pas.
Bon, tu remarquera que lorsque tu clique sur Modifier, la fenetre login s'affiche mais tu fais valider (sans rien mettre) ça marche quand même !.
Faut que je protège ça maintenant. J'ai pas trop réfléchi comment mais faut ABSOLUMENT que ce soit en accès limité aux personnes désignées dans un fichier spécifique (pas de htpasswrd possible chez free).
Et je ne maitrise pas du tout la sécurité en général alors en PHP ......
A dans 10 mn ;-)))))
Merci infiniment pour ce sérieux coup de main. Je ne sais pas d'ailleurs comment te remercier. Tu ne peux pas t'imaginer le poids dont tu me soulage ! ! !
Thecanardwc44
Messages postés
147
Date d'inscription
dimanche 18 juillet 2004
Statut
Membre
Dernière intervention
3 février 2008
5
>
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
25 févr. 2007 à 21:51
25 févr. 2007 à 21:51
effectivement, ca marche...
je vois ton truc du login de suite...
EDIT : Effectivement, ton login est pas tres utile.. ce que tu peux faire c'est soit creer une table dans ta BDD avec les pseudo/pass/droits des membres, soit creer un fichier php avec la signature md5 des mots de passes (plus adaptée si tu as peux d'utilisateurs autorisés..)
quant a la soltution htaccess, tu peux essayer mais j'ai free, j'ai pas reussi
je vois ton truc du login de suite...
EDIT : Effectivement, ton login est pas tres utile.. ce que tu peux faire c'est soit creer une table dans ta BDD avec les pseudo/pass/droits des membres, soit creer un fichier php avec la signature md5 des mots de passes (plus adaptée si tu as peux d'utilisateurs autorisés..)
quant a la soltution htaccess, tu peux essayer mais j'ai free, j'ai pas reussi