EthanTs wrote:
while($row...(恕刪)

EthanTs大
謝謝
來試看看

要把整段PHP程式移到
<html>
這行下面, 才能看到 echo $numrow; 的結果

上網漫遊者 wrote:
要把整段PHP程式...(恕刪)



<!doctype html>
<html>

<?php
$db_db_name = "資料庫名子";
$db_host = "IP";
$db_id = "帳號";
$db_pw = "密碼";

$db_link = mysqli_connect($db_host,$db_id,$db_pw,$db_db_name);

mysqli_query($db_link,"SET NAMES 'UTF8'");
$sql_query = "SELECT `orderid`, `phone`, `name` FROM `orders` WHERE `finish`=0 ORDER BY `orderid` DESC";
$result = mysqli_query($db_link, $sql_query);

$numrow = mysqli_num_rows($result);
echo $numrow;

$i=0;
while($row_result[$i] = mysqli_fetch_array($result, MYSQL_ASSOC)){
$i++;
}

mysqli_close($db_link);

?>


<html>

<body>
<div data-role="content">
<ul data-role="listview" data-inset="true" id="listOrder" data-filter="true" data-filter-placeholder="輸入訂單號碼、電話或姓名">
 <?php for($i=0; $i<$numrow; $i++) { ?>
 <li><a href='showorder.php?order=<?php echo $row_result[$i]["orderid"]; ?>' data-ajax='false'>
 <?php echo $row_result[$i]["orderid"]; ?>  
 <?php echo $row_result[$i]["phone"]; ?>  
 <?php echo $row_result[$i]["name"]; ?>
 </a></li>
 <?php } ?>
</ul>
</div>
</body>

</html>



感謝你一再熱心的指導,
把PHP丟到HTML後還是一片空白,

我會繼續努力找資料修改的.
通常我會這樣輸出

echo "**" . $numrow . "**";

如果輸出結果是連續的 ****
表示 $numrow 是NULL, 表示前面資料庫的查詢都是無效的, 問題出在前面,
如果有跑出數字來, 那問題就是出在後面的程式.
妳怎麼有二個 <html>
拿掉一個 <html>
php程式改移到 <body> 後面一行開始
上網漫遊者 wrote:
通常我會這樣輸出echo...(恕刪)

上網漫遊者 wrote:
妳怎麼有二個 <html...(恕刪)



<div class="textBox">
<?php
$numrow = mysqli_num_rows($result);
echo "**" . $numrow . "**";
?>
</div>

照著你的建議後,
他的確跑出****,
但我是寫在新的div區塊裡,
如果寫在php程式裡就跑不出東西,不知道是因為什麼原因?
出現結果

謝謝你花這麼多時間在幫我看我的問題.
是整段PHP程式都要塞進DIV裡,
不是只有
$numrow = mysqli_num_rows($result);
echo "**" . $numrow . "**";
這二行
紫色雙魚 wrote:

<!doctype...(恕刪)



正常來說應該要會出現sql 撈出來的資料才對。


以下是小弟改用 pdo 寫的語法,供您參考,php 7.0 之後建議不要用 mysqli_XXX 的語法了,pdo 的連線對於 sql injection 是較好的解決方案。
以下的語法複製後記得把<1 取代成< ,否則顯示會異常。

<?php
$db_db_name = "資料庫名子";
$db_host = "IP";
$db_id = "帳號";
$db_pw = "密碼";

$link = 'mysql:host='.$db_host.';dbname='.$db_db_name;
$pdo = new PDO($link, $db_id, $db_pw);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); //防止 sql injection 的參數
$pdo->exec("SET NAMES 'utf8'");
$sql_query = "SELECT `orderid`, `phone`, `name` FROM `orders` WHERE `finish`=0 ORDER BY `orderid` DESC";
$st = $pdo->prepare($sql_query);
$st->execute();
$numrow=$st->rowCount(); //將sql回傳的結果總筆數放入 numrow 變數。
$result=$st->fetchAll(); //將sql回傳的結果全部放入 result 變數。
?>


