2014-11-28 2 views
0

Извините, я не знал, как описать заголовок этой проблемы, которую я имею. :/Я нахожусь в создании CRUD-приложения, и я нахожусь на этапе обновления. Он прекрасно обновляет базу данных.Получение данных из таблицы db для заполнения ссылок

В процессе обновления информации в базе данных я создал ссылки для извлечения данных в таблице db. Я вызываю список по id (который автоматически увеличивается). Я вижу все номера идентификаторов в таблице, но когда он отображается на веб-странице, он отображает только последний номер идентификатора в таблице, но отображает все отчет правильно отображается. Я не знаю, почему.

Извините, что это трудно объяснить, я добавил имя пользователя и пароль вместе с сайтом и фрагмент кода, надеюсь, кто-то может увидеть то, что я не могу.

http://consolidatedgypsum.ca/cgs-new-site/admin/project-leads/index.php пользователь: Test1 пароль: test1234 попасть на страницу обновления вам необходимо нажать отчеты обновления.

это моя страница обновление:

<?php include("includes/session.php"); ?> 

<?php include("includes/reports_mysql_connect.php"); ?> 
<?php 

    $id = $_GET['id']; 

    if(!isset($id)){ 
     $x = mysql_query('SELECT id FROM Reports ORDER BY name') or die(mysql_error()); 
     while($row = mysql_fetch_array($x)){ 
      $id = $row['id']; 
     } 
    } 

    //step 3: user submits changes, updates DB to show new information 
    if(isset($_POST['submit'])){ 

     $new_sale = $_POST['sale']; 
     $new_questiontwo = $_POST['questiontwo']; 
     $new_questionthree = $_POST['questionthree']; 
     $new_questionfour = $_POST['questionfour']; 
     $new_questionfive = $_POST['questionfive']; 
     $new_questionsix = $_POST['questionsix']; 
     $new_questionseven = $_POST['questionseven']; 
     $new_questioneight = $_POST['questioneight']; 

     echo "$new_sale | $new_questiontwo" ; 

     mysql_query("UPDATE Reports SET 

      sale = '$new_sale', 
      questiontwo = '$new_questiontwo', 
      questionthree = '$new_questionthree', 
      questionfour = '$new_questionfour', 
      questionfive = '$new_questionfive', 
      questionsix = '$new_questionsix', 
      questionseven = '$new_questionseven', 
      questioneight = '$new_questioneight' 

      WHERE id = '$id' ") or die(mysql_error()); 
    } 


    //step 1: Retrieve data to create links 
    $result = mysql_query("SELECT * FROM Reports") or die(mysql_error()); 

    while($row = mysql_fetch_array($result)){ 
     $sale = $row['sale']; 
     $questiontwo = $row['questiontwo']; 
     $questionthree = $row['questionthree']; 
     $questionfour = $row['questionfour']; 
     $questionfive = $row['questionfive']; 
     $questionsix = $row['questionsix']; 
     $questionseven = $row['questionseven']; 
     $questioneight = $row['questioneight']; 

     //$id = $row['id']; 
     //echo $id; 

     echo "<div> $id <a href=\"updated-reports.php?id=$id\">$sale</a></div>"; 
    } 

    //Step 2: Retrieve Data for selected report only to prepopulated form. 

    $result = mysql_query("SELECT * FROM Reports WHERE id = '$id'") or die(mysql_error()); 
    while($row = mysql_fetch_array($result)){ 

     $thissale = $row['sale']; 
     $thisquestiontwo = $row['questiontwo']; 
     $thisquestionthree = $row['questionthree']; 
     $thisquestionfour = $row['questionfour']; 
     $thisquestionfive = $row['questionfive']; 
     $thisquestionsix = $row['questionsix']; 
     $thisquestionseven = $row['questionseven']; 
     $thisquestioneight = $row['questioneight']; 

     //$thisid = $row['id']; 
     //echo $id; 
    } 

?> 



<?php include("../includes/admin-leads-header.php") ?> 

<div class="container"> 
    <div class="sixteen columns"> 
     <section class="fifteen columns"> 
      <div class="general"> 
       <div class="project-leads"> 

        <?php 

         if($session->logged_in){ 
         if($session->isAdmin()){ 
         } 

         echo "<h3>Hello $session->username</h3>"; 
         echo "<h5>Please enter your sales leads reports</h5>"; 
        ?> 

        <div class="project-leads-reports"> 
         <form name="contactform" id="contactform" method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>"> 
          <ul> 
           <li> 
            <span class="required">*</span> 
            <label for="name">From: </label> 
            <input type="text" name="name" id="name" value="<?php echo $session->username?>" /> 
            <span class="error"></span> 
           </li> 
           <li> 
            <span class="required">*</span> 
            <label for="email">E-mail Address: </label> 
            <input type="text" name="email" id="email" value="<?php if($form->value("email") == ""){ 
              echo $session->userinfo['email']; 
             }else{ 
              echo $form->value("email"); 
             }?>" /> 
            <span class="error"></span> 
           </li> 
           <li> 
            <span class="required">*</span> 
            <label for="boss">Regional Sales Manager E-mail Address:</label> 
            <input type="text" name="boss" id="boss" value="<?php if($form->value("boss") == ""){ 
              echo $session->userinfo['boss']; 
             }else{ 
              echo $form->value("boss"); 
             }?>" /> 
            <span class="error"></span> 
           </li> 
           <li> 
            <span class="required">*</span> 
            <label for="Sales">Sales Lead Subject:</label> 
            <input type="text" name="sale" id="sale" value="<?php echo trim($thissale);?>" /> 
            <span class="error"></span> 
           </li> 
           <li> 
            <span class="required">*</span> 
            <label for="questiontwo">When did you followup with the General Contractor?</label> 
            <textarea name="questiontwo" id="questiontwo" ><?php echo trim($thisquestiontwo);?></textarea> 
            <span class="error"><?php echo $strValidationMessage2; ?></span> 
           </li> 
           <li> 
            <span class="required">*</span> 
            <label for="questionthree">Who is/are the contractors working under the General Contractor?</label> 
            <textarea name="questionthree" id="questionthree"><?php echo trim($thisquestionthree);?></textarea> 
            <span class="error"><?php echo $strValidationMessage3; ?></span> 
           </li> 
           <li> 
            <span class="required">*</span> 
            <label for="questionfour">Did the General Contractor have their own subcontractors, or did we refer our contractor customers to them?</label> 
            <textarea name="questionfour" id="questionfour"><?php echo trim($thisquestionfour);?></textarea> 
            <span class="error"><?php echo $strValidationMessage4; ?></span> 
           </li> 
           <li> 
            <span class="required">*</span> 
            <label for="questionfive">Can we or did we submit a price?</label> 
            <textarea name="questionfive" id="questionfive" ><?php echo trim($thisquestionfive);?></textarea> 
            <span class="error"><?php echo $strValidationMessage5; ?></span> 
           </li> 
           <li> 
            <span class="required">*</span> 
            <label for="questionsix">Did we win and why did we win or did we lose or why did we lose?</label> 
            <textarea name="questionsix" id="questionsix" ><?php echo trim($thisquestionsix);?></textarea> 
            <span class="error"><?php echo $strValidationMessage6; ?></span> 
           </li> 
           <li> 
            <span class="required">*</span> 
            <label for="questionseven">What is being done to progress any sales forward with this Project Lead?</label> 
            <textarea name="questionseven" id="questionseven" ><?php echo trim($thisquestionseven);?></textarea> 
            <span class="error"><?php echo $strValidationMessage7; ?></span> 
           </li> 
           <li> 
            <span class="required"></span> 
            <label for="questioneight">Did you know about this project before it was assigned and or any additional comments?</label> 
            <textarea name="questioneight" id="questioneight"><?php echo trim($thisquestioneight);?></textarea> 
            <span class="error"></span> 
           </li> 
           <li> 
            <input type="submit" name="submit" id="submit" value="Submit" /> 
           </li> 
          </ul> 
         </form> 
        </div><!--end of project lead reports --> 


       <?php }?> 



       </div><!--end of project-leads--> 
      </div><!--end of general--> 
     </section> 
    </div> 
