url ve sorgu veritabanı php kırıntıları

0 Cevap php

Ben ne gerek için çalışan bir php fonksiyonu var ama şimdi ben başarısız için şans olduğunu tespit ettik. Ben URL'leri yeniden yazmak için yeniden mod kullanın ve bu fonksiyon çalışması için yeniden yazılması için adresler gerekiyor. Onlar aynı olmasa bile ben aynı olarak yeniden yazıldı 2 sayfa varsa, başarısız olabilir.

Işlevi url okur ve ayırıcı olarak / kullanarak parçaya böler.

Ne yapmam mümkün istiyorum url sözcüğü içinde 'forum' varsa ve kontrol etmektir bu sorguda aşağıdaki url parçaları kullanarak veritabanını sorgulamak eğer.

I http://www.mydomain.com/forum/1/2/6 i 1 ve 2 BoardID ve topicid olurdu benim sorgu için almak istiyorum gibi bir url var söylüyorlar. Son bit sayfa numarası olacaktır.

Bu normalde http://www.mydomain.com/topic.php?boardid=1&topicid=2&pagenum=6 gibi görünür ama işlevini kullanarak hiçbir / vardır becuase bölmek mümkün olmaz yeniden yazılmış url.

I yeterince kolay, sadece emin 'forum' emin olmak için url kontrol ediyor yapabilirsiniz sorgu daha sonra sorgu yapmak orada. Bu url değilse, o zaman normal olarak devam.

burada benim php kırıntıdaki için kod

function breadcrumb(
                    $home = 'Home', // Name of root link
                    $division = ' / ', // Divider between links
                    $hidextra = true, // Toggle hide/show get data and fragment in text
                    $index = false,  // Toggle show/hide link to directory if it does not contain a file
                    $indexname = 'index.php' // The definition of the file the directory must contain
        ) {

            $breadcrumb="";

            // Requested addons...
            $extension = '.php'; // Extension to cut off the end of the TEXT links
            $ifIndex = 'index.php'; // Filename of index/default/home files to not display
            // End requested addons

            $whole = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

            if(stristr($whole,"contact-bidder")) {
                $whole = substr($whole,0,strrpos($whole,'/'));
            }

            $parts = explode('/', $whole);
            $parts[0] = 'http://'.$parts[0];

            $array = array('-', '%20');

            $breadcrumb .=  "<a href=\"{$parts[0]}\">{$home}</a>{$division}";
            $k = 1;
            for ($i=1;$i < sizeof($parts);$i++) {
                $uri = '/';
                while ($k <= $i) {
                        $uri .= $parts[$k];
                        if ($k != (sizeof($parts)-1)) $uri .= '/';
                        $k++;
                 }
                  if (($index && is_dir($_SERVER['DOCUMENT_ROOT'].$uri) && is_file($_SERVER['DOCUMENT_ROOT'].$uri.$indexname) 
                || !$index 
                || !is_dir($_SERVER['DOCUMENT_ROOT'].$uri)) && $parts[$i] != $ifIndex) {
                    $breadcrumb .= "<a href=\"$uri\">";
                    if ($hidextra) {
                        $breadcrumb .= rtrim(preg_replace("/\?.*$/", '', ucwords(str_replace($array," ",$parts[$i]))), $extension);
                    }
                    else {
                        $breadcrumb .= rtrim(ucwords($parts[$i]), $extension);
                    }
                    $breadcrumb .= '</a>';
                }
                else {
                    $breadcrumb .= ucwords(str_replace($array," ",$parts[$i]));
                }

                  if (isset($parts[($i+1)])) {
                    $breadcrumb .= $division;
                }
                  $k = 1;
            }
            return $breadcrumb;
        }

Bu mümkün veya kolay değilse, ben bölünmüş bir yolu var mı? ve & ve yalnızca olsun önce nedir? ve url her değişken için sonra =

0 Cevap