我在學習......我已閱讀了關於http://www.w3schools.com的教程,我瀏覽了www.php.net上的手冊,並且非常瞭解所有內容的工作原理。但是我對如何構建頁面感到困惑。什麼東西應該在同一頁面上放在一起,什麼應該有它自己的頁面,只是被包含/需要?組織文件的最佳方式是什麼?
我仍然需要閱讀的一件事是參數化,所以不要毆打我......。
以下是我有:
a.php只會這是用戶看到的頁面,當他們在www.mydomain.com/a.php
<html>
<body>
<?php require("b.php"); ?>
// this requires that the page gets b.php and puts it here
<p>Name: <?php echo $row['firstname']; ?></p>
<p>Last Name: <?php echo $row['lastname']; ?></p>
</body>
</html>
b.php本頁面鍵入在a.php只會隨附/必需的
<?php
require("../dbunamepword.php");
// this connects to my database
$query = ("SELECT * FROM contacts WHERE contacttype IN ('Buyer','Seller','Buyer/Seller','Investor') AND leadstatus = 'New' ORDER BY date DESC");
$result = $mysqli->query($query) or die ("Error: ".mysqli_error($mysqli));
while ($row = $result->fetch_array()) {
// this fetches the data I want from the table in my db while all cases match above
$firstname = $row ['firstname'];
$lastname = $row['lastname'];
// these are the rows in the table I want to fetch
echo "First Name: " . $firstname . " " .$lastname ."<br />";
// this is how I want the data presented
}
?>
這裏是我的問題,謝謝你在前進:
1)如何將用F強制我在建立這些網頁時受益,還是他們不會使我受益?
2)難道我不能在b.php上忽略echo
,只需調用下面的a.php中的行並輸入foreach
聲明?我實際上測試了這一點,並且不斷收到意外的$ end錯誤,所以我不確定這是不是一個好方法,或者如果我做錯了什麼?
<html>
<body>
<?php require("b.php"); ?>
// this requires that the page gets b.php and puts it here
<p>Name: <?php echo $firstname; ?></p>
<p>Last Name: <?php echo $lastname; ?></p>
</body>
</html>
3)比方說,我加入一些,如果像下面/ else語句,我應該把這些在b.php或把他們在自己的文件c.php然後放入b.php的包括哪些內容?
if(isset($_GET['leadstatus']) && $_GET['leadstatus'] == "All")
{
$query = "SELECT * FROM contacts WHERE contacttype IN ('Buyer','Seller','Buyer/Seller','Investor') ORDER BY contacts.date DESC";
}
elseif (in_array($_GET['leadstatus'], array('New', 'Hot', 'Warm', 'Cold', 'Rejected', 'Closed')))
{
$status = $_GET['leadstatus'];
$query = "SELECT * FROM contacts WHERE leadstatus = '".$status."' AND contacttype IN ('Buyer','Seller','Buyer/Seller','Investor') ORDER BY contacts.date DESC";
}
4)在我$query
我有SELECT * FROM contacts WHERE contacttype IN ('Buyer','Seller','Buyer/Seller','Investor')
而不是在每個if/else語句打字說出來或者可以說,我需要添加其他領域一樣,「承租人」,我可以這樣做:
$type = ('Buyer','Seller','Buyer/Seller','Investor')
$query = ("SELECT * FROM contacts WHERE contacttype = $type AND leadstatus = 'New' ORDER BY date DESC");
if (($_GET['date'] == 'today'))
{
$$query = "SELECT * FROM contacts WHERE contacttype = $type AND date = DATE(NOW()) ORDER BY date DESC";
}
if (($_GET['date'] == 'thisweek'))
{
$thisweek = date('Y-m-d', strtotime('last sunday'));
$query = "SELECT * FROM contacts WHERE contacttype = $type AND date BETWEEN '$thisweek' AND '$thisweek' + INTERVAL 7 DAY ORDER BY date DESC";
}
這不是一個合適的問題,目前的形式。從常見問題中,我引用:您的問題應該合理地限定範圍。如果你能想象整本書能夠回答你的問題,那你的要求太高了。 – gview
@馬里奧和@gview在哪裏建議我開始,因爲在w3schools.com和php.net的教程不達標? – Josh
一般來說,既然你問了,你的方法會很快轉入意大利麪。 PHP使事情發生變得非常容易,所以它不會打擊你的才能,但是具有任何基本能力和可維護性的Web應用程序都會採用MVC設計模式的一些變體。儘管將標記和邏輯混合在一起很簡單,但不應該這樣做。有一些非常簡單/新手友好的框架,比如CakePHP或Codeignitor,它們將爲您提供結構和MVC實現。我建議你看看這些項目。 – gview