• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
لینک در php
#1
سلام دوستان
من این کد برای منو نوشتم اما لینکش کار نمیکنه
مشکلش کجاست

به چه صورت بایت بنویسم که وقتی کیلیک میکنم بره به صفحه مردنظر ؟؟؟

<div class="row">
<div class="col-lg-12">
<nav class="navbar navbar-default">
<div class="container-fluid">

<div class="navbar-header">
<button class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar2" aria-expanded="false">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<span class="navbar-brand">مهره ما</span>
</div>
<?php

function menu($level=0){
include './config.php';

$q1=mysql_query("select * from cats where parent_id='$level'");
while($row= mysql_fetch_array($q1)){
$name=$row['cats_name']; $id=$row['id'];



echo "<li class='dropdown'><a href='pag.php?post-pag-id=$id ' data-toggle='dropdown' class=' dropdown-toggle'>
".$name .'</a>' ;


$q2=mysql_query("select * from cats where parent_id='$id' ");
$count=mysql_num_rows($q2);
if($count>0)
{
echo '<ul class="dropdown-menu ">';
menu($id);
echo '</ul>';

}

echo '</li>' ;


}

}?>
<div class="collapse navbar-collapse" id="navbar2">

<ul class="nav navbar-nav ">
<?php menu(); ?>
</ul>

</nav>
</div>
</div>
  پاسخ
تشکر شده توسط :
#2
سلام

کدهاتون رو داخل بلوک کد قرار بدید تا قابل خوندن باشن.
همیشه برای یادگیری، موضوعاتی هست!

مجله دامین هاست

فرهاد حسن پور / بیرگیک

  پاسخ
تشکر شده توسط : ayoubsys
#3
(۱۳۹۶ دى ۲۶, ۰۲:۱۸ ب.ظ)farhadhp نوشته: سلام

کدهاتون رو داخل بلوک کد قرار بدید تا قابل خوندن باشن.

کد پی‌اچ‌پی:
<div class="row">
<
div class="col-lg-12">
<
nav class="navbar navbar-default">
<
div class="container-fluid">

<
div class="navbar-header">
<
button class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar2" aria-expanded="false">
<
span class="icon-bar"></span>
<
span class="icon-bar"></span>
<
span class="icon-bar"></span>
</
button>
<
span class="navbar-brand">مهره ما</span>
</
div>
<?
php

function menu($level=0){
include 
'./config.php';

$q1=mysql_query("select * from cats where parent_id='$level'");
while(
$rowmysql_fetch_array($q1)){
$name=$row['cats_name']; $id=$row['id'];



echo 
"<li class='dropdown'><a href='pag.php?post-pag-id=$id ' data-toggle='dropdown' class=' dropdown-toggle'>
"
.$name .'</a>' ;


$q2=mysql_query("select * from cats where parent_id='$id' ");
$count=mysql_num_rows($q2);
if(
$count>0)
{
echo 
'<ul class="dropdown-menu ">';
menu($id);
echo 
'</ul>';

}

echo 
'</li>' ;


}

}
?>
<div class="collapse navbar-collapse" id="navbar2">

<ul class="nav navbar-nav ">
<?php menu(); ?>
</ul>

</nav>
</div>
</div> 
  پاسخ
تشکر شده توسط :
#4
سلام
به نظر نمیاد کد مشکلی داشته باشه، احتمالا مشکلتون کلیک نشدن لینک اصلی dropdown menu است نه همه لینک‌ها، که مشکلتون با اضافه کردن کد زیر به استایل css حل میشه:
کد:
li.dropdown:hover ul.dropdown-menu {
    display: block;
}
اگه حل نشد data-toggle="dropdown" باید حذف بشه و data-hover="dropdown" به جاش قرار بگیره.
در مورد کد بالا چند تا توصیه می‌کنم:
  1. رعایت تو رفتگی‌ها به خواناتر شدن کد کمک زیادی می‌کنه.
  2. تابع include رو داخل تابع بالا قرار دادید، حداقل حتی اگه مجبور بودید include_once قرار می‌دادید.
  3. بهتر بود تابع رو داخل یه فایل دیگه تعریف می‌کردید و قبل از فراخوانی تابع اون فایل رو include می‌کردید.
  4. در بستن تگ‌هایی که باز کردید، توجه داشته باشید چون دو تگ div رو نبسته‌اید.
  5. از توابع mysql استفاده نکنید، به جاش از توابع mysqli استفاده کنید.
  6. هنگام استفاده از تک کوتیشن و دابل کوتیشن بیشتر دقت کنید.
این سه خط رو داخل فایل config.php تعویض کنید:
کد پی‌اچ‌پی:
$link mysqli_connect('localhost''root''''moshavere'); ';
                    mysqli_query($link, "SET NAME utf8");
                    mysqli_set_charset($link, '
utf8'); 
مثال زیر برای بهتر بازنویسی کد بالا:
کد پی‌اچ‌پی:
<div class="row">
    <
div class="col-lg-12">
        <
nav class="navbar navbar-default">
            <
div class="container-fluid">
                <
div class="navbar-header">
                    <
button class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar2" aria-expanded="false">
                        <
span class="icon-bar"></span>
                        <
span class="icon-bar"></span>
                        <
span class="icon-bar"></span>
                    </
button>
                    <
span class="navbar-brand">مهره ما</span>
                </
div>
                <?
php
                
require_once './config.php';
                function 
menu($level 0) {

                    
$result mysqli_query($link"SELECT parent.id AS pid, parent.the_name AS pname, parent.parent_id AS ppid, child.id AS cid, child.the_name AS cname, child.parent_id AS cpid FROM dcy_cities AS parent LEFT JOIN dcy_cities AS child ON child.parent_id = parent.id ORDER BY parent.id, child.id");

                    
$cats = array();$counter 0;
                    while (
$row mysqli_fetch_assoc($result)) {
                        if (
$row['ppid'] !== null) {
                            continue;
                        }
                        
$cats[$row['pid']]['name'] = $row['pname']; 
                        
$cats[$row['pid']][$row['cid']] = $row['cname']; 
                    }

                    foreach (
$cats as $pid => $category) {
                        echo 
'<li class="dropdown"><a href="pag.php?post-pag-id=' $pid '" data-toggle="dropdown" class="dropdown-toggle">' $category['name'] . '</a>' PHP_EOL;
                        unset(
$category['name']);
                        if (
count($category) > 1) {
                            echo 
'<ul class="dropdown-menu ">';
                            foreach (
$category as $cid => $subCategory) {        
                                if (
$cid === 'name') {
                                    continue;
                                }
                                echo 
'<li><a href="pag.php?post-pag-id=' $cid '">' $subCategory '</a>' PHP_EOL;
                            }
                            echo 
'</ul>';
                        }

                        echo 
'</li>' ;
                    }
                }
                
?>
                <div class="collapse navbar-collapse" id="navbar2">
                    <ol class="nav navbar-nav">
                    <?php menu(); ?>
                    </ol>
                </div>
            </div>
        </nav>
    </div>
</div> 
غایب
  پاسخ
تشکر شده توسط : nimayz


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان