Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/03/2011, 11h17   #1
Invité régulier
 
Homme
Inscription : février 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : février 2011
Messages : 22
Points : 5
Points : 5
Par défaut Probleme d'affiche annonce poo

Bonjour,
mon problème est que je veut afficher des annonces sur mon site web, et que l'utilisateur sélectionne une annonce et qu'elle s'affiche sur une nouvelle page.

J'ai donc une classe ou il y a ma fonction qui sélectionne toutes les annonces et les affiches.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public function annonce() {
        global $PDO;
        $req1 = $PDO->query("SELECT * FROM annonce  ORDER BY type") or die(mysql_error());
        $req1->setFetchMode(PDO::FETCH_OBJ); // on indique que l'on va utiliser les resultat en tant qu'objet
        while ($data = $req1->fetch()) {
            echo '<h2><u>', $data->type, '</u></h2>';
            echo '<u>Numero annonce</u>: ', $data->idAnnonce, '<br />';
            echo '<u>Titre</u>: ', $data->titre, '<br />';
            echo '<u>Date:</u> ', $data->date, '<br />';
            echo '<u>Heure:</u> ', $data->heure, '<br />';
            echo '<u>Descriptif:</u> ', $data->descriptif, '<br />';
            echo '<u>Prix:</u> ', $data->prix, '<br /><br />';
 
        }
    }
Voila mon problème est que je ne sais pas vraiment comment transmettre l'annonce d'une page a l'autre, car je souhaite récupérer l'idAnnonce dans mon autre page afin de pouvoir la rechercher grâce a son id.

Est ce que je géré mal l'affichage, si quelqu’un pouvait m’éclairer.
Merci d'avance
Alex63530 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 11h58   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 465
Points : 8 465
déjà y'a plein de chose qui ne vont pas, pour le gestion des erreurs de PDO c'est pas ici : http://php.net/manual/fr/pdo.error-handling.php

même avec mysql on ne fait pas de or die, alors encore moins avec PDO, surtout que tu fait ouvre le connexion avec PDO mais tu cherches une mysql_error...

la boucle n'est pas correct non plus, sois tu fais
Code :
1
2
$req1->setFetchMode(PDO::FETCH_OBJ);
foreach($req1 as $data)
sois tu fais juste:
Code :
while ($data = $req1->fetchObject())

vérifie aussi ton HTML qui est obsolète
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 29/03/2011, 12h31   #3
Invité régulier
 
Homme
Inscription : février 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : février 2011
Messages : 22
Points : 5
Points : 5
Ok j'ai rectifié sa.
Cependant sa ne change rien a mon probleme
Alex63530 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 14h03   #4
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
Tu peux par un paramètre en mode GET :

Code :
1
2
3
4
5
6
7
8
9
10
$req1->setFetchMode(PDO::FETCH_OBJ);
foreach($req1 as $data){
  echo '<h2><u>', $data->type, '</u></h2>';
  echo '<u>Numero annonce</u>: ', $data->idAnnonce, '<br />';
  echo '<u>Titre</u>: <a href="annonce.php?id='.$data->idAnnonce.'">'.$data->titre.'</a><br />';
  echo '<u>Date:</u> ', $data->date, '<br />';
  echo '<u>Heure:</u> ', $data->heure, '<br />';
  echo '<u>Descriptif:</u> ', $data->descriptif, '<br />';
  echo '<u>Prix:</u> ', $data->prix, '<br /><br />';
}
Bien sûr, ici il faut remplacer "annonce.php" par la page que tu souhaites et dans celle-ci tu fais d'abord les vérifications et autres modifications (contre les injections par exemple) avant ta requête car n'importe qui pourrait modifier l'url
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery.
Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels.
Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc...
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/03/2011, 16h00   #5
Invité régulier
 
Homme
Inscription : février 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : février 2011
Messages : 22
Points : 5
Points : 5
d'accord, je vois mais se site est juste pour moi je chercher juste a appendre la poo, donc s'il n'est pas très sécuriser ce n'est pas grave.
Par contre je ne voit pas comment recuperer les données qui sont passées, pour les utiliser dans ma requete .
Alex63530 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 16h07   #6
Membre chevronné
 
Homme
Développeur Web
Inscription : mars 2011
Messages : 399
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web
Secteur : Finance

Informations forums :
Inscription : mars 2011
Messages : 399
Points : 662
Points : 662
http://cyberzoide.developpez.com/php4/url/#passage
Ceci t'explique comment passer des variables par GET.
Pour POST, il faut généralement passer par un formulaire ou de l'AJAX.
Tu peux aussi utiliser les variables de session
http://php.developpez.com/cours/sessions/

Une fois la variable récupérée et sécurisée, tu peux lancer une requête qui va la demander :
$req1 = $PDO->query("SELECT * FROM annonce ORDER BY type WHERE id = ".$id);

ou encore mieux avec PDO comme tu as l'air de connaître, tu peux utiliser bindParam() et bindValue() Je te laisse chercher pour la suite.
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery.
Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels.
Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc...
Shikiryu est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/03/2011, 16h08   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 465
Points : 8 465
la c'est pas de POO mais les bases de PHP...
http://www.php.net/manual/fr/languag...s.external.php
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 30/03/2011, 00h34   #8
Membre actif
 
Inscription : décembre 2006
Messages : 184
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 184
Points : 198
Points : 198
faire du poo et avoir ca est pour moi un non sens

simple point de vue ecrire cela revient à perdre l'intérêt de la poo puisque tu ne sais plus d'où vient $POO et ce que contient la variable.

le pattern singleton ou l'héritage est la pour palier à ca

ps: c'est juste une remarque
psII: plusoie stealth35
psIII: je te rassure je suis sure que plus d'un se demande à quoi servent les interfaces (en php bien entendue)
Helfima est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/03/2011, 10h14   #9
Invité régulier
 
Homme
Inscription : février 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : février 2011
Messages : 22
Points : 5
Points : 5
d'accord merci, je vais regarder tous sa

ps: je debute en poo
Alex63530 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h38.


 
 
 
 
Partenaires

Hébergement Web