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

PHP & Base de données Discussion :

[SQL] Résultat requête : présenter séparement colonnes d'un même tableau


Sujet :

PHP & Base de données

  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 [SQL] Résultat requête : présenter séparement colonnes d'un même tableau
    Bonjour comme le dit le titre j'aimerai présenter séparement les résultats d'une requête d'un même tableau de deux colonnes différent : (en fait je veux que les dates soit en texte gras et les titres d'articles soit des liens).

    J'ai commencé par essayer de faire deux requête différentes, une qui lit une colonne (celle des dates de publication) puis l'autre qui lit les titres des articles.

    Seulement le pb est que les dates ne correspondent plus au titre d'article, la date du premier article de la liste est transmise à tous les titres d'articles.

    voici la page de traitement des articles, merci de m'aider à résoudre ce pb :

    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
    17
    18
    19
    20
    21
    <?php
      include ("connect.inc.php");
      $selectdatebreve = "SELECT datebreve FROM `breves` ORDER BY `datebreve` DESC LIMIT 8";
      $selecttitrebreve = "SELECT titre_breve FROM `breves` ORDER BY `datebreve` DESC LIMIT 8";
      $brevedate=mysql_query($selectdatebreve,$idconnect) or die (mysql_error());
      $brevetitre=mysql_query($selecttitrebreve,$idconnect) or die (mysql_error());
      echo "<table id=\"tableaudirect\">";
      echo "<tr><td colspan=\"2\"><p><b>L'Actualité Sportive</b><p></td></tr>";
      while($date=mysql_fetch_array($brevedate,MYSQL_NUM))
      while($titre=mysql_fetch_array($brevetitre,MYSQL_NUM))
      {
      echo "<tr>";
      foreach($date as $valeur)
      foreach($titre as $valeur2)
      {
        echo "<td width=\"100\"> <p><font color=#0060cd><b>$valeur</b></font> - </p></td><td width=\"450\"><p><a href=\"\">$valeur2</a></p></td>";
      }
      echo "</tr>";
      }
      echo"</table>";
      ?>
    Concrètement, j'aimerai lire sur une même page mais par colonne le contenu d'une même ligne de ma base.

    Merci de répondre

    PM

  2. #2
    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
    j'ai rien compris à l'intérêt d'avoir deux requêtes

    je tente le coup quand même :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?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());
      echo "<table id=\"tableaudirect\">";
      echo "<tr><td colspan=\"2\"><p><b>L'Actualité Sportive</b><p></td></tr>";
      while($breve=mysql_fetch_array($resbreve))
         echo "<tr><td width=\"100\"> <p><font color=#0060cd><b>$breve['datebreve']</b></font> - </p></td><td width=\"450\"><p><a href=\"\">$breve['titre']</a></p></td></tr>";
      echo"</table>";
      ?>

  3. #3
    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
    oui justement c'est pas une solution les deux requêtes je pense qu'il faut que je lise les 2 colonnes séparement mais je ne sais pas comment le faire ?

    J'avais essayé de mettre entre crochet le nom des collones mais sans les ' je vais essayer merci de ton aide.

  4. #4
    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
    Tu as regardé le code je j'ai posté

  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
    Oui dsl j'ai posté un peu vite, j'ai édité ensuite... Merci beaucoup beaucoup, j'avais essayé mais sans les ' comme dit précédemment.

  6. #6
    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
    Citation Envoyé par PuppeT mAsTer
    Oui dsl j'ai posté un peu vite, j'ai édité ensuite... Merci beaucoup beaucoup, j'avais essayé mais sans les ' comme dit précédemment.
    Et ça donne quoi ce que j'ai mis ? C'est bon (pas testé) ?

  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
    Hum ça donne un message d'erreur suivant :

    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\Hit&Sport\brev.php on line 21

    je reposte le code pour situer la ligne 21 :
    <?php
    include ("connect.inc.php");
    $selectbreve = "SELECT datebreve,titre_breve FROM `breves` ORDER BY `datebreve` DESC LIMIT 8";
    $breve=mysql_query($selectbreve,$idconnect) or die (mysql_error());
    echo "<table id=\"tableaudirect\">";
    echo "<tr><td colspan=\"2\"><p><b>L'Actualité Sportive</b><p></td></tr>";
    while($date=mysql_fetch_array($breve,MYSQL_NUM))
    {
    echo "<tr>";
    foreach($date as $valeur)
    {
    echo "<td width=\"100\"> <p><font color=#0060cd><b>$valeur['datebreve']</b></font> - </p></td><td width=\"450\"><p><a href=\"\">$valeur['titre_breve']</a></p></td>";
    }
    echo "</tr>";
    }
    echo"</table>";
    ?>

  8. #8
    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
    Pourquoi tu reprends pas exactement le même code que celui que je t'ai fourni (parce que là il y a un problème avec tes boucles...) ?
    Après on verra...

  9. #9
    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
    Non parce que ce code que tu m'a filé ne fonctionne pas non plus :
    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
    17
    18
    <?php
      include ("connect.inc.php");
      $selectbreve = "SELECT datebreve,titre_breve FROM `breves` ORDER BY `datebreve` DESC LIMIT 8";
      $breve=mysql_query($selectbreve,$idconnect) or die (mysql_error());
      echo "<table id=\"tableaudirect\">";
      echo "<tr><td colspan=\"2\"><p><b>L'Actualité Sportive</b><p></td></tr>";
      while($date=mysql_fetch_array($breve,MYSQL_NUM))
      {
      echo "<tr>";
      foreach($date as $valeur)
      {
        echo "<td width=\"100\"> <p><font color=#0060cd><b>$valeur['datebreve']</b></font> - </p></td><td width=\"450\"><p><a href=\"\">$valeur['titre_breve']</a></p></td>";
      }
      echo "</tr>";
      }
      echo"</table>";
      ?>
    C'est la même erreur sur la même ligne :

    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\Hit&Sport\brev.php on line 18

    Donc me suis dit que l'un ou l'autre c'était le même problème

  10. #10
    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
    Oui mais ton algo est faux, donc même quand on n'aura plus d'erreurs de syntaxe ça fera pas ce que tu veux.

    Essaie avec exactement ça (on débuggera ça si besoin) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?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());
      echo "<table id=\"tableaudirect\">";
      echo "<tr><td colspan=\"2\"><p><b>L'Actualité Sportive</b><p></td></tr>";
      while($breve=mysql_fetch_array($resbreve))
         echo '<td width="100"><p><font color="#0060cd"><b>' . $valeur['datebreve'] . '</b></font> - </p></td><td width="450"><p><a href="">' . $valeur['titre_breve'] . '</a></p></td>';
      echo"</table>";
      ?>

  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
    Il n'y a plus d'erreur mais le contenu de la base ne s'inscrit pas il n'y a que les - qui apparaissent.

  12. #12
    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
    Tu as testé ta requête dans phpmyadmin ? Soit elle fait pas ce que tu veux soit il n'y a rien dans ta BDD qui corresponde au SELECT...

  13. #13
    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
    Oui j'ai testé dans PHPmyadmin, c'est d'ailleurs là que je l'ai écris au début et tout va très bien lorsque je l'exécute.

    ++

    PM

  14. #14
    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
    Arf j'ai oublié de changer une variable.

    Voici la solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?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());
      echo "<table id=\"tableaudirect\">";
      echo "<tr><td colspan=\"2\"><p><b>L'Actualité Sportive</b><p></td></tr>";
      while($breve=mysql_fetch_array($resbreve))
         echo '<td width="100"><p><font color="#0060cd"><b>' . $breve['datebreve'] . '</b></font> - </p></td><td width="450"><p><a href="">' . $breve['titre_breve'] . '</a></p></td>';
      echo"</table>";
      ?>

  15. #15
    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 beaucoup, ça fonctionne bien, et vu que mon but est de ne pas faire dix fois les memes erreur j'aimerai comprendre le problème avec mes boucles foreach ? En tout cas encore merci, ça m'a bien pris la tête !!

    ++

    PM

  16. #16
    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


    Bonne continuation pour la suite


    2/3 explications avec les boucles :
    Dans ma version, le while parcours tous les enregistrements résultats de ta BDD, chacun d'entre eux est mis dans le tableau $breve par mysql_fetch_array, pour récupérer les informations il suffit donc de piocher dans ce tableau associatif ($breve['titre'] par exemple).
    Dans ton code de 13h43 par exemple, tu mets un foreach pour parcourir le tableau résultat $date, mais ça sert à rien puisque tu recherches des champs précis dans un tableau associatif dans lequel on accède aux éléments par $tab['nom_de_la_cle']. Le foreach est utile dans le cas d'un tableau non-associatif et quand en général on ne sait pas combien on a d'éléments (ou alors si on a beaucoup d'éléments). Mais n'est pas une méthode adaptée dans notre cas.

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

Discussions similaires

  1. [AC-2010] Résultat requête dans deux colonnes différentes
    Par GaMi95 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 13/09/2014, 09h37
  2. Réponses: 4
    Dernier message: 27/06/2012, 20h40
  3. [MySQL] Affichage résultat requête SQL dans page HTML comme un tableau
    Par joxbl dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 14/03/2011, 14h26
  4. [SQL] Affichage résultat requête sur 5 colonnes
    Par tondeuz dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 18/06/2007, 16h14
  5. [sql server] requête sur dates et heures (format du résultat
    Par isachat666 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 21/02/2006, 13h48

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