Page 1 sur 1

affichage d'une requette ?

Posté : 18 oct. 2006, 17:26
par artotal
Bonjour,
je cherche à afficher un résultat en boucle en fonction de deux tables, mais sans jointure, puisque je boucle :
l'ennui c'est que sa ne fonctionne pas complètement, puisque j'ai tout les résultat de la première requete "$query" au lieu d'avoir "que" les résultats qui existe dans la table article et corresponde au contenu de pages
le résultat est visible ici dans le menu "Afficher les rubriques"
http://creatif-web.be/assoc/contact_nous.php
	 			<?php 
$query = "SELECT * FROM pages order by page";
  $result = mysql_query($query, $lien);

  for ($i=0; $i < mysql_num_rows($result); $i++)
  {
	$ok = mysql_fetch_array($result);
	$que = "SELECT * FROM article order by where page=$result";
	$resultat =mysql_query($que, $lien) or mysql_error();
	echo '<li class="anim" name="'.$ok[0].'">
<h6><br /><a href="dossier.php?page='.$ok[0].'">
<img src="./img/mnu_folder.gif" alt="dossier" width="19" height="16" />['.$ok[0].']</a></li></h6>';
  }
?>
Merci

Posté : 18 oct. 2006, 17:31
par Ajoloca
Bonjour,

Ici

Code : Tout sélectionner

$que = "SELECT * FROM article order by where page=$result";
ça devrait être

Code : Tout sélectionner

$que = "SELECT * FROM article where page=$ok[de_qq_chose] order by autre_chose";

Posté : 18 oct. 2006, 17:35
par artotal
$result correspond à une requete, penses-tu qu'on ne peux pas mettre une requete dans une requete ¿?

Posté : 18 oct. 2006, 17:37
par Ajoloca
Re,
pas de cette manière.

Soit tu fais une jointure, soit une requête imbriquée

Posté : 18 oct. 2006, 17:39
par Ryle
Tu pourrais mettre une sous-requête effectivement, mais $result n'en est absolument pas une, il s'agit d'une Ressource, résultat de l'exécution de la requête précédente :)

Affiche tes requêtes sql avant de les exécuter quand tu debug, tu verras très rapidement que la chaine SQL obtenue tel quel, n'a pas grand chose à voir avec ce dont tu as besoin :)

Posté : 18 oct. 2006, 17:41
par artotal
Aurrai tu un exemple d'imbrication ?
Merci

Posté : 18 oct. 2006, 17:47
par Ajoloca

Code : Tout sélectionner

SELECT * FROM une_table WHERE id_une_table IN (SELECT id FROM autre_table WHERE id = une_valeur ORDER BY ...)

Posté : 18 oct. 2006, 23:06
par artotal
excellent merci, comme quoi j'ai encore beaucoups à faire si je veux comprendre