<1html>
<1head>
<1meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<1/head>
<1body>
<1div data-role="content">
<?php echo $numrow; //顯示總筆數 ?>
<1ul data-role="listview" data-inset="true" id="listOrder" data-filter="true" data-filter-placeholder="輸入訂單號碼、電話或姓名">
<?php
foreach ($result as $val) { //將 sql 撈出來的全部資料從 result 變數中取出放到 val 變數中。
extract($val); //將 column 名稱直接變成變數,例如原本的寫法應該是 $val["orderid"] ,加了此行指令後就變成 $orderid
?>
 <1li><1a href='showorder.php?order=<?php echo $orderid; ?>' data-ajax='false'>
 <?php echo $orderid; ?>  
 <?php echo $phone; ?>  
 <?php echo $name; ?>
 <1/a><1/li>
<?php
}
$pdo=null; //相等於 mysql_close();
?>
<1/ul>
<1/div>
<1/body>
</html>

上網漫遊者 wrote:
是整段PHP程式都...(恕刪)



<heml>
<body>
<div>
<?php
$db_db_name = "資料庫名子";
$db_host = "IP";
$db_id = "帳號";
$db_pw = "密碼";

$db_link = mysqli_connect($db_host,$db_id,$db_pw,$db_db_name);

mysqli_query($db_link,"SET NAMES 'UTF8'");
$sql_query = "SELECT 'orderid', 'phone', 'name' FROM 'orders' WHERE 'finish'=0 ORDER BY 'orderid' DESC";

$result = mysqli_query($db_link, $sql_query);
$numrow = mysqli_num_rows($result);
echo "**" . $numrow . "**";

$i=0;
while($row_result[$i] = mysqli_fetch_array($result, MYSQL_ASSOC)){
$i++;
}
mysqli_close($db_link);
?>
</div>
<div data-role="content">
<ul data-role="listview" data-inset="true" id="listOrder" data-filter="true" data-filter-placeholder="輸入訂單號碼、電話或姓名">
<?php for($i=0; $i<$numrow; $i++) { ?>
<li><a href='showorder.php?order=<?php echo $row_result[$i]["orderid"]; ?>' data-ajax='false'>
<?php echo $row_result[$i]['orderid']; ?>  
<?php echo $row_result[$i]['phone']; ?>  
<?php echo $row_result[$i]['name']; ?>
</a></li>
<?php } ?>

</div>
</body>
</heml>


整段貼進去後出現了這些錯誤訊息...
Warning: mysqli_connect(): (HY000/1045): Access denied for user '資料庫名子'@'IP' (using password: YES) in D:\xampp\htdocs\mit\index.php on line 45

Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in D:\xampp\htdocs\mit\index.php on line 47

Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in D:\xampp\htdocs\mit\index.php on line 50

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in D:\xampp\htdocs\mit\index.php on line 51
****
Notice: Use of undefined constant MYSQL_ASSOC - assumed 'MYSQL_ASSOC' in D:\xampp\htdocs\mit\index.php on line 55

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in D:\xampp\htdocs\mit\index.php on line 55

Warning: mysqli_close() expects parameter 1 to be mysqli, boolean given in D:\xampp\htdocs\mit\index.php on line 58

謝謝你.
alwayssmileruten wrote:正常來說應該要會出...(恕刪)


有看到許多人說php7不要再用mysqli,
要改用pdo,但因為我沒學過pdo,所以還是想用mysqli...

那試過你的方式後,
還是出現下面的錯誤訊息...
Fatal error: Uncaught PDOException: SQLSTATE[HY000] [1045] Access denied for user '資料庫名子'@'IP' (using password: YES) in D:\xampp\htdocs\mit\index.php:8 Stack trace: #0 D:\xampp\htdocs\mit\index.php(8): PDO->__construct('mysql:host=IP', '帳號', '密碼') #1 {main} thrown in D:\xampp\htdocs\mit\index.php on line 8

謝謝網站與網頁技術版熱心的各位指導.


關閉廣告
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!