IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] visionneuse de news extrait d'une base


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de PuppeT mAsTer
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 104
    Points : 75
    Points
    75
    Par défaut [Tableaux] visionneuse de news extrait d'une base
    Bonjour à tous, je suis entrain de créer un système de gestion de news depuis un certain temps, j'ai bien avancé et me voici à la dernière étape la navigation.

    Sur la page d'index du site, les titres des 8 dernieres news apparaissent, et j'aimerai que quelque soit la news, en cliquant sur le titre de celle-ci l'utilisateur puissent visionner l'intégralité de la news. J'ai commencé ainsi mais je n'arrive pas à finir.

    J'essaye de prendre l'id de la dernière news et d'enlever un à l'id de la breve à chaque fois que la boucle do while recommence mais ça ne marche pas

    Est ce un bon début de technique, je suis un peu parti dans l'inconnu en faisant ça et là je coince.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
      include ("connect.inc.php");
      $selectbreve = "SELECT datebreve, titre_breve FROM `breves` ORDER BY `datebreve` DESC LIMIT 8";
      $resbreve=mysql_query($selectbreve,$idconnect) or die (mysql_error());
      $lastidbreve=mysql_query("SELECT id_breves FROM `breves` ORDER BY `id_breves` DESC LIMIT 0, 1 ", $idconnect) or die (mysql_error());
      $numlastbreve=mysql_fetch_array($lastidbreve);
      $idbreve=$numlastbreve['id_breves'];
      echo "<table id=\"tableaudirect\" style=\"padding:5px;\">";
      echo "<tr><td colspan=\"2\"><p><b>L'Actualité Sportive</b><p></td></tr>";
      if (!$GET_['idbreve']) {$GET_['idbreve']=$idbreve ;}
      while($breve=mysql_fetch_array($resbreve))
      do {$idbreve>$idbreve-8;} while (
      echo '<tr><td width="100"><p><font color="#0060cd"><b>' . $breve['datebreve'] . '</b></font> - </p></td><td width="480"><p><a href="?idbreve='.$idbreve.'">' .$breve['titre_breve']. '</a></p></td></tr>';
      echo '</table>';
      );
      ?>
    Merci de m'éclairer de vos connaissance en la matière.

    PM

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Points : 502
    Points
    502
    Par défaut
    euhh ... et pourquoi tu ne récupère pas l'id des news dans ta premiere requete du genre :

    $selectbreve = "SELECT id_breves, datebreve, titre_breve FROM `breves` ORDER BY `datebreve` DESC LIMIT 0, 8";
    $resbreve=mysql_query($selectbreve,$idconnect) or die (mysql_error());
    while($breve=mysql_fetch_array($resbreve)){
    echo '<tr><td width="100"><p><font color="#0060cd"><b>' . $breve['datebreve'] . '</b></font> - </p></td><td width="480"><p><a href="?idbreve='.$breve['id_breves'].'">' .$breve['titre_breve']. '</a></p></td></tr>';
    }
    çà devrai allé mieux non ?

    puis dans ton cas çà ne pouvais pas fonctionner car il aurai fallut plutot une condition dans le genre:

    while($idbreve<$idbreve+8){
    $idbreve++;
    }

    et je savais meme pas qu'on pouvais faire des while .. do en php, enfin je les trouves bizarres tes boucles ...

  3. #3
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    do {$idbreve>$idbreve-8;} while (
      echo '<tr><td width="100"><p><font color="#0060cd"><b>' . $breve['datebreve'] . '</b></font> - </p></td><td width="480"><p><a href="?idbreve='.$idbreve.'">' .$breve['titre_breve']. '</a></p></td></tr>';
      echo '</table>';
      );
    C'est pas un peu bizarre là Il y a des echo dans la condition du while Où c'est moi qui débloque...

  4. #4
    Membre averti Avatar de mussara
    Inscrit en
    Novembre 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2004
    Messages : 442
    Points : 348
    Points
    348
    Par défaut
    moi j'utile comme ça:

    je récupère le nb d'enregistements souhaités en fonction du type de news
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $sql = "SELECT post_titre_url,post_titre,post_content,post_upddt,post_creadt,post_id,
    			SUBSTRING( post_dt, 1, 4 ) AS year, SUBSTRING( post_dt, 6, 2 ) AS month ,
    			SUBSTRING( post_dt, 9, 2 ) AS day,
    			SUBSTRING( post_content, 1, $nb_ligne ) as commentaire
    			FROM dc_post a , dc_categorie b
    			where a.cat_id = b.cat_id and 
    			cat_libelle_url $restriction
    			ORDER BY post_creadt DESC LIMIT $nb_rows";
    puis j'affiche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    while($data = mysql_fetch_assoc($req))
    {
    echo '
    <tr><td align="left">
    - '.$data['post_titre'].' (<a href="postid.php?typ='.$data['post_id'].'">
    <b>...</b></a>)
    ( '.$data['day'].'-'.$data['month'].' )
    </td></tr>
    ';
    }

  5. #5
    Membre régulier Avatar de PuppeT mAsTer
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 104
    Points : 75
    Points
    75
    Par défaut
    pourquoi faire compliqué quand on peut faire aussi simple pourquoi suis je si bête, la fatigue surement !
    Si si les boucles étaient fort bizarre j'avoue mais ne savait pas comment m'y rpendre pour que un unité soit enlevé à chaque fois.

    Maintenant comment dois je m'y prendre pour que chacun de mes liens arrive sur l'article concerné, juste une piste svp

    PM

  6. #6
    Membre averti Avatar de mussara
    Inscrit en
    Novembre 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2004
    Messages : 442
    Points : 348
    Points
    348
    Par défaut
    tu as 2 tables ou une seule???

    si tu en as une et bien tu mets un lien direct vers le champ contenu de ta ta table (vu que ligne à ligne tu sais que quand tu es sur la news n°6, le row sélectionné est le 6 et donc le contenu 6 va s'afficher

    si tu as 2 tables tu fais une jointure entre tes 2 tables sur l'identifiant commun et tu fais afficher de la meme manière

    dans mon post tu verras qu'il y a la jointure...

  7. #7
    Membre régulier Avatar de PuppeT mAsTer
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 104
    Points : 75
    Points
    75
    Par défaut
    Donc il ne faut pas que je cherche à aller sur les pages où tous les articles sont affiché en entier ? C'est trop compliqué?

  8. #8
    Membre averti Avatar de mussara
    Inscrit en
    Novembre 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2004
    Messages : 442
    Points : 348
    Points
    348
    Par défaut
    pourquoi tu parles de pages???

    tu as une ou 2 tables?

    si tu as une table complète avec le champ titre et contenu cela suffit

    et ensuite une fois que tu as "réceptionné" les 8 brèves à afficher au clic sur une le lien fera s'afficher le "content" de ta news

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Points : 502
    Points
    502
    Par défaut
    Ben pour afficher un article tu prépar une page qui va les affichés, par exemple

    affiche_breves.php
    <?php
    if(!empty($_GET['idbreve'])){
    // çà veut dire que tu as une breve à afficher
    // là tu fait une requette simple qui va chercher le contenu de ta breve avec comme identifiant le contenu de $_GET['idbreve']
    // puis tu procèdes à l'affichage comme tu veux, avec la date, le titre, l'auteur etc...
    }else{
    // s'il tombe su cette page sans identifiant alors tu le redirige sur la page d'accueil
    header('location: index.php'); // si ta page d'accueil est index.php
    }
    ?>
    et biensur les liens sur chaque articles doivent être du type:
    affiche_breves.php?idbreve=id_breve

    euhh .. à toi de coder maintenant

  10. #10
    Membre régulier Avatar de PuppeT mAsTer
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 104
    Points : 75
    Points
    75
    Par défaut
    Merci je vais essayer de ce pas

    PM

  11. #11
    Membre régulier Avatar de PuppeT mAsTer
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 104
    Points : 75
    Points
    75
    Par défaut
    J'ai un problème dans ma requête SQL que je ne comprend pas du tout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(!empty($_GET['idbreve'])) {
    $_GET['idbreve']=$idbreve;
    include ("connect.inc.php");
    $brevecible=mysql_query("SELECT titre_breve,txtbreve,datebreve,sportbreve,imagesport FROM `breves` WHERE id_breves=$idbreve",$idconnect) or die (mysql_error());
    D'ou vient il ?

  12. #12
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Points : 502
    Points
    502
    Par défaut
    $_GET['id_breve']=$idbreve;
    echo $idbreve;
    c'est le contraire qu'il faut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $idbreve=$_GET['id_breve'];
    echo $idbreve;
    if (!$_GET('id_breve')){$breve['id_breves']=$_GET('id_breve');}
    çà ne veux rien dire

    tu devrai suivre des tutos peut-être, il en existe des tonnes sur le net

    tu as l'aire d'avoir de grosse lacune en PHP

  13. #13
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Points : 502
    Points
    502
    Par défaut
    t'a un " qui traine dans la requete, met le à la fin
    enfin juste avant le or

  14. #14
    Membre régulier Avatar de PuppeT mAsTer
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 104
    Points : 75
    Points
    75
    Par défaut
    Merci, oui je sais je suis débutant, j'ai dû me mettre au PHP pour les besoins d'une mission (où j'ai pas le droit à l'échec) avec une durée limitée et cette mission est assez colossale et je n'ai pas pris le temps de lire des tonnes de tuto puisque le temps m'est compté c'est pourquoi je poste régulièrement ici. J'ai appris avec PHP5 de Engels mais je n'ai pas pris le temps de faire tous les exercices et j'ai en revanche essayé d'appliquer directement à ma mission ce que j'avais compris, c'est pourquoi j'ai des grosses lacunes encore .

    Merci beaucoup de m'avoir aider, je pense que tous ces problèmes me font apprendre aussi car avant de poster je réfléchis à mes problèmes tout de même mais il est vrai que je bloque souvent.

    Merci encore

    PM

  15. #15
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Points : 502
    Points
    502
    Par défaut
    je voulais pas te décourager non plus hein, tu peux toujours continuer à poster tes problèmes si tu le souhaites

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/05/2014, 17h31
  2. Réponses: 1
    Dernier message: 02/12/2012, 00h48
  3. Réponses: 0
    Dernier message: 10/11/2010, 11h57
  4. Réponses: 8
    Dernier message: 25/07/2010, 10h15
  5. Réponses: 9
    Dernier message: 06/04/2007, 19h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo