2015-07-08 2 views
1

В самом верху моего документа я создал переменную с именем $ selectedID, используя $ _GET, чтобы получить идентификатор выбранного пользователя (позже переведите его в зашифрованную строку) поэтому URL-адрес немного похож на этот profile.php? id = 4. Затем у меня есть функция, которая зацикливается на базе базы данных для всего сообщения в блоге с тем же номером, что и переменная $ selectedID, которая вводится в качестве второго параметра функции.Почему моя переменная не работает как параметр в PHP Funtion

Проблема заключается в том, что второй параметр в моей функции $ selectedId Предполагается, что он используется как число для фильтрации по циклу через мою базу данных, но похоже, что переменная неправильно вставлена ​​в мою функцию, поэтому цикл не работает должным образом

Это моя главная страница, показывающая информацию

<div id="blogFeed"> 
          <ul> 
          <!-- Exicute the fucntion from the functions.inc.php which grabs all the feed articles from the database --> 
          <?php 

           $_result = display_blogs_profile($connect, $selectedId); 
           // Count how many rows are in the database 
           $limit = count($_result); 

           // Loop through all the articles(rows) from the database 
           for($i = 0; $i < $limit; $i++){ 
            // Define varibles for each column 
            $id   = $_result[$i][6]; 
            $title  = $_result[$i][0]; 
            $date  = $_result[$i][1]; 
            $article = $_result[$i][2]; 
            $photo  = $_result[$i][3]; 
            $icon  = $_result[$i][4]; 
            $author  = $_result[$i][5]; 
            $findAuthor = $_result[$i][7]; 
            $feedRadius = "50px"; 
            $iconPhoto = "newsRed.png"; 
            $photo  = $_result[$i][3]; 
            $feedRadius = "0px"; 
            $contentLink = "Read More"; 
            $realignIcon = 'margin-right: -195px;'; 


           // Only show the first 10 articles the stop building the html 
           if((string)$employeeID != $findAuthor){ 
            continue; 
           }else{ 
          ?> 
           <li> 
            <div class="eventBoxImage" style="background: url('images/<?php echo $photo ?>'); background-size: cover; background-position: center; border-radius: 50px"></div> 
            <div class="eventContentContainer"> 
             <h1><?php echo $title; ?></h1> 
             <h4>Posted By: <?php echo $author; ?></h4> 
             <h5><?php echo $date ?></h5> 
             <p><?php echo $article ?></p> 
             <h6><a href="blog.php?id=<?php echo $id; ?>"><?php echo $contentLink ?></a></h6> 
             <span style="background: url('images/<?php echo $iconPhoto ?>') no-repeat; <?php echo $realignIcon; ?> background-size: 45px;"><a href="#"></a></span> 
            </div> 
           </li> 
          <?php }}?> <!-- Close php loop --> 
          </ul> 
         </div> 
         <div id="blogPostContainer"> 
          <h1 class="blog">Create Blog Post</h1> 
          <form class="blog" action="includes/insert.php" method="post"> 
           <input name="blogTitle" type="text" placeholder="Enter The Blog Title" required/> 
           <input name="blogArticle" type="textbox" placeholder="Enter Your Blog Post" required/> 
           <input name="blogSubmit" type="submit" value="Submit" /> 
          </form> 
         </div> 
         <div id="profileSearch"> 
          <div id="searchBar"> 
           <form id="search" action="index.php" method="POST"> 
            <div id="searchIcon"></div> 
            <input type="search" name="search" placeholder="Search Through <?php echo $firstName ?>'s Posts" onkeyup="searchQ();" /> 
            <input type="hidden" name="editId" id="editId" value="<?php echo $employeeID ?>" /> 
            <div id="userResults"> 

            </div> 
           </form> 
          </div> 
         </div> 
        </div> 

А вот функция

function display_blogs_profile($connect, $selectId) 
      { 

       $sql = "SELECT * FROM intranet"; 
       $query = mysqli_query($connect, $sql); 
       $finalArray = array(); 
       $i = 0; 

       while ($row = mysqli_fetch_assoc($query)) { 
        $id = $selectId; 
        $title = $row['title']; 
        $date = $row['date']; 
        $article = $row['article']; 
        $photo = $row['photo']; 
        $icon = $row['icon']; 
        $authorID = $row['findAuthor']; 
        $author = $row['author']; 
        if($row['icon'] === "3" && $authorID === $selectId){ 
         $finalArray[$i] = array($title, $date, $article, $photo, $icon, $author, $id, $authorID); 
        } 
        $i++; 
       } 
        $finalArrayDesc = array_reverse($finalArray); 
        return $finalArrayDesc; 
      } 
+2

Что вы хотите сказать? – user2182349

+3

не работает ** КАК **? –

+0

Вы подтвердили, что '$ selectID' передается в функцию с помощью даже' echo'? –

ответ

0

Это верно

«кажется, что переменная не правильно вставлена»

Это потому, что он никогда не был установлен. Попробуйте это:

$selectedID = $_GET['id']; 

сразу после проверки if(isset($_GET['id'])) так

if(isset($_GET['id'])){ 
    $selectedID = $_GET['id']; 
    .... 
0

Понял! Спасибо за помощь! Оператор if Get и оператор if employeeID! = $ FindAuthor будут прерывать или продолжать цикл независимо от того, что только на моей собственной учетной записи. Мне просто нужно было выписать $ employeeID! = $ FindAuthor out :)

Смежные вопросы