jointure mysql
5 messages
• Page 1 sur 1
- zimounet
- WRInaute passionné

- Messages: 1796
- Inscription: 8 Nov 2004
jointure mysql
Hello, voila j'ai besoin d'aide avec un select sur plusieurs table, tout est expliqué en commentaires
- Code: Tout sélectionner
//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

- Messages: 7
- Inscription: 31 Juil 2004
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 :
Bon courage !
- Code: Tout sélectionner
// 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 passionné

- Messages: 1796
- Inscription: 8 Nov 2004
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)
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 passionné

- Messages: 1796
- Inscription: 8 Nov 2004
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: Tout sélectionner
<?
//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");
?>
5 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- MYSQL : jointure
- Jointure sur 2 serveurs Mysql ?
- Vitesse requetes jointure mysql, et Indexes
- problème de jointure mysql : je m'en sors pas !!
- Mysql.._[JOINTURE - PRIMARY KEY - UNIQUE - INDEX ]
- (Résolu par une jointure)[MYSQL] Dissocier ma requête ?
- SQL, Jointure
- jointure
- [résolu] jointure et 'distinct'
- Jointure qui ne fonctionne pas
- Gestion des langues et des sessions en PHP / MySQL - 02-05-2004
- Passage à l'heure d'été/hiver sur un forum phpBB - 31-10-2010
- Script de mise en cache des pages (PHP MySQL) - 09-08-2010
- GoogleStats : analyse temps réel des visites de Google sur votre site - 02-10-2002
- Sortie officielle de GoogleStats v2.0 ! - 23-02-2003
- AdSense Tracking : statistiques détaillées sur les clics AdSense - 29-02-2004
- Le WRInaute du moment - 24-10-2006
- Les différents systèmes de mise en cache des données - 16-08-2010
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

