Page 1 sur 1

Fonction menu

Posté : 10 juin 2006, 11:34
par Amistrad
Bonjour,
un bout de code avant ma question

page appellant la fonction
<?php
require ("menu.php");

$db = new MySQL (NAME, PASS, BASE, SERVER);
menu($db, right);

?>
Fonction:
<?php
require ("require.php");

function menu($db, $type){

if($type == right){
$request = $db->execRequest("SELECT * FROM menu_links WHERE title='Welfare Links'");
// pourquoi si je declare ma variable :$e=$result->title; et que je met $e en tant que condition de mon while in ne s'affiche pas?

echo "<ul>\n";
// objectNext c'est un fetch_object
while ($result = $db->objectNext($request)){
echo "<li><a href=\"$result->description\">$result->right</a></li>\n";
}
echo "</ul>";
}
else
echo "lolo";
}

?>

Donc la question:

Je voudrai faire une fonction ou des fonctions Menu, alors ca c'est la premiere question:
Vaut il mieu faire une fonction avec des if (Right){}, elseif (top){}elseif... ou une fonction de chaque right(), top()...ect...?

la deuxieme:
Comment on fait???????????? Je n'arrive pas a mettre mon objet dans une variable object en fonction de ce que renvoi la requete sql en fonction de la fonction comme ci dessous:
if($type == right){
$request = $db->execRequest("SELECT * FROM menu_links WHERE title='Welfare Links'");
// pourquoi si je declare ma variable :$e=$result->title; et que je met $e en tant que condition de mon while in ne s'affiche pas?
$link = $result->description;
$content = $result->right;
}
elseif($type == top){
$request = blabla;
$link = machin;
$content = bidule;
}
echo "<ul>\n";
while ($result = $db->objectNext($request)){
echo "<li><a href=\"$link\">$content</a></li>\n";

Voila merci

Posté : 12 juin 2006, 17:09
par goeb
salut,
Vaut il mieu faire une fonction avec des if (Right){}, elseif (top){}elseif... ou une fonction de chaque right(), top()...ect...?
réponse : c'est kif-kif.
echo "<li><a href=\"$result->description\">$result->right</a></li>\n";
je pense que tu devrais sortir $result->description et right des guillemets, comme ceci :
echo "<li><a href=\"". $result->description. "\">". $result->right ."</a></li>\n";

Posté : 16 juin 2006, 21:49
par Amistrad
Merci beaucoup goeb ca m'a bien servi.

Voila j'ai un tit probleme encore et je m'en sort pas..

j'essaie de faire une fonction faq dont les données sont sur la bdd.

La fonction mlist va servir a d'autres fonctions, mon probleme c'est que je n'arrive pas a trouver le moyen d'afficher dans ma fonction faq "$result->content" la variable du fetch_object reste dans la fonction mlist et si je la refait depuis ma faq rien ne s'affiche...
function faq($db, $page){
	$query = $db->query("SELECT id, title, content, category FROM news WHERE category = 'faq' ORDER BY id ASC");
	mlist ($db, $query, category, title);
	}	

function mlist ($db, $query, $link, $content){
	echo "<ul>\n";
	while ($result = $db->fetch_object($query)){
	echo "<li><a href=\"";
		if (eregi ("^(http://)", $result->$link)){
		echo $result->$link;
		}
		else { 
		echo "home.php?page=".$result->$link."&id=".$result->id."";
		}
	echo "\">".$result->$content."</a></li>\n";	
	}
	echo "</ul>";
	}
je c pas si c'est clair, la j'ai les titres de chaques questions et je veux que la reponse s'affiche (n'importe ou car je la mettrai dans un div) quand je clique sur le lien (en faisant un signet, j'ai rien trouver de mieu).

si quelqun a une idee, merci.

edit: si au passage vous avez une solution pour mettre moin de echo et faire un truc plus clean je suis prenneur.

Posté : 20 juin 2006, 13:12
par goeb
mlist ($db, $query, category, title); 
c'est quoi "category" et "title" ?
des constantes ?

et elle n'ont pas l'air utilisées dans la fonction mlist. est-ce normal ?