PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 17-06-2011 15:18:31

lexpo
Membre
Inscription : 17-06-2011
Messages : 55
Site Web

Inclure departement dans titre de page

Bonjour à vous tous;

Je suis débutant en php et c'est surtout les termes que je ne connais pas bien.

Depuis une semaine je tourne en rond et de cours en cours de forum en forum bref suis paumé.

En deux mots j'ai un site qui fonctionne bien ou pas trop mal vis à vis du sujet.
Depuis mon index le departement est pris en compte et est reporté de page en page.

Ce que je souhaiterais c'est que le visiteur qui entre sur une page autre que l'index en faisant une recherche X avec en complement un departement que ce département X ou Y s'affiche
1) a la fin de l'url
2) au titre de la page.

Le php permet cela, mes pages sont toutes en php.

Voici un des codes j'en ai testé des tonnes mais nada, rien.

<?php
require("phpinside/recup_departement.php");
session_start();
$dep = verif_dep_ss_redir();

// Creation et envoi de la requete
$mysql_query ="SELECT * FROM departement WHERE nom_departement=$nom_departement";

$_SESSION['nom_departement'] = $donnees['nom_departement'];        
$_SESSION['num_departement'] = $donnees['num_departement'];


?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title><?php echo $donnees['nom_departement']; ?>titre</title>
 

J'ai tente d'y inclure plein de choses tel que :$res = mysql_num_rows($req)

Suis au point mort.

D'avance merci aux inscrit qui auront pris le temps de me lire.
Si en plus y avait une solution.

Hors ligne

#2 17-06-2011 15:47:09

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Inclure departement dans titre de page

Saluton,
Deux choses, en préambule :
les balises PHP c'est <?php ... ?> et rien d'autre. Abandonne de suite cette mauvaise habitude des short-tags <? ... ?>.
Ne relance pas la guerre des étoiles.
Comme tu as vu, j'ai modifié ton post pour changer la balise ouvrante PHP et colorisé le code.
Mais, à l'avenir, c'est à toi d'y veiller.


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

#3 17-06-2011 15:50:05

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Inclure departement dans titre de page

Sur le fonds maintenant.
D'où est censé provenir le contenu de l'array $donnees ?


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

#4 17-06-2011 16:27:18

lexpo
Membre
Inscription : 17-06-2011
Messages : 55
Site Web

Re : Inclure departement dans titre de page

Bonjour;

Merci pour la réponse et modif.

J'ai oublié de préciser que j'avais créer une table "departement" dans ma bdd.
Table deus colonnes nom_departement et num_departement.

J'ai ce code en ligne sur une page test  en tapant recherche GG "garage prefabriqué ain"  suis 3 lexpodubatiment.

Hors ligne

#5 17-06-2011 17:55:50

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Inclure departement dans titre de page

Tu ne réponds pas à ma question :

D'où est censé provenir le contenu de l'array $donnees ?


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

#6 17-06-2011 20:08:11

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Inclure departement dans titre de page

Bonjour,

Ce que te demande MK est important car normalement $donnees est censé provenir du résultat de ta requête mais on en est pas certain vu les informations que tu nous donnes. Donc si c'est le cas, vérifie que ce tableau contient bien les bonnes valeurs et si tout est ok, cela doit résoudre normalement ton problème d'inclusion de ton information au sein de ton titre de page.

Par contre tu souhaites que l'information apparaisse dans l'url de ta page.
Ceci est impossible: tu ne peux pas modifier dynamiquement l'url de la page que tu consultes.
Par contre tu peux créer un lien dynamique vers la page que tu souhaites avec, par exemple, une simple balise <a...></a> avec un URL du style "../monfichier.php?param=mondépartement"
Ensuite dans ta page monfichier.php, il faut que tu intègres la gestion des paramètres passés dans l'url (en GET donc) pour en gérer dynamiquement son affichage. Ce qui necessite une autre gestion de ton code que celle que tu sembles avoir adoptée.

Cordialement,

Jc.

Dernière modification par Jc (17-06-2011 20:08:47)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#7 18-06-2011 06:52:27

lexpo
Membre
Inscription : 17-06-2011
Messages : 55
Site Web

Re : Inclure departement dans titre de page

Bonjour et merci de vos réponses;

Dans ma bdd table departement j'ai bien mis en valeur nom_departement  : ain   et num_departement : 01
Mais je n'obtiens rien
Si j'ai rien dans l'url c'est pas grave.

Hors ligne

#8 18-06-2011 08:16:50

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Inclure departement dans titre de page

ceci devrai réduire les problèmes wink


$mysql_query ="SELECT * FROM departement WHERE nom_departement='$nom_departement'";
 

a++

Hors ligne

#9 18-06-2011 10:19:06

lexpo
Membre
Inscription : 17-06-2011
Messages : 55
Site Web