</div> 


<?php include("../includes/admin_footer.php") ?> 

мой SQL DB Таблица:

Valid XHTML http://consolidatedgypsum.ca/cgs-new-site/admin/project-leads/68.178.136.47.png. Ссылка на изображение: http://consolidatedgypsum.ca/cgs-new-site/admin/project-leads/68.178.136.47.png

Изображение здесь не здорово посмотреть.

Также у меня есть второй вопрос, связанный с этим вопросом. Когда пользователь входит в систему, например, «Test1», есть ли способ показывать только те отчеты Test из базы данных?

Ниже приведены структуры таблиц для отчетов и пользователей соответственно.

Valid XHTML http://consolidatedgypsum.ca/cgs-new-site/admin/project-leads/users.png. http://consolidatedgypsum.ca/cgs-new-site/admin/project-leads/users.png

Valid XHTML http://consolidatedgypsum.ca/cgs-new-site/admin/project-leads/Reports.png. http://consolidatedgypsum.ca/cgs-new-site/admin/project-leads/Reports.png

спасибо заранее ... Я пытался понять это со вчерашнего дня.

ответ

2

В вашем цикле while, который выводит отчеты, $ id равен тому, где он установлен в верхней части страницы. Попробуйте следующее в цикле:

echo '<div>' . $row['id'] . '<a href="updated-reports.php?id=' . $row['id'] . '">' . $sale . '</a></div>'; 

Спасибо,

Эндрю

+0

Спасибо, что работали! Есть ли способ показать ссылки, чтобы регистрируемый пользователь видел только свои отчеты для таблицы db? – Lauren

+0

Эй. Есть ли столбец в таблице «Отчеты», относящийся к определенному пользователю (т. Е. User_id, email и т. Д.)? Если это так, вы можете изменить предложение WHERE в операторах SQL (т. Е. AND WHERE user_id = [идентификатор пользователя]). Если столбец не связан с конкретным пользователем, вам, вероятно, придется изменить структуру базы данных, чтобы включить ее. – versalle88

+0

Существует столбец, который называется «имя». Для этого была создана отдельная таблица со всеми пользователями. Я просто не знаю, как присоединиться к нему. Я попробовал добавить «имя» в мое предложение where, которое ничего не делал – Lauren

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