Je me noie (hp]
txiki
Messages postés
6819
Date d'inscription
Statut
Contributeur
Dernière intervention
-
txiki Messages postés 6819 Date d'inscription Statut Contributeur Dernière intervention -
txiki Messages postés 6819 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis entrain de réaliser une base de données des prénoms basques comme celui-ci: https://www.euskaltzaindia.eus/index.php?option=com_ecoeoda&task=bilaketaPortada&Itemid=472&lang=eu/index.asp (en fait c'est la traduction française que je fais).
Mon problème est que je n'arrive pas a afficher la liste, il y a Pb avec le require comme vous pouvez le constater ici: http://txiki.free.fr Et pourtant c'est un script que j'avais déjà utilisé auparavant mais pour des tests et le site de l'époque n'utilisait pas les variables de sessions. Celui est tout à fait différent.
C'est très important pour moi mais je nage dans la semoule. Le code ci-dessous est le code complet de page (pas d'entête rien, (l'index est composé d'includes pour chaque sections de la page) il devrait être intégré dans le frame de txiki.free.fr mais je ne sais pas du tout comment faire.
1 pour afficher les lettres de l'alphabet en forme de liens (camp Lettre)
2 pour afficher la liste des les A par défaut éventuellement (champ Prenom) puis en cliquant sur le prénom,
3 afficher l'origine du prénom (champ Origine), l'équivalant en français s'il existe (champ nullFrencName) et la fête (champ, null aussi Ephemeride) de la table prenomsfeminins.
NOTE: le fichier fonctions.php se trouve dans le répertoire Php si ça peut vous aider.
Un grand merci d'avance a celui qui me guidera.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Je suis entrain de réaliser une base de données des prénoms basques comme celui-ci: https://www.euskaltzaindia.eus/index.php?option=com_ecoeoda&task=bilaketaPortada&Itemid=472&lang=eu/index.asp (en fait c'est la traduction française que je fais).
Mon problème est que je n'arrive pas a afficher la liste, il y a Pb avec le require comme vous pouvez le constater ici: http://txiki.free.fr Et pourtant c'est un script que j'avais déjà utilisé auparavant mais pour des tests et le site de l'époque n'utilisait pas les variables de sessions. Celui est tout à fait différent.
C'est très important pour moi mais je nage dans la semoule. Le code ci-dessous est le code complet de page (pas d'entête rien, (l'index est composé d'includes pour chaque sections de la page) il devrait être intégré dans le frame de txiki.free.fr mais je ne sais pas du tout comment faire.
1 pour afficher les lettres de l'alphabet en forme de liens (camp Lettre)
2 pour afficher la liste des les A par défaut éventuellement (champ Prenom) puis en cliquant sur le prénom,
3 afficher l'origine du prénom (champ Origine), l'équivalant en français s'il existe (champ nullFrencName) et la fête (champ, null aussi Ephemeride) de la table prenomsfeminins.
<h1> Liste des prénoms basques </h1>
<?
//=========================================
// includes du fichier fonctions
//=========================================
require 'fonctions.php';
//=========================================
// information pour la connection à le DB
//=========================================
$host = 'localhost';
$user = '';
$pass = '';
$db = 'txiki';
//=========================================
// initialisation des variables
//=========================================
$nombre = 10; // on va afficher 10 résultats par page.
$limite = 0;
if (!$limite); // si limite n'existe pas on l'initialise à zéro
$path_parts = pathinfo($_SERVER['PHP_SELF']); // on cherche le nom de la page.
$page = $path_parts["basename"];
//======================
// connection à la DB
//======================
$link = mysql_connect ($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 prenomsfeminins';
$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 Lettre,Prenom FROM prenomsfeminins ORDER BY categorie ASC limit '.$limite.','.$nombre;
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
//=========================================
// si on a récupéré un resultat on l'affiche.
//=========================================
if($total) {
echo '<table width="50% bgcolor="#FFFFFF" align="center">'."\n";
// première ligne on affiche les lettres A, B,C, etc
echo '<tr text-align="center" padding="3px">';
echo '<td bgcolor="#669999"><strong> Lettre </strong></td>';
echo '<td bgcolor="#669999"><strong> Prénom </strong></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 bgcolor="#F0F0F0"><strong> Lettre: </strong>'.$row['Lettre'].'</td>'; // affiche l'alphabet/lien
echo '</td>';
echo '</tr>'."\n";
echo '<tr>';
echo '<td bgcolor="#F0F0F0"><strong> Prénom: </strong"'.$row['Prenom'].'</td>'; // affiche la liste des prénoms
echo '</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else echo 'Pas de prénom pour cette lettre';
// 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
}
?>
NOTE: le fichier fonctions.php se trouve dans le répertoire Php si ça peut vous aider.
Un grand merci d'avance a celui qui me guidera.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
A voir également:
- Je me noie (hp]
- Hp usb disk storage format tool - Télécharger - Stockage
- Télécharger pilote imprimante hp - Télécharger - Pilotes & Matériel
- Débloquer pavé tactile hp - Guide
- Clavier hp bloqué ✓ - Forum PC portable
- Hp battery alert - Forum Windows 7
7 réponses
"Dans le répertoire PHP" ?
Il va le chercher dans le dossier courant normalement..
Il faut que tu mettes ta pages functions.php à la racine
require 'fonctions.php';
Il va le chercher dans le dossier courant normalement..
Il faut que tu mettes ta pages functions.php à la racine
Merci Tiler, ça marche ! OUUUUF !
Maintenant j'ai un autre souci. Comment fait-on pour limiter les n° de pages, en bas, afin de les mettre sur plusieurs lignes car là, ça dépasse et donc, on a un scroll horizontal. Voir ci-dessous.
http://txiki.free.fr/index.php?page=Liste_Prenoms&lang=Fr
Autre Pb, les prénoms, Normalement devraient être des liens, or ils ne le sont pas. Ça permettrait d'afficher l'origine du prénom en cliquant dessus.
Ya quelque chose qui m'échappe là mais je ne vois pas quoi.
Merci encore pour ton truc sur require 'fonctions.php'.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Maintenant j'ai un autre souci. Comment fait-on pour limiter les n° de pages, en bas, afin de les mettre sur plusieurs lignes car là, ça dépasse et donc, on a un scroll horizontal. Voir ci-dessous.
http://txiki.free.fr/index.php?page=Liste_Prenoms&lang=Fr
Autre Pb, les prénoms, Normalement devraient être des liens, or ils ne le sont pas. Ça permettrait d'afficher l'origine du prénom en cliquant dessus.
Ya quelque chose qui m'échappe là mais je ne vois pas quoi.
Merci encore pour ton truc sur require 'fonctions.php'.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Merci Alain42, ça marche (mais je ne cois pas la différence quand même). Bon, ça c'est OK !
Maintenant, j'approche très près du but mais les prénoms ne sont pas des liens vers lla description de leur origine.
http://txiki.free.fr/index.php?page=Liste_Prenoms&lang=Fr
Comment fait-on pour:
1 mettre les caractères de l'alphabet (A, B, C etc) juste au dessus des prénoms pour permettre aux visiteurs d'aller directement vers le prénom qui l'interresse ?
2 l'origine est le champ suivant dans la table des prenoms (ID, Lettre, Prenom, Origine, Ephemeride (NULL), FrenchName (NULL), ces deux derniers n'étant pas forcément renseignés).
Dois-je faire une requete dans la requete ? je ne vois pas là. Voici le code ci-dessous:
J'ai mis en commentaire l'echo .$row[lettre] car je ne vois pas comment faire les mettre sur une ligne au dessus des prénoms et sous forme de lien.
Merci encore à tous ! car je démarre et pour une fois, après bien des galères, j'approche tout près et j'en serais très fier mais sans aide je n'y arriverai pas, c'est une certitude.
Maintenant, j'approche très près du but mais les prénoms ne sont pas des liens vers lla description de leur origine.
http://txiki.free.fr/index.php?page=Liste_Prenoms&lang=Fr
Comment fait-on pour:
1 mettre les caractères de l'alphabet (A, B, C etc) juste au dessus des prénoms pour permettre aux visiteurs d'aller directement vers le prénom qui l'interresse ?
2 l'origine est le champ suivant dans la table des prenoms (ID, Lettre, Prenom, Origine, Ephemeride (NULL), FrenchName (NULL), ces deux derniers n'étant pas forcément renseignés).
Dois-je faire une requete dans la requete ? je ne vois pas là. Voici le code ci-dessous:
//===========================================
// si on a récupéré un resultat on l'affiche.
//===========================================
if($total) {
echo '<table width="80% bgcolor="#FFFFFF" align="center">'."\n";
echo '<tr height="20px">';
echo '<td align="center" bgcolor="#E6E6E6"><strong> Prénoms féminins </strong></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats (affichage de la liste des 20 premiers prénoms (première page par défaut).
while($row = mysql_fetch_array($result)) {
// echo '<tr>';
// echo '<td bgcolor="#FFFFFF"> Lettre:'.$row['Lettre'].'</td>'; // affiche l'alphabet/lien
// echo '</td>';
// echo '</tr>'."\n";
echo '<tr>';
echo '<td bgcolor="#FFFFFF">'.$row['Prenom'].'</td>'; // affiche les prénoms/liens
echo '</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else echo '??????';
// on libère le résultat
mysql_free_result($result);
J'ai mis en commentaire l'echo .$row[lettre] car je ne vois pas comment faire les mettre sur une ligne au dessus des prénoms et sous forme de lien.
Merci encore à tous ! car je démarre et pour une fois, après bien des galères, j'approche tout près et j'en serais très fier mais sans aide je n'y arriverai pas, c'est une certitude.
Salut,
une amorce de solution:
et moi aussi j'ai le warning ....
une amorce de solution:
<?php
$lettre=$_GET['lettre'];
$req_lettres=mysql_query("SELECT * FROM etc....");// pour avoir toutes les lesttres de la BDD
$result=mysql_query("SELECT * FROM ta_table WHERE Lettre='".$lettre."' LIMIT etc...");// pour avoir toutes les lesttres de la BDD
if($total) {
echo '<table width="80% bgcolor="#FFFFFF" align="center">'."\n";
echo '<tr height="20px">';
echo '<td align="center" bgcolor="#E6E6E6"><strong> Prénoms féminins </strong></td>';
echo '</tr>';
// affichage des lettres
while($row = mysql_fetch_array($req_lettres)) {
echo '<tr>';
echo "<td bgcolor=\"#FFFFFF\"> <a href=\"cette_page.php?lettre=".$row['Lettre']." >".$row['Lettre']."</a></td>"; // affiche l'alphabet/lien
echo '</td>';
echo '</tr>';
// lecture et affichage des résultats (affichage de la liste des 20 premiers prénoms (première page par défaut).
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td bgcolor="#FFFFFF">'.$row['Prenom'].'</td>'; // affiche les prénoms/liens
echo '</td>';
echo '</tr>';
}
echo '</table>'."\n";
// fin du tableau.
}
else echo '??????';
et moi aussi j'ai le warning ....
Alain_42:
Je crois que je me suis mal exprimé. En fait ce que je veux c'est une ligne avec les l'alphabet. Les lettres seront des liens vers les prénoms commençant par cette lettre comme ci-dessous.
https://www.euskaltzaindia.eus/index.php?option=com_ecoeoda&task=bilaketaPortada&Itemid=472&lang=eu/index.asp
La page s'appelle se nom Liste_Prenoms Fr.htm et l'autre, celle qui affichera l'origine et le reste se nomme Fiche_Prenom Fr.htm (mais là, je ne sais pas mettre le code qui récupérera la valeur des champs de l'ID du prénom cliqué). Je n'en suis pas encore là.
Voici le code complet de la page liste prénoms:
Comme tu peux le remarquer, la partie commentée de echo pour les lettres n'est pas à sa place, et moi, je voudrais en faire un tableau d'une ligne.
J'ai été perturbé par ton code, je ne savais pas trop à quel endroit le placer.
Si tu pouvais me commenter celui-ci et le corriger, surement, car ça m'étonnerai qu'il soit bon !
Merci infiniment d'avance.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Je crois que je me suis mal exprimé. En fait ce que je veux c'est une ligne avec les l'alphabet. Les lettres seront des liens vers les prénoms commençant par cette lettre comme ci-dessous.
https://www.euskaltzaindia.eus/index.php?option=com_ecoeoda&task=bilaketaPortada&Itemid=472&lang=eu/index.asp
La page s'appelle se nom Liste_Prenoms Fr.htm et l'autre, celle qui affichera l'origine et le reste se nomme Fiche_Prenom Fr.htm (mais là, je ne sais pas mettre le code qui récupérera la valeur des champs de l'ID du prénom cliqué). Je n'en suis pas encore là.
Voici le code complet de la page liste prénoms:
<?
//=========================================
// includes du fichier fonctions
//=========================================
require 'fonctions.php';
//=========================================
// information pour la connection à le DB
//=========================================
$host = 'localhost';
$user = '******';
$pass = '******';
$db = 'txiki';
//=========================================
// initialisation des variables
//=========================================
$nombre = 20; // on va afficher 20 résultats par page.
if (!$limite) { $limite = 0; } // si limite n'existe pas on l'initialise à zéro
//$limite = 0;
//if (!$limite); // si limite n'existe pas on l'initialise à zéro
$path_parts = pathinfo($_SERVER['PHP_SELF']); // on cherche le nom de la page.
$page = $path_parts["basename"];
//======================
// connection à la DB
//======================
$link = mysql_connect ($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 prenomsfeminins';
$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 * FROM prenomsfeminins ORDER BY id ASC limit '.$limite.','.$nombre;
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
//===========================================
// si on a récupéré un resultat on l'affiche.
//===========================================
if($total) {
echo '<table width="80% bgcolor="#FFFFFF" align="center">'."\n";
echo '<tr height="20px">';
echo '<td align="center" bgcolor="#E6E6E6"><strong> Prénoms féminins </strong></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats (affichage de la liste des 20 premiers prénoms (première page par défaut).
while($row = mysql_fetch_array($result)) {
// echo '<tr>';
// echo '<td bgcolor="#FFFFFF"> Lettre:'.$row['Lettre'].'</td>'; // affiche l'alphabet/lien
// echo '</td>';
// echo '</tr>'."\n";
echo '<tr>';
echo '<td bgcolor="#FFFFFF">'.$row['Prenom'].'</td>'; // affiche les prénoms/liens
echo '</td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
else echo '??????';
// 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
}
?>
Comme tu peux le remarquer, la partie commentée de echo pour les lettres n'est pas à sa place, et moi, je voudrais en faire un tableau d'une ligne.
J'ai été perturbé par ton code, je ne savais pas trop à quel endroit le placer.
Si tu pouvais me commenter celui-ci et le corriger, surement, car ça m'étonnerai qu'il soit bon !
Merci infiniment d'avance.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Marche pas
Warning: main( Fr.htm) [function.main]: failed to open stream: No such file or directory in /mnt/123/sdb/9/1/txiki/index.php on line 121 Warning: main() [function.include]: Failed opening ' Fr.htm' for inclusion (include_path='/mnt/123/sdb/9/1/txiki/include:.:/usr/php4/lib/php') in /mnt/123/sdb/9/1/txiki/index.php on line 121
Salut à tous et merci encore !
Qu'entendez-vous par "moi aussi j'ai le warning ? Il faut autoriser les coockies.
Pouvez-vous me faire une capture d'écran SVP ? que je puisse voir comment vous, vous voyez la page.
Je dois vous préciser que chez moi, c'est correct aussi bien sous Firefox que sous IE6.
Merci d'avance.
Alain: je teste ton code et te tiens au courant, OK ?
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Qu'entendez-vous par "moi aussi j'ai le warning ? Il faut autoriser les coockies.
Pouvez-vous me faire une capture d'écran SVP ? que je puisse voir comment vous, vous voyez la page.
Je dois vous préciser que chez moi, c'est correct aussi bien sous Firefox que sous IE6.
Merci d'avance.
Alain: je teste ton code et te tiens au courant, OK ?
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut Alain_42,
Oui je sais pour la page en htm, mais tout le site est construit ainsi, seul l'index possèdes les includes pour le header, le menu, le bandeau, le frame et le footer comme l'exemple ci-dessous:
"pour que le code php soit interprété, il faut que tes pages soient en .php et pas .htm"
C'est ce que je me disais mais alors comment expliquer que les prénoms s'affichent ?
Chaque page (bandeau et frame affichée) est déclarée dans un fichier Init Session Table.php comme l'exemple ci-dessous:
Le gars qui a réalisé un site avec ce modèle a enregistré des fichiers comportant du code php en .htm.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Oui je sais pour la page en htm, mais tout le site est construit ainsi, seul l'index possèdes les includes pour le header, le menu, le bandeau, le frame et le footer comme l'exemple ci-dessous:
<!-- Début du contenu principal -->
<div id="frame">
<?php
include $_SESSION[$page]['Location']." $lang.htm";
?>
</div>
<!-- Fin du contenu principal -->
"pour que le code php soit interprété, il faut que tes pages soient en .php et pas .htm"
C'est ce que je me disais mais alors comment expliquer que les prénoms s'affichent ?
Chaque page (bandeau et frame affichée) est déclarée dans un fichier Init Session Table.php comme l'exemple ci-dessous:
$_SESSION[Liste_Prenoms]['Banner']="./Modules/Banners/Livres.jpg"; $_SESSION[Liste_Prenoms]['Location']="./Prenoms/Liste_Prenoms";
Le gars qui a réalisé un site avec ce modèle a enregistré des fichiers comportant du code php en .htm.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Oui mais sauf que la page include (Liste_Prenoms Fr.htm) contient le code php cité plus haut.
Bon, je vais tenter de laisser cette quasiment vide mais en intégrant une page php dans un div par exemple.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Bon, je vais tenter de laisser cette quasiment vide mais en intégrant une page php dans un div par exemple.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Bon,
Mon Pb c'est de conserver le header, le menu + le bandeau, la page include et enfin le footer.
Sinon, je pourrais très bien ouvrir la page prénoms dans une nouvelle fenêtre mais ça va perturber la navigation.
C'est ça que j'arrive pas a maitriser.
Je ne peux pas nommer la page appelée en .php sinon bonjour le warning. Il s'attend a une page toto Fr.htm (voir ci-dessous):
et cette page là doit être déclarée dans Init Session Table.php comme dit plus haut.
Comment pourrais-je mettre une page "bidon" sans code php mais qui ferait appel à celle contenant le code php qui affiche les prénoms.
Ca commence a me prendre la tête, moi qui croyait toucher au but....
Merci en tous cas pour ton aide !
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Mon Pb c'est de conserver le header, le menu + le bandeau, la page include et enfin le footer.
Sinon, je pourrais très bien ouvrir la page prénoms dans une nouvelle fenêtre mais ça va perturber la navigation.
C'est ça que j'arrive pas a maitriser.
Je ne peux pas nommer la page appelée en .php sinon bonjour le warning. Il s'attend a une page toto Fr.htm (voir ci-dessous):
<div id="frame">
<?php
include $_SESSION[$page]['Location']." $lang.htm";
?>
</div>
et cette page là doit être déclarée dans Init Session Table.php comme dit plus haut.
Comment pourrais-je mettre une page "bidon" sans code php mais qui ferait appel à celle contenant le code php qui affiche les prénoms.
Ca commence a me prendre la tête, moi qui croyait toucher au but....
Merci en tous cas pour ton aide !
Le bonheur est la seule chose que l'on peut donner sans l'avoir.