8791 sujets

Développement web côté serveur, CMS

Bonjour,

Voila mon probleme. J'ai le code ci-dessous qui me permet de recuperer la valeur de $tablo[] dans un array.
Visuellement cela donne cela :

Array (
[0] => Array ( [0] => 501 )
[1] => Array ( [0] => 311 )
[2] => Array ( [0] => 312 )
[3] => Array ( [0] => 114 )
[4] => Array ( [0] => 300 )
=>)

Dans le bas du code ce que je desire tester avec mon in_array c'est la valeur du tableau dans le tableau en gros je veux savoir si par exemple :
if (in_array("312",$tablo))
{echo "$res1['pnj_base_ref']</br>";}

Merci de votre aide .....


 
<?php
// 1.2 - LISTE LES RESULTATS ENREGISTRES EN FONCTION DE l'ID DE LA BASE
// VOIR LES RESULTATS ENREGISTRES
$resultat = "SELECT pnj_base_ref,pnj_base_titre,pnj_base_date,pnj_base_cat FROM pnj_base ORDER BY pnj_base_date"; 
$res = mysql_query($resultat); 
$tablo = array();
while ($res1 = mysql_fetch_array($res))
{
// DESERIALIZATION DES N° DE CATEGORIE ET INTEGRATION SOUS FORME DE TABLEAU
$tablo[] = unserialize($res1['pnj_base_cat']);
}
print_r($tablo);                
 
// 1.1 - LISTE DES THEMES EN PARTANT DE LA GAUCHE
// REQUETE
$r1 = mysql_query("SELECT pnjcat_ref,pnjcat_niveau,pnjcat_txt,pnjcat_droite,pnjcat_gauche FROM pnj_cat ORDER BY pnjcat_gauche");
// BOUCLE
while ($h1 = mysql_fetch_array($r1))
{
//AFFICHAGE RESULTAT
{echo '<strong>'.$h1[2].'</strong>'.' (id:'.$h1[0].')'.' - '.$h1[4].'/'.$h1[3].'</br>';}
 
// LISTE LES RESULTATS DES DONNEES
if (in_array($h1[0],$tablo))
{echo '<span class="texte_base_admin">'."&nbsp;&nbsp;".$res1['pnj_base_titre']."</span></br>";}
}
?>
 
Salut,

a priori, tu vas être obligé de parcourir le tableau pour aller vérifier les valeurs :
<?php foreach ($tablo as $line) {
  if (in_array($line, 312)) echo $res;
} ?>
Si le tableau que tu donnes en exemple représente la structure réelle du tableau, tu as probablement intérêt à le reformatter avant de faire ta boucle while :
$nv_tablo = array();
foreach ($tablo as $key => $value) {
  $nv_tablo[$key] = $value[0];
}
Tu pourras ainsi utiliser directement in_array() sur $_nv_tablo ...
Salut,
Grâce à ton aide j'y suis presuqe. Juste en bas de mon code je n'arrive pas à recuperer le echo $res1['pnj_base_titre']; dans ma dernière ligne d'affichage de ma première boucle en fonction du n° d'array trouvé.

Si tu as une idée je suis preneur. Je remet le code corrigé.

Merciiiiiiiiiiiiiiiiiiiiiiii


          <?php


// 1.2 - LISTE LES RESULTATS ENREGISTRES EN FONCTION DE l'ID DE LA BASE
		
		// VOIR LES RESULTATS ENREGISTRES
		$resultat = "SELECT pnj_base_ref,pnj_base_titre,pnj_base_date,pnj_base_cat FROM pnj_base ORDER BY pnj_base_date"; 
		$res = mysql_query($resultat); 
		//for($i=0;$i<$max; $i++)
		$tablo[] = array();
		$nv_tablo = array();
		while ($res1 = mysql_fetch_array($res))
		{
		// DESERIALIZATION DES N° DE CATEGORIE ET INTEGRATION SOUS FORME DE TABLEAU
		$tablo[] = unserialize($res1['pnj_base_cat']);
		foreach ($tablo as $key => $value){$nv_tablo[$key] = $value[0];}
		}
		print_r($nv_tablo);		

// 1.1 - LISTE DES THEMES EN PARTANT DE LA GAUCHE



// REQUETE
	$r1 = mysql_query("SELECT pnjcat_ref,pnjcat_niveau,pnjcat_txt,pnjcat_droite,pnjcat_gauche FROM pnj_cat ORDER BY pnjcat_gauche");
// BOUCLE
	while ($h1 = mysql_fetch_array($r1))
		{
		//PERMET DE RAJOUTER DES ESPACES POUR L'ARBORESCENCE
		$f11=3*$h1[1];
		$g11=5*$h1[1];
		$h11=8*$h1[1];
		$i11=10*$h1[1];
		if ($h1[1]==1){$e11="";}
		elseif ($h1[1]==2){$e11=str_repeat(" ", $g11);}
		elseif ($h1[1]==3){$e11=str_repeat(" ", $h11);}
		elseif ($h1[1]==4){$e11=str_repeat(" ", $i11);}
		else {$e11=str_repeat(" ", $f11);}


		//AFFICHAGE RESULTAT
//		echo $e11.$h1[1].'. '.$h1[2].' (id:'.$h1[0].')'.$res1['catresult_txt'].'</br>';
		if ($h1[1]==1)
		{echo '<br><br><span class="titre_admin_moyen">'.$e11.$h1[1].'.'.$h1[2].' (id:'.$h1[0].')'.'</span> - '.$h1[4].'/'.$h1[3].'</br>';}
		elseif ($h1[1]==2)
		{echo '<br><span class="Titre_Beige">'.$e11.$h1[1].'.'.$h1[2].' (id:'.$h1[0].')'.'</span> - '.$h1[4].'/'.$h1[3].'</br>';}
		elseif ($h1[1]==3)
		{echo '<span class="texte01">'.$e11.$h1[1].'.'.$h1[2].' (id:'.$h1[0].')'.'</span> - '.$h1[4].'/'.$h1[3].'</br>';}
		elseif ($h1[1]==4)
		{echo '<span class="texte02">'.$e11.$h1[1].'.'.$h1[2].' (id:'.$h1[0].')'.'</span> - '.$h1[4].'/'.$h1[3].'</br>';}
		else
		{echo $e11.$h1[1].'.'.'<strong>'.$h1[2].'</strong>'.' (id:'.$h1[0].')'.' - '.$h1[4].'/'.$h1[3].'</br>';}

		// LISTE LES RESULTATS DES DONNEES
		if (in_array($h1[0],$nv_tablo))
		{
		echo '<span class="texte_base_admin">'.$e11."  ".$res1['pnj_base_titre']."</span></br>";
		}		
	}
?>