Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 04/07/2006, 11h49   #1
Membre du Club
 
Avatar de PuppeT mAsTer
 
Inscription : 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 : 41
Points : 41
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 :
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
PuppeT mAsTer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 12h22   #2
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
j'ai rien compris à l'intérêt d'avoir deux requêtes

je tente le coup quand même :

Code :
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>";
  ?>
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 12h27   #3
Membre du Club
 
Avatar de PuppeT mAsTer
 
Inscription : 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 : 41
Points : 41
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.
PuppeT mAsTer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 12h28   #4
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Tu as regardé le code je j'ai posté
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 12h29   #5
Membre du Club
 
Avatar de PuppeT mAsTer
 
Inscription : 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 : 41
Points : 41
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.
PuppeT mAsTer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 12h31   #6
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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é) ?
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 12h38   #7
Membre du Club
 
Avatar de PuppeT mAsTer
 
Inscription : 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 : 41
Points : 41
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>";
?>
PuppeT mAsTer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 13h40   #8
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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...
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 13h43   #9
Membre du Club
 
Avatar de PuppeT mAsTer
 
Inscription : 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 : 41
Points : 41
Non parce que ce code que tu m'a filé ne fonctionne pas non plus :
Code :
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
PuppeT mAsTer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 13h45   #10
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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 :
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>";
  ?>
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 13h47   #11
Membre du Club
 
Avatar de PuppeT mAsTer
 
Inscription : 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 : 41
Points : 41
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.
PuppeT mAsTer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 13h49   #12
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
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...
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 13h52   #13
Membre du Club
 
Avatar de PuppeT mAsTer
 
Inscription : 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 : 41
Points : 41
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
PuppeT mAsTer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 13h55   #14
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Arf j'ai oublié de changer une variable.

Voici la solution :

Code :
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>";
  ?>
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 14h05   #15
Membre du Club
 
Avatar de PuppeT mAsTer
 
Inscription : 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 : 41
Points : 41
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
PuppeT mAsTer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2006, 14h18   #16
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910


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.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara 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 13h44.


 
 
 
 
Partenaires

Hébergement Web