Une question simple, pour une réponse compliquée

Petit nouveau ! | 7 Messages

02 mai 2012, 17:47

Bonjour à la communauté !

Je ne suis pas les plus doués en PHP, mais j'ai besoin de votre aide.

Voici mon bout de code
			
<?php echo "<b>".@$strtitle."</b>"; 
			if (isset($this->fDisplay[6]))
			{	
				foreach($this->fDisplay[6] as $field)
				{
					echo $this->field->showFieldValue($this->content,$field);
				}
			} ?>
Dans mon echo finale, j'aimerais que la première valeur soit en gras, et que la deuxième soit en normal.
Si je me fais mal comprendre, j'ai essayé comme ça :
			<?php echo "<b>".@$strtitle."</b>"; 
			if (isset($this->fDisplay[6]))
			{	
				foreach($this->fDisplay[6] as $field)
				{
					echo "<b>".@$this->field->showFieldValue."</b>".($this->content,$field);
				}
			} ?>
Cette syntaxe ne fonctionne pas, et je n'en trouve pas une de correcte ... merci d'avance à la communauté !

ViPHP
xTG
ViPHP | 7331 Messages

02 mai 2012, 18:09

C'est une fonction qui retourne une chaîne de caractères, donc on casse pas le nom d'une fonction comme ça. ;)
Il y a un séparateur entre tes deux éléments ? Genre deux points ou un égal ?

Torrixx
Invité n'ayant pas de compte PHPfrance

03 mai 2012, 09:08

Oui, si il devait être écrit exemple salut, ce serait :

Exemple: salut

Comme vous l'avez compris, je souhaite obtenir

Exemple: salut


Encore merci de votre aide !

ViPHP
xTG
ViPHP | 7331 Messages

03 mai 2012, 12:00

Regardes du côté de explode dans ce cas. ;)
$chaine = 'Exemple : Salut !';
$chaine_explode = explode(':',$chaine); // on explose la chaine avec : comme séparateur
if( count($chaine_explode) >= 2 ){ // on vérifie qu'on obtient bien au moins deux éléments
  $chaine_explode[0] = '<b>' . $chaine_explode[0] . '</b>'; // on met en gras le premier
  $chaine = implode(':', $chaine_explode); // on recréé la chaine
}
echo $chaine:

Totorrix
Invité n'ayant pas de compte PHPfrance

03 mai 2012, 15:46

Oh pas bête, je ne savais pas que l'on pouvait la jouer comme ça ! je te tiens au courant, merci infiniment !

explodestrange
Invité n'ayant pas de compte PHPfrance

04 mai 2012, 11:40

Re bonjour, mes explodes sont étranges, et ça ne marche pas :( je déprime.
	//Get the active menu item
	$menu =& JSite::getMenu();
	$item =& $menu->getActive();
	
	$nbsegments = count($segments); 

	if (in_array(JText::_('ADSMANAGER_SEF_RESULT'),$segments))
	{
		$vars["view"] = "result";

	}
	else if (in_array(JText::_('ADSMANAGER_SEF_SEARCH'),$segments))
	{
		$vars["view"] = "search";
		$catid = explode(':' , $segments[0] );
	    $vars['catid'] = (int) $catid[0];
	    $vars['task'] = "display";

	}

	else if (in_array(JText::_('ADSMANAGER_SEF_EDIT'),$segments))
	{
		$vars["view"] = "edit";
		$catid = explode(':', $segments[0] );
	    $vars['catid'] = (int) $catid[0];
	    $id = explode(':', $segments[1] );
	    $vars['id'] = (int) $id[0];
	    $vars['task'] = "write";

	}
	else if (in_array(JText::_('ADSMANAGER_SEF_WRITE'),$segments))
	{
		$vars["view"] = "edit";
	    $vars['task'] = "write";
	    $catid = explode(':', $segments[0] );
	    $vars['catid'] = (int) $catid[0];

	}
	else if (in_array(JText::_('ADSMANAGER_SEF_DELETE'),$segments))
	{
		$vars["view"] = "edit";
		$catid = explode(':', $segments[0] );
	    $vars['catid'] = (int) $catid[0];
	    $id = explode(':', $segments[1] );
	    $vars['id'] = (int) $id[0];
	    $vars['task'] = "delete";

	}
	else if (in_array(JText::_('ADSMANAGER_SEF_EXPIRATION'),$segments))
	{
		$vars["view"] = "expiration";
	    $id = explode( ':', $segments[0] );
	    $vars['id'] = (int) $id[0];
	    $vars['task'] = "display";

		
	}
	else if (in_array(JText::_('ADSMANAGER_SEF_RULES'),$segments))
	{
		$vars["view"] = "rules";

	}
	else if (in_array(JText::_('ADSMANAGER_SEF_PROFILE'),$segments))
	{
		$vars["view"] = "profile";

	}
	else if (in_array(JText::_('ADSMANAGER_SEF_ALL_ADS'),$segments))
	{
		$vars["view"] = "list";		

	}
	else if (in_array(JText::_('ADSMANAGER_SEF_LOGIN'),$segments))
	{
		$vars["view"] = "login";

	}
	else if (in_array(JText::_('ADSMANAGER_SEF_CONTACT'),$segments))
	{
		$vars["view"] = "message";
		$catid = explode(':', $segments[0] );
	    $vars['catid'] = (int) $catid[0];
	    $id = explode(':', $segments[1] );
	    $vars['contentid'] = (int) $id[0];
	    $vars['task'] = "display";
		
	}
	else if (in_array(JText::_('ADSMANAGER_SEF_USER'),$segments))
	{
		$userid = explode( ':', $segments[1] );
		$vars['user'] = (int) $userid[0];
		$vars['task'] = "display";
		$vars['view'] = "list";

		
	}
	else
	{
		if ($nbsegments == 2)
		{
			$catid = explode( ':', $segments[0] );
		    $vars['catid'] = (int) $catid[0];
		    $id = explode( ':', $segments[1] );
		    $vars['id'] = (int) $id[0];
		    $vars["view"] = "details";

		}
		else
		{
			$catid = explode( ':', $segments[0] );
	    	$vars['catid'] = (int) $catid[0];
	    	$vars["view"] = "list";

		}
		$vars['task'] = "display";

	}

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

08 mai 2012, 16:36

Tes explodes n'ont rien d'étranges, et s'ils ne marchent pas, c'est parce qu'ils n'ont pas de jambes :p

Maintenant si tu nous dis ce que tu veux faire, ce que ça fait, ce que ça devrait faire (et les éventuels messages d'erreur que tu obtiens), on pourra plus facilement essayer de t'aider à le faire fonctionner ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...