| |
|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
zimounet WRInaute accro

Inscrit le: 08 Nov 2004 Messages: 1799 Localisation: Physiquement ou mentalement?
|
Posté le : Lun Oct 24, 2005 0:50 Sujet du message: jointure mysql |
|
|
Hello, voila j'ai besoin d'aide avec un select sur plusieurs table, tout est expliqué en commentaires
| Code: |
//connexion db
$num_article = $_GET['article']; //ici je récupère l'id de mon article
//La je fait un select pour récupérer les divers infos sur ma table articles
$resultat = mysql_query("SELECT cat,titre,auteur,date,heure,contenu,forum FROM articles where id='$num_article'");
//Je met l'ensemble dans des variables...
$titre = mysql_result($resultat,'.$num_article.',"titre");
$auteur = mysql_result($resultat,'.$num_article.',"auteur");
$date = mysql_result($resultat,'.$num_article.',"date");
$heure = mysql_result($resultat,'.$num_article.',"heure");
$contenu = mysql_result($resultat,'.$num_article.',"contenu");
$forum = mysql_result($resultat,'.$num_article.',"forum");
$cat = //mais je veux que cette variable contienne le nom de ma catégorie, qui est stocké dans la table cat. Et si je fait sa: $cat = mysql_result($resultat,'.$num_article.',"cat"); je n'ai évidement que l'id de la catégorie, présent dans le champs cat de ma table articles, qui correspond a l'id de ma table cat... evidement...
Comment avoir le resultat voulu avec un seul requete? |
|
|
| |
|
 |
yBicou Nouveau WRInaute
Inscrit le: 31 Juil 2004 Messages: 7
|
Posté le : Lun Oct 24, 2005 2:55 Sujet du message: jointure mysql |
|
|
Déjà jamais envoyer des données provenant de $_GET, $_POST ou tout autre tableau provenant du browser directement dans une requête sql sans le vérifier ou modifier :
| Code: |
// faire un isset($_GET['article']) avant et réagir à ce cas
$num_article = $_GET['article']+0;
$sql = "SELECT articles.*, cat.title AS cat_title FROM articles LEFT JOIN cat ON articles.cat = cat.id WHERE articles.id='$num_article'";
$res = mysql_query( $sql );
if( $res )
{
if( mysql_num_rows( $res ) )
{
$article = myslq_fetch_assoc( $res );
echo $article['titre'],' dans la catégorie : ',$article['cat_title'];
}
}
|
Bon courage ! |
|
| |
|
 |
zimounet WRInaute accro

Inscrit le: 08 Nov 2004 Messages: 1799 Localisation: Physiquement ou mentalement?
|
Posté le : Lun Oct 24, 2005 3:30 Sujet du message: jointure mysql |
|
|
ybicou, je n'ai juste mis que l'extrait de code qui interresse, mais merci de faire la remarque par sécurité!
Sinon, je ne veux pas lister les articles, mais juste afficher un seul article, pour ce dernier sa catégorie etc...
donc comment faire, a partir de ta requete pour ne travailler et n'afficher que sur un enregistrement de ma bdd? (je n'ai pas besoin de mettre sa dans un tableau) |
|
| |
|
 |
zimounet WRInaute accro

Inscrit le: 08 Nov 2004 Messages: 1799 Localisation: Physiquement ou mentalement?
|
Posté le : Lun Oct 24, 2005 3:35 Sujet du message: jointure mysql |
|
|
Pour l'instant, j'ai fait ceci, est ce que sa va ou est-ce moins performant que de faire qu'un seul requete?
| Code: |
<?
//connexion Bdd
$num_article = $_GET['article'];
if (isset($_GET['article']))
{header("Location: index.php");}
$resultat = mysql_query("SELECT cat,titre,auteur,date,heure,contenu,forum from articles where id='$num_article'");
$cat = mysql_result($resultat,'.$num_article.',"cat");
$rescat = mysql_query("SELECT cat from cat_articles where id='$cat'");
$categorie = mysql_result($rescat,'.$num_article.',"cat");
$titre = mysql_result($resultat,'.$num_article.',"titre");
$auteur = mysql_result($resultat,'.$num_article.',"auteur");
$date = mysql_result($resultat,'.$num_article.',"date");
$heure = mysql_result($resultat,'.$num_article.',"heure");
$contenu = mysql_result($resultat,'.$num_article.',"contenu");
$forum = mysql_result($resultat,'.$num_article.',"forum");
?>
|
|
|
| |
|
 |
ltressens WRInaute passionné

Inscrit le: 02 Avr 2004 Messages: 536 Localisation: Toulouse
|
Posté le : Lun Oct 24, 2005 8:48 Sujet du message: jointure mysql |
|
|
Qqchose comme :
SELECT c.cat, a.titre, a.auteur, a.date, a.heure, a.contenu, a.forum from articles a, cat_articles c
where a.id='$num_article'
and a.cat = c.id; |
|
| |
|
 |
| |
|
|
|
|
Autres sujets de discussion :
Définitions :
|
|