抱歉,我不知道如何描述我遇到的这个问题的标题。 :/我正在创建一个CRUD应用程序,我正处于更新阶段。它正在奇妙地更新数据库中的数据。
在更新数据库中的信息的过程中,我创建了链接以检索db表中的数据。我正在通过id调用列表(自动递增)我可以看到表中的所有id号,但是当它显示在网页上时,它只显示表中的最后一个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”时,有没有办法只显示数据库中的测试报告?
以下是Reports和用户的表结构。
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
提前感谢...自昨天以来我一直试图解决这个问题。答案 0 :(得分:2)
在输出报告的while循环中,$ id等于它在页面顶部设置的位置。在循环中尝试以下内容:
echo '<div>' . $row['id'] . '<a href="updated-reports.php?id=' . $row['id'] . '">' . $sale . '</a></div>';
谢谢,
安德鲁