selection avec jointure
bon bah allez à la barbare tant pis :
<?php
$sql1 = 'SELECT * FROM `cat_tbl` ';
$req1 = mysql_query($sql1) or die ("erreur req ".mysql_error());
while($tableau = mysql_fetch_array($req1)) {
$sql2 = 'SELECT * FROM `sscat_tbl` WHERE `catid` = ' . $tableau['catid'];
$req2 = mysql_query($sql2) or die ("erreur req ".mysql_error());
echo 'Categorie : ' . $tableau['Cat'] . '';
while($tableau2 = mysql_fetch_array($req2)) {
echo '<a href="Sous_Cat_Site.php?id='.$tableau2['id'].'">'.$tableau2['Sous_Cat'].'</a> | ';
}
}
?>
à arranger pour tes besoins.
zebdinou pour les intimes / Blog : http://www.zebden.fr
le 02/05/2005 à 16:14
mouna
zebden: un message pour toi et pour tout le monde:
je suis purement debutante et je voulais seulement savoir le principe de chaque code, ce ke t as fait est pas correct a 100% mais c etait le principe, bref ca m a donnee l idee de comment faire, merci a toi et a tout le monde:
<?
// settings
include ("config.php");
if(isset($_POST["Sous_Cat"])) $Sous_Cat = $_POST["Sous_Cat"];
else $Sous_Cat = "";
if(isset($_POST["Cat"])) $Cat = $_POST["Cat"];
else $Cat = "";
if(isset($_POST["catid"])) $catid = $_POST["catid"];
else $catid = "";
if(isset($_POST["Sous_Cat_id"])) $Sous_Cat_id = $_POST["Sous_Cat_id"];
else $Sous_Cat_id = "";
$connection = mysql_connect("$host", "$user", "$pass") or die(mysql_error());
$db = mysql_select_db($db_name, $connection) or die(mysql_error());
$sql = mysql_query ("select * from $table_name_gbook order by catid ASC") or die ("erreur req ".mysql_error());
//le <select> et </select> doit être créé hors de la boucle while, sinon tu en crées un par option.
?>
<table border="1" width="75%" align="center"><tr> <? //debut de notre tableau avec une nouvelle ligne ?>
<?php
$i = 0;
while( $sortie1 = mysql_fetch_array($sql))
{
$Cat = $sortie1['Cat'];
if ( ($i%3 )==0 && $i!=0){
//% est le reste d une division (5/2 %= 1 2*2-5)et le i doit etre differente de 0 $i!=0
//http://www.lephpfacile.com/forums/read_msg.php?f=1&id=3646
//http://www.tizag.com/phpT/operators.php
//http://www.w3schools.com/php/php_operators.asp
?>
</tr><tr> <? //fin de la premiere ligne et ajout d une nouvelle ligne ?>
<?php
}
echo "<td width=\"25%\"><a href=\"Sous_Cat.php?id=".$sortie1['catid']."\">".$Cat."<br/></a>"; //display des sous_cat avec lien de leurs id ds les cellules
//$sql1 = mysql_query ("SELECT * FROM cat_tbl AS c JOIN sous_cat_tbl AS sc ON c.catid = sc.catid ORDER BY sc.id") or die ("erreur req ".mysql_error()); // ASC est la valeur par défaut donc inutile
//$sql1 = mysql_query ("select * from $table_name1 WHERE catid ='1' order by id ASC") or die ("erreur req ".mysql_error()); //un limit de 4 sous_cat
$sql1 = mysql_query("SELECT * FROM sous_cat_tbl WHERE catid = ".$sortie1['catid']. " order by id DESC") or die ("erreur req ".mysql_error());
//http://sqlcourse2.com/joins.html
//http://www.phpfrance.com/forums/voir_sujet-2418-texte-jointure.php
//http://www.commentcamarche.net/sql/sqljoint.php3
while( $sortie2 = mysql_fetch_array($sql1))
{
$Sous_Cat = $sortie2['Sous_Cat'];
echo "<a href=\"Sous_Cat_Site.php?id=".$sortie2['id']."\">".$Sous_Cat."</a> | "; //display les liens des sous_cat avec un espace avec separateur
//echo "<td width=\"25%\"><a href=\"index.php&id=".$sortie['id']."\">".$Cat."<br/></a>";
}//fin de boucle
if (($Sous_Cat)>4); //si le nbre de sous_cat est > 4 on fait retour a la ligne et ecir More
echo "<br/><a href=\"Sous_Cat.php?id=".$sortie1['catid']."\">More</a>"; //display des sous_cate avec lien de leurs id ds les cellules
echo "</td>"; // on ferme notre cellule
$i++;
}//fin de boucle
?>
</table>
<?
//after verifying everything, must be inserted then redirected :)
mysql_close ();
?>
Euh zebden je sais pas ou tu as vu que le left join allait retourner qu'un enregistrement toi :o)
On m'aurait menti a l'insu de mon plein gré sur les jointures alors?
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: