Les conditions PHP if, elseif, else
Résolu
zippeur
Messages postés
210
Statut
Membre
-
zippeur Messages postés 210 Statut Membre -
zippeur Messages postés 210 Statut Membre -
Bonjour,
voila je voudrai afficher le lien comme suite
(http://site/index_Fr.php?pg=pages&id=2) si le lien est défini
sinon on affiche
(http://site/index.php) si le lien n'est pas défini
Voici le code :
--------------------
EDIT : Ajout des balises de code.
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
voila je voudrai afficher le lien comme suite
(http://site/index_Fr.php?pg=pages&id=2) si le lien est défini
sinon on affiche
(http://site/index.php) si le lien n'est pas défini
Voici le code :
--------------------
include('db.php');
doDB();
// Lancer : Construire haut niveau
$top_sql = "SELECT * FROM menu_top_level /* WHERE top_level_visible = 'Yes' */ ORDER BY
top_level_order ASC"; // Créer une requête de base de données
$top_res = mysqli_query($mysqli, $top_sql) or die(mysqli_error($mysqli)); // Vérifier la connexion et d'exécuter la requête
if ($top_res = mysqli_query($mysqli, $top_sql)) { // Si la requête contient les résultats ...
while ($row = mysqli_fetch_array($top_res)) {
// Boucle à travers chaque ligne donnée
$menu_block .= "<li><a href='$row[top_level_url]'>".$row[top_level_name]."</a>";
EDIT : Ajout des balises de code.
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
7 réponses
-
Bonjour,
1 - Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
2 - Ton souci se trouve donc au niveau de la ligne :$menu_block .= "<li><a href='$row[top_level_url]'>".$row[top_level_name]."</a>";
??
Si oui...
écrit avec des IF (de façon plus classique...)if( isset($row['top_level_url'])){ $URL =$row['top_level_url'] ; }else{ $URL ='http://site/index.php' ; } $menu_block .= "<li><a href='".$URL."'>".$row['top_level_name']."</a>";
Ce qui revient à faire (en écriture Ternaire) :$URL = isset($row['top_level_url']) ? $row['top_level_url'] : 'http://site/index.php' ; $menu_block .= "<li><a href='".$URL."'>".$row['top_level_name']."</a>";
Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane -
Oui exactement mon probable se trouve au niveau de cette ligne
mais se que je veux c'est pas exactement ça,
je 'explique:
quand je survole un lien qui mène a une page par rapport a (url = id ) de la page ça me donne ça (site/index.php?pg=pages&id=2)
quand le lien n'a aucun chemin le id url n'es pas acheminer je veux que ça me donne ça
(site/index.php#) -
avec ton code ça donne ça:
si le lien existe ça donne ça
http://site/2
se que je veux moi c'est
http://site/index.php?pg=pages&id=2
s'il est vide ça donne ça
http://site/index.php
if( isset($row['top_level_url'])){ $URL =$row['top_level_url'] ; }else{ $URL ='http://site/index.php' ; } $menu_block .= "<li><a href='".$URL."'>".$row['top_level_name']."</a>"; -
Donc.. tu veux.. si $row['top_level_url'] existe
récupérer la valeur qui se trouve après le dernier SLASH .. pour l'ajouter à l'URL :http://site/index.php?pg=pages&id=
Donc :
if( isset($row['top_level_url'])){ $urlTmp = "http://site/2"; $arrTmp = explode('/',$urlTmp); $id = $arrTmp[count($arrTmp)-1]; if($id){ $URL = "http://site/index.php?pg=pages&id=".$id; }else{ $URL ='http://site/index.php' ; } }else{ $URL ='http://site/index.php' ; } $menu_block .= "<li><a href='".$URL."'>".$row['top_level_name']."</a>";
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
opps un léger problème
le id de URL ne change pas!!
c'est du a
if( isset($row['top_level_url'])){
$urlTmp = "http://site/1";
----------------------------------
$urlTmp = "http://site/1"; 1=$id
$urlTmp = "[http://site/$row['top_level_url
en gros le id change mais sur mon site le id de page ne change pas il reste sur 1! ;( -
c'est bon j'ai trouvé
if( isset($row['top_level_url'])){ $urlTmp =($row['top_level_url']);