Requete avec jointure et modification de l'affichage

Résolu
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010 - 24 févr. 2010 à 11:33
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010 - 24 févr. 2010 à 16:53
Amis CSiste, bonjour.

J'ai un soucis avec une requete qui contient une jointure. Mon soucis est que aucune donnée ne s'affiche, et dans mon tableau, j'ai maitenant 2 cellules "toute blanche".

J'ai une table chiffre et une table periode.

Voici ma requete de jointure :

<? $query = "SELECT * FROM chiffre,exercice WHERE chiffre.moisex=exercice.moisex AND experiode = '%$peri%'";
$result = mysql_query($query) or die ("Lecture des demandes impossible user

");
$nb_result = mysql_num_rows($result);
while($row = mysql_fetch_array($result))

{
$idex= $row['idex'];
$moisex= $row['moisex'];
$experiode= $row['experiode'];
$idch= $row['idch'];
$productionch= $row['productionch'];
$cach= $row['cach'];
$mbch= $row['mbch'];
$nbdossierch= $row['nbdossierch'];
}
?>

A noter que je fais passer la variable peri par la methode GET...

Voici mon tableau :

<? $query = \"SELECT * FROM chiffre,exercice WHERE chiffre.moisex=exercice.moisex AND experiode = '%$peri%'\";
$result = mysql_query($query) or die (\"Lecture des demandes impossible user

\");
$nb_result = mysql_num_rows($result);
while($row = mysql_fetch_array($result))

{
$idex= $row['idex'];
$moisex= $row['moisex'];
$experiode= $row['experiode'];
$idch= $row['idch'];
$productionch= $row['productionch'];
$cach= $row['cach'];
$mbch= $row['mbch'];
$nbdossierch= $row['nbdossierch'];
}
?>
Intitulé,
<?=$peri?>,
,
,

----

- Production,
<?=$productionch?>,
,
,

----

- Chiffre d'affaires,
<?=$cach?>,
,
,

----

- Marge brute,
,
,
,

----

- Nombre de dossier,
,
,
,

----

- Taux marge brute


Aurais-je fais une erreur ?

Je vous remercie d'avance de votre aide

7 réponses

tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 4
24 févr. 2010 à 15:17
oui, car faut pas oublier le code :
<td class="contenutableau"> <?php echo '<<<'.$cach.'>>>'; ?> </td>

$cach doit être vide.

cellspacing="0" : mets plutôt 1 ou 2 et tu retrouveras tes bordures

thip
3
tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 4
24 févr. 2010 à 13:34
Bonjour,

Décris mieux l'erreur que tu constates stp.

Sinon, je vois :
1) experiode '%...' ce ne serait pas like au lieu de ?
2) while ( mysql_fetch_array() ) {...} tu n'as que le dernier enregistrement si tu ne mets pas l'affichage dans le bloc
3) simple remarque, "select *" n'est pas terrible, on préfère souvent la liste des champs utilisés.


thip
0
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010
24 févr. 2010 à 13:49
ok, merci de ta réponse.
pour le point n°1, effectivement, erreur d'etourderie, j'avais écris LIKE dans mon cahier ou je prépare les requetes...

2)je cherche au moins à tester l'affichage pour le moment, voir s'il peut m'afficher un enregistrement...

3° oui je sais que c'est pas terrible, mais c'est comme pour le 2...

En fait, il y a 2 choses que je ne comprends pas... Pourquoi dans mon tableau les bordures des cellules qui contiennent <?=$productionch?> et <?=$cach?> ne s'affichent plus, et pourquoi aucune donnée n'apparait.

En tout cas, merci pour tes pistes
0
tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 4
24 févr. 2010 à 14:11
Je ne vois pas. Peut-être dans la définition de contenutableau.

Pour le contenu, mets des caractères autour pour voir le résultat (afficher par exemple "<<<".$var.">>>") et essayer de mettre en évidence le problème.

thip
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010
24 févr. 2010 à 14:29
ok, voici le contenu de contenu tableau :

.contenutableau {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color:#336699;
font-weight:900;
}

Voici mon tr :
<tr>
<td>- Chiffre d'affaires</td>
<td class="contenutableau">"<<<".$cach.">>>") </td>
<td> </td>
<td> </td>
</tr>

maintenant en affichage, j'ai recuperé mes bordures dans la td cach.
Par contre, le contenu de la cellule est "<<<".$cach.">>>".

merci
0
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010
24 févr. 2010 à 16:52
Merci beaucoup d'avoir pris ton temps avec moi...

En fait pas la tete s'il vous plait... Depuis ce matin, j'essayais de faire passer une variable qui se nomnait 1T2010... Alors que dans ma base il s'appelait 1T1S2010...

Encore une fois, je m'excuse de vous avoir fait perdre votre temps....
0
cs_christuckers Messages postés 75 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 26 mars 2010
24 févr. 2010 à 16:53
Et pour info, voici ma requete finale...

<? $query = "SELECT * FROM chiffre,exercice WHERE chiffre.moisex=exercice.moisex AND experiode = '$peri' ";

$result = mysql_query($query) or die ("Lecture des demandes impossible jointure

");
$nb_result = mysql_num_rows($result);
while($row = mysql_fetch_array($result))
{ $productionch= $row['productionch'];
$cach= $row['cach'];
$mbch= $row['mbch'];
$nbdossierch= $row['nbdossierch'];
$moisex= $row['moisex'];
} ?>
0