Re : Inclure departement dans titre de page

Bonjour;

Effectivement je n'ai pas fais de boucle.
Mais quant je fais cette boucle j'ai un message d'erreur

//boucle
[c]// 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($donnees = mysql_fetch($req))[/c]

Merci Pierrot : J'ai r'ajouté les ' '

Hors ligne

#10 18-06-2011 10:37:17

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Inclure departement dans titre de page

>>Mais quant je fais cette boucle j'ai un message d'erreur

quel message d'erreur ?????

>>mysql_fetch($req)

connai pas cette fonction !!!


a++

Hors ligne

#11 18-06-2011 10:56:39

lexpo
Membre
Inscription : 17-06-2011
Messages : 55
Site Web

Re : Inclure departement dans titre de page

Voici le message d'erreur
Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /homez.143/lexpodub/www/page43.php on line 10

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /homez.143/lexpodub/www/page43.php on line 10
Erreur SQL !

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

Ligne 10 voila la ligne:
[c=php]$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());[/c]

Hors ligne

#12 18-06-2011 11:18:48

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Inclure departement dans titre de page

donc, c'est pas un problème php.
c'est un probleme du serveur mysql wink

vois avec le dba ou administrateur wink

a++

Hors ligne

#13 18-06-2011 12:06:01

lexpo
Membre
Inscription : 17-06-2011
Messages : 55
Site Web

Re : Inclure departement dans titre de page

C'est moi l'administrateur. dba?
Mes connections a bdd se passent bien. La ca bloque sais pas pourquoi et ou.
La sessions star tourne.
J'enregistre tout ce qu'il faut sur ma bdd.

Il faut peut être que je distingue les deux actions.

<?php
require("phpinside/recup_departement.php");
session_start();
$dep = verif_dep_ss_redir();
 ?>
<?php
// Creation et envoi de la requete
$mysql_query ="SELECT * FROM departement WHERE nom_departement=$nom_departement";
 
$_SESSION['nom_departement'] = $donnees['nom_departement'];        
$_SESSION['num_departement'] = $donnees['num_departement'];
 
 
?>

Mais je l'ai fais et m^me résultat.

Ou alors dans le 2éme <?php.................?> je réintroduise la connection à bdd.

Comme vous avez pu le voir même en vous donnant ce que j'avais sur ma page , le php vous n'avez rien sur ma connection. Aucune donnée.
Pourtant c'est une page ou je récupére des demandes de devis.

Je vous remercie de l'intéret que vous portez à mon pb.
A++

Hors ligne

#14 18-06-2011 12:10:54

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Inclure departement dans titre de page

Je réitère donc encore une fois ma question:

D'où est censé provenir le contenu de l'array $donnees ?


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

#15 18-06-2011 13:13:55

lexpo
Membre
Inscription : 17-06-2011
Messages : 55
Site Web

Re : Inclure departement dans titre de page

A dire vrai j'ai beau lire et relire tout ce que je trouve sur le php je m'y perd.
Il me manque la boucle dans mon script. C'est cela?

Je n'ai pas fais de tableau

mais une bdd departement avec deux champs nom_departement et num_departement

Voila d'ou provient "array"

Dernière modification par lexpo (18-06-2011 13:18:05)

Hors ligne

#16 18-06-2011 14:07:15

lexpo
Membre
Inscription : 17-06-2011
Messages : 55
Site Web

Re : Inclure departement dans titre de page

Si j'ai bien compris en plus de la bdd il faut que je fasse un tableau "array".

J'ai également vu cela : http://www.phpdebutant.org/article119.php
cela resemble fort à ce que je veux faire pour passer le département dans l'url

Hors ligne

#17 18-06-2011 14:26:36

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Inclure departement dans titre de page

Bonjour,

1) On est la pour t'aider, donc cela serait bien de ta part que lorsque on te pose une question tu y répondes, du style la question que te pose Maljuna Kris. Si tu ne l'a pas comprise, tu demandes hein.

Car une chose qui est sure et certaine à 100% c'est que si à chaque fois que tu te connectes à ta base de données tu obtiens le message

lexpo a écrit :

"Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /homez.143/lexpodub/www/page43.php on line 10
Erreur SQL !

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

il est purement impossible que cela fonctionne de part ailleurs. La question de Maljuna est donc encore plus justifiée, à telle point, que je te la pose aussi hein. Je soupconne un système de cache, ou de stockage sur fichier qui se profile à l'horizon..

Cordialement,

Jc.


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#18 18-06-2011 15:00:08

lexpo
Membre
Inscription : 17-06-2011
Messages : 55
Site Web

Re : Inclure departement dans titre de page

Merci à vous de me tendre la main;

Je suis vos cours depuis hier soir et debut am. J'ai également suivi cours du site du zero.  Donc voyez que je me la "pete".

Je ne comprend pas tout il est vrai. Html ok. PHP je tatonne.

J'ai donc fais une table departement avec deux colonnes nom_departement et num_departement.  actuellement les trois premier département son fais.
J'ai une page réelle qui me sert de test lexpodubatiment.com/page43.php.
que l'on trouve sur GG en cherchant "garage préfabriqué ain"

Pour le pb de cache je viens de refaire un test et deux messages différents sont passés. De plus j'avais fermé IE .

J'ai traduis les messages et vu qu'il y avais pb de connection.

Pourtant suis en session star comme vous avez pu le voir.
Je vais donc refaire une connection normal et voir.

Hors ligne

#19 18-06-2011 15:07:56

lexpo
Membre
Inscription : 17-06-2011
Messages : 55
Site Web

Re : Inclure departement dans titre de page

Voila je refais un test avec connection.


$mysql_query ="SELECT * FROM departement WHERE nom_departement='$nom_departement'";
// 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


     
$_SESSION['nom_departement'] = $donnees['nom_departement'];        
$_session[num_departement] = $donnees['num_departement'];


?>

La réponse est : query est vide.
Dans ma bdd j'ai bien ain en département.

Je dois faire en plus da bdd un tableau ?

Hors ligne

#20 18-06-2011 15:54:30

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Inclure departement dans titre de page

tu as quelle valeur dans $nom_departement ?
a++

Hors ligne

#21 18-06-2011 16:04:43

lexpo
Membre
Inscription : 17-06-2011
Messages : 55
Site Web

Re : Inclure departement dans titre de page

ain
aisne
allier

sans majuscule, mais j'ai fais un test avec majuscule et même résultat

Merci a++

Hors ligne

#22 18-06-2011 16:39:02

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Inclure departement dans titre de page

non, tu ne peux pas avoir ces 3 valeurs;
fais un echo $nom_departement avant de faire le query
a++

Hors ligne

#23 18-06-2011 17:00:48

lexpo
Membre
Inscription : 17-06-2011
Messages : 55
Site Web

Re : Inclure departement dans titre de page

J'ai une valeur par département. nom_departement et num departement
Copie de la bdd

    nom_departement    num_departement
            ain    01
            aisne    02
            allier    03
            Alpes-de-Haute-Provence    04
            Hautes-Alpes    05
            Alpes-Maritimes    06
            Ardèche    07
            Ardennes    08
            Ariège    09
            Aube    10

J'ai modifié le code comme dis

// Creation et envoi de la requete
echo $nom_departement
$mysql_query ="SELECT * FROM departement WHERE nom_departement='$nom_departement'";
// 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($donnees = mysql_fetch($req))

     
$_SESSION['nom_departement'] = $donnees['nom_departement'];        
$_SESSION['num_departement'] = $donnees['num_departement'];

Mais toujours pas de résultat.
Quant je fais la source pas de département dans le titre
Recherche faite en "garage préfabriqué allier" sur gg

Merci

Hors ligne

#24 18-06-2011 17:58:59

lexpo
Membre
Inscription : 17-06-2011
Messages : 55
Site Web

Re : Inclure departement dans titre de page

Fabuleux test avec le dernier code.
Recherche sur un autre ordi: garage prefabriqué ain . ouverture de la page : parse error
changement de departement dans la recherche : allier. Miracle la page s'affiche.
???????????????????
Mais toujours pas d'affichage du département dans le titre: source page.

Je comprend de moins en moins le php.

Hors ligne

#25 18-06-2011 20:01:57

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Inclure departement dans titre de page

Bonsoir,

Merci pour tes réponses.
J'ai peur que tu me dises oui à la question suivante : Le code que tu nous montres, tu l'utilises tel quel dans ton code?

Si c'est oui, c'est normal que tu n'aies rien avec un beau parse error. Essayes plutot ceci:


$mysql_query ="SELECT * FROM departement WHERE nom_departement='$nom_departement'";
$resultat = mysql_query($mysql_query);$dpt_lib='';$dpt_code='';
while($donnees=mysql_fetch_assoc($resultat)) {
        $dpt_lib=$donnees['nom_departement'];
        $dpt_code=$donnees['num_departement'];
}
if (strlen($dpt_lib)>0){$_SESSION['nom_departement'] = $dpt_lib;}else{$_SESSION['nom_departement'] ='';}
if (strlen($dpt_code)>0){$_SESSION['num_departement'] = $dpt_code;}else{$_SESSION['num_departement'] ='';}
 

Même si il n'est pas très utile de faire une boucle pour sortir un seul enregistrement, ce code à le mérite de ne contenir aucune faute de syntaxe et d'utiliser de bonnes pratiques, même si PDO n'est pas utilisé en l'occurence.

Dis nous ce que ca donne avec ce code.

++

Dernière modification par Jc (18-06-2011 20:02:30)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums