fonction explode suite

Eléphant du PHP | 109 Messages

13 déc. 2011, 16:44

re bonjour
vu que j'ai eu une réponse rapide et efficace je tente ma chance sur un autre probleme avec explode
voilà j'ai 2 tables
une table Equipement avec un champs id_technique dans lequel sont enregistrées les id de fiches techniques (correspondant à une table Technique).
ces id sont inscrites sous la forme 2;3;4 (il peut y avoir de 0 à x fiches, c'est aléatoire)
il y a un ; qui séparent chaque id cela veut dire que par exemple pour l'enregistrement numero 1 il y a les fiches techniques 2,3 et 4 qui correspondent.
Je veux récuperer ces id séparement pour pouvoir lire les enregistrements de la table technique ou id=2, id=3 et id=4....
voilà ce que j'ai fait mais ca ne fonctionne pas car je n'arrive pas a afficher les differents fiches

Code : Tout sélectionner

// explode le resultat quand ya 2 numeros de fiches technique dans le champs séparés par une virgule $latech = $tab_fiche[$i]["id_technique"];// c la que sont stockées mes id_technique $retour = explode(';', $latech); foreach( $retour as $value ) echo $value ; // donc là les id s'il y en a sont bien toutes retournées $tab_techn = lire_tech($value[$i]);//la fonction c'est lire SELECT * FROM techniques WHERE id = $id_tech $nb_techn = count($tab_techn); for($i=0; $i<$nb_techn; $i++){ echo '<a href="techniques.php?id=2">'.$tab_techn[$i]["titre"].'</a>';//mais là ya que la premiere qui est noté }
Merci
Nadege

ViPHP
xTG
ViPHP | 7331 Messages

13 déc. 2011, 17:11

Il faut des { aussi pour le premier foreach sinon il ne s'exécute que sur la ligne suivante et non sur le bloc.

Eléphant du PHP | 109 Messages

13 déc. 2011, 17:40

suis pas sure d'avoir compris j'ai fait et ca ne fonctionne pas

Code : Tout sélectionner

$latech = $tab_fiche[$i]["id_technique"]; $retour = explode(';', $latech); foreach( $retour as $value ){ ; $tab_techn = lire_tech($value[$i]); $nb_techn = count($tab_techn); for($i=0; $i<$nb_techn; $i++){ echo '<a href="techniques.php?id=2">'.$tab_techn[$i]["id"].'</a>'; } } }
mais est ce que le $value est approprié??

ViPHP
xTG
ViPHP | 7331 Messages

13 déc. 2011, 18:49

Non, c'est $value qu'il faut utiliser.
Un foreach s'utilise de la sorte (mais peut être raccourci comme tu le fais) :
foreach($tab as $key => $value)
  echo $value . ' = ' . $tab[$key];