Php: Requête sur plusieurs tables

Résolu/Fermé
khalidbelhaj Messages postés 4 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 8 juin 2010 - Modifié par khalidbelhaj le 8/06/2010 à 13:51
khalidbelhaj Messages postés 4 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 8 juin 2010 - 8 juin 2010 à 18:20
Bonjour,



Veuillez m'aider à résoudre ce problème SVP:

Voilà, j'exécute une requête sur plusieurs tables et j'affiche le résultat dans un tableau formaté.
Avec une seule table tout va bien
Mais avec plusieurs champs et plusieurs tables j'ai les messages d'erreur du genre :
Notice: Undefined index: type_exp_dest_name

Voilà l'extrair du code source (merci...)

<?php

// la requete : 
$Req =  "SELECT courrier_depart.id, courrier_depart.is_rep, courrier_depart.date_envoie, courrier_depart.number, ". 
  " type_exp_dest.name as type_exp_dest_name, nature_courrier.name as nature_courrier_name, ". 
  " type_courrier.name as type_courrier_name, mode_courrier.name as mode_courrier_name, ". 
  " destination_arrive.name as destination_arrive_name ". 
  " FROM courrier_depart, type_exp_dest, mode_courrier, nature_courrier, type_courrier, destination_arrive ". 
  " WHERE courrier_depart.type_exp_dest_id = type_exp_dest.id ". 
  " AND courrier_depart.mode_courrier_id = mode_courrier.id ". 
  " AND courrier_depart.nature_courrier_id = nature_courrier.id ". 
  " AND courrier_depart.type_courrier_id = type_courrier.id ". 
  " AND courrier_depart.destination_arrive_id = destination_arrive.id ". 
  " Order By  courrier_depart.id Desc "; 

$result = requete_SQL($Req); 
$nb_total = mysql_num_rows($result); 

$strSQL = ("SELECT * FROM ".$tablename." LIMIT ".$_GET['d'].",".$_GET['l']." "); 
$result = requete_SQL($strSQL); 
$nbRec = mysql_num_rows($result); 
if($nbRec) { echo '<table width="1120" border="1" align="center" cellpadding="0" cellspacing="0">'; } 
// $Clr1b="#FFFFFF";   
// $Clr2b="#EEEEFF"; 
$Clr1b="#dfdfdf";   
$Clr2b="#ebebeb"; 
$Clr="";   
$i=1;  
if($nbRec) 
{  
 // 1ère ligne 
 echo '<tr>'; 
 echo '<td width="*" height="24" align="center" valign="middle" bgcolor="#BDBDFF" ><B>Date d\'envoie</B></td>'; 
 echo '<td width="*"  align="center" valign="middle" bgcolor="#BDBDFF"v class="b02"><B>N° d\'ordre</B></td>'; 
 echo '<td width="*" height="24" align="center" valign="middle" bgcolor="#BDBDFF" ><B>Destination</B></td>'; 
 echo '<td width="*"  align="center" valign="middle" bgcolor="#BDBDFF"v class="b02"><B>Nature courrier</B></td>'; 
 echo '<td width="*" height="24" align="center" valign="middle" bgcolor="#BDBDFF" ><B>Type courrier</B></td>'; 
 echo '<td width="*"  align="center" valign="middle" bgcolor="#BDBDFF"v class="b02"><B>Mode de départ</B></td>'; 
 echo '<td width="*" height="24" align="center" valign="middle" bgcolor="#BDBDFF" ><B>Expéditeur</B></td>'; 
 echo '<td colspan="2" width="60"  align="center" valign="middle" bgcolor="#BDBDFF" class="b02"><B>Actions</B></td>'; 
 echo '</tr>'; 
 while($Rst = mysql_fetch_array($result)) 
 {$i*=-1; 
   if ($i==1) {$Clr=$Clr1b;} else {$Clr=$Clr2b;} 
  echo '<tr>'; 
  echo '<td width="*" height="24" align="center" valign="middle" bgcolor="'.$Clr.'" class="b02">'; 
  echo date("d/m/Y", strtotime($Rst['date_envoie'])).'</td>'; 
  echo '<td width="80"  align="center" valign="middle" bgcolor="'.$Clr.'" class="b02">'; 
  echo $Rst['number'].'</td>'; 
  echo '<td width="80"  align="center" valign="middle" bgcolor="'.$Clr.'" class="b02">'; 
  echo $Rst['type_exp_dest_name'].'</td>'; 
  echo '<td width="80"  align="center" valign="middle" bgcolor="'.$Clr.'" class="b02">'; 
  echo $Rst['nature_courrier_name'].'</td>'; 
  echo '<td width="80"  align="center" valign="middle" bgcolor="'.$Clr.'" class="b02">'; 
  echo $Rst['type_courrier_name'].'</td>'; 
  echo '<td width="80"  align="center" valign="middle" bgcolor="'.$Clr.'" class="b02">'; 
  echo $Rst['mode_courrier_name'].'</td>'; 
  echo '<td width="80"  align="center" valign="middle" bgcolor="'.$Clr.'" class="b02">'; 
  echo $Rst['destination_arrive_name'].'</td>'; 
  echo '<td width="30"  align="center" valign="middle" bgcolor="'.$Clr.'" class="b02">'; 
  echo '<a href="index.php?mn='.$mn.'&sm='.$sm.'&mj=m&idrec='.$Rst->id.'">'; 
  echo '<img border=0 src="images/b_edit.png" alt="Supprimer" width="16" height="16" /></a></td>'; 
  echo '<td width="30"  align="center" valign="middle" bgcolor="'.$Clr.'" class="b02">'; 
  echo '<a onclick="if (confirm(\'Etes-vous sûr de vouloir supprimer?\')) {f=document.createElement(\'form\');'; 
  echo ' document.body.appendChild(f); f.method = \'POST\'; f.action = this.href; f.submit();} return false'; 
  echo ' " href="index.php?mn='.$mn.'&sm='.$sm.'&mj=s&idrec='.$Rst->id.'">'; 
  echo '<img border=0 src="images/b_drop.png" alt="Supprimer" width="16" height="16" /></a></td>'; 
  echo '</tr>'; 
 } 
echo '</table>'; 
} 
?>
A voir également:

2 réponses

ChrisCompote Messages postés 73 Date d'inscription mardi 8 juin 2010 Statut Membre Dernière intervention 19 juin 2010 8
8 juin 2010 à 17:54
Ta variable $result est écrasée

$result = requete_SQL($Req); 
$nb_total = mysql_num_rows($result); 

$strSQL = ("SELECT * FROM ".$tablename." LIMIT ".$_GET['d'].",".$_GET['l']." "); 
$result = requete_SQL($strSQL); 


1
khalidbelhaj Messages postés 4 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 8 juin 2010
8 juin 2010 à 18:20
Oui en effet, j'ai pas fait attention... Merci!


J'ai remplacé :

$strSQL = ("SELECT * FROM ".$tablename." LIMIT ".$_GET['d'].",".$_GET['l']." "); 


par

$strSQL = ($Req." LIMIT ".$_GET['d'].",".$_GET['l']." "); 
0