Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

jointure mysql

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
zimounet
WRInaute accro
WRInaute accro

Inscrit le: 08 Nov 2004
Messages: 1799
Localisation: Physiquement ou mentalement?

URL permanente de ce messagePosté 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

URL permanente de ce messagePosté 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 !
 
yBicou
zimounet
WRInaute accro
WRInaute accro

Inscrit le: 08 Nov 2004
Messages: 1799
Localisation: Physiquement ou mentalement?

URL permanente de ce messagePosté 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)
 
yBicou
zimounet
WRInaute accro
WRInaute accro

Inscrit le: 08 Nov 2004
Messages: 1799
Localisation: Physiquement ou mentalement?

URL permanente de ce messagePosté 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");
?>

 
yBicou
ltressens
WRInaute passionné
WRInaute passionné

Inscrit le: 02 Avr 2004
Messages: 536
Localisation: Toulouse

URL permanente de ce messagePosté 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;
 
ltressens Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

Définitions :

